lemboy-google-api-client 0.9.26

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 (555) hide show
  1. checksums.yaml +7 -0
  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 +27 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +309 -0
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +53 -0
  11. data/LICENSE +202 -0
  12. data/MIGRATING.md +171 -0
  13. data/README.md +327 -0
  14. data/Rakefile +2 -0
  15. data/api_names.yaml +36215 -0
  16. data/bin/generate-api +109 -0
  17. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +298 -0
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +122 -0
  20. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +458 -0
  21. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  22. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  23. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  24. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  25. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  26. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +3550 -0
  27. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1421 -0
  28. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1538 -0
  29. data/generated/google/apis/adexchangeseller_v2_0.rb +37 -0
  30. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  31. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +347 -0
  32. data/generated/google/apis/adexchangeseller_v2_0/service.rb +667 -0
  33. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  34. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  35. data/generated/google/apis/admin_datatransfer_v1/representations.rb +130 -0
  36. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  37. data/generated/google/apis/admin_directory_v1.rb +113 -0
  38. data/generated/google/apis/admin_directory_v1/classes.rb +3241 -0
  39. data/generated/google/apis/admin_directory_v1/representations.rb +1172 -0
  40. data/generated/google/apis/admin_directory_v1/service.rb +3857 -0
  41. data/generated/google/apis/admin_reports_v1.rb +38 -0
  42. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  43. data/generated/google/apis/admin_reports_v1/representations.rb +257 -0
  44. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  45. data/generated/google/apis/adsense_v1_4.rb +37 -0
  46. data/generated/google/apis/adsense_v1_4/classes.rb +1280 -0
  47. data/generated/google/apis/adsense_v1_4/representations.rb +555 -0
  48. data/generated/google/apis/adsense_v1_4/service.rb +1713 -0
  49. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  50. data/generated/google/apis/adsensehost_v4_1/classes.rb +836 -0
  51. data/generated/google/apis/adsensehost_v4_1/representations.rb +367 -0
  52. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  53. data/generated/google/apis/analytics_v3.rb +49 -0
  54. data/generated/google/apis/analytics_v3/classes.rb +5536 -0
  55. data/generated/google/apis/analytics_v3/representations.rb +1992 -0
  56. data/generated/google/apis/analytics_v3/service.rb +3785 -0
  57. data/generated/google/apis/analyticsreporting_v4.rb +37 -0
  58. data/generated/google/apis/analyticsreporting_v4/classes.rb +1420 -0
  59. data/generated/google/apis/analyticsreporting_v4/representations.rb +598 -0
  60. data/generated/google/apis/analyticsreporting_v4/service.rb +88 -0
  61. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  62. data/generated/google/apis/androidenterprise_v1/classes.rb +2250 -0
  63. data/generated/google/apis/androidenterprise_v1/representations.rb +970 -0
  64. data/generated/google/apis/androidenterprise_v1/service.rb +3267 -0
  65. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  66. data/generated/google/apis/androidpublisher_v2/classes.rb +1941 -0
  67. data/generated/google/apis/androidpublisher_v2/representations.rb +975 -0
  68. data/generated/google/apis/androidpublisher_v2/service.rb +2572 -0
  69. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  70. data/generated/google/apis/appengine_v1beta4/classes.rb +1585 -0
  71. data/generated/google/apis/appengine_v1beta4/representations.rb +542 -0
  72. data/generated/google/apis/appengine_v1beta4/service.rb +477 -0
  73. data/generated/google/apis/appengine_v1beta5.rb +40 -0
  74. data/generated/google/apis/appengine_v1beta5/classes.rb +1984 -0
  75. data/generated/google/apis/appengine_v1beta5/representations.rb +765 -0
  76. data/generated/google/apis/appengine_v1beta5/service.rb +864 -0
  77. data/generated/google/apis/appsactivity_v1.rb +46 -0
  78. data/generated/google/apis/appsactivity_v1/classes.rb +415 -0
  79. data/generated/google/apis/appsactivity_v1/representations.rb +209 -0
  80. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  81. data/generated/google/apis/appstate_v1.rb +34 -0
  82. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  83. data/generated/google/apis/appstate_v1/representations.rb +87 -0
  84. data/generated/google/apis/appstate_v1/service.rb +260 -0
  85. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  86. data/generated/google/apis/autoscaler_v1beta2/classes.rb +710 -0
  87. data/generated/google/apis/autoscaler_v1beta2/representations.rb +296 -0
  88. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  89. data/generated/google/apis/bigquery_v2.rb +52 -0
  90. data/generated/google/apis/bigquery_v2/classes.rb +3081 -0
  91. data/generated/google/apis/bigquery_v2/representations.rb +1094 -0
  92. data/generated/google/apis/bigquery_v2/service.rb +988 -0
  93. data/generated/google/apis/blogger_v3.rb +37 -0
  94. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  95. data/generated/google/apis/blogger_v3/representations.rb +632 -0
  96. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  97. data/generated/google/apis/books_v1.rb +34 -0
  98. data/generated/google/apis/books_v1/classes.rb +4160 -0
  99. data/generated/google/apis/books_v1/representations.rb +1799 -0
  100. data/generated/google/apis/books_v1/service.rb +2300 -0
  101. data/generated/google/apis/calendar_v3.rb +37 -0
  102. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  103. data/generated/google/apis/calendar_v3/representations.rb +631 -0
  104. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  105. data/generated/google/apis/civicinfo_v2.rb +32 -0
  106. data/generated/google/apis/civicinfo_v2/classes.rb +1499 -0
  107. data/generated/google/apis/civicinfo_v2/representations.rb +572 -0
  108. data/generated/google/apis/civicinfo_v2/service.rb +300 -0
  109. data/generated/google/apis/classroom_v1.rb +70 -0
  110. data/generated/google/apis/classroom_v1/classes.rb +1572 -0
  111. data/generated/google/apis/classroom_v1/representations.rb +729 -0
  112. data/generated/google/apis/classroom_v1/service.rb +1945 -0
  113. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  114. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  115. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  116. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  117. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  118. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  119. data/generated/google/apis/cloudbilling_v1/representations.rb +87 -0
  120. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  121. data/generated/google/apis/cloudbuild_v1.rb +34 -0
  122. data/generated/google/apis/cloudbuild_v1/classes.rb +919 -0
  123. data/generated/google/apis/cloudbuild_v1/representations.rb +364 -0
  124. data/generated/google/apis/cloudbuild_v1/service.rb +492 -0
  125. data/generated/google/apis/clouddebugger_v2.rb +38 -0
  126. data/generated/google/apis/clouddebugger_v2/classes.rb +1081 -0
  127. data/generated/google/apis/clouddebugger_v2/representations.rb +465 -0
  128. data/generated/google/apis/clouddebugger_v2/service.rb +396 -0
  129. data/generated/google/apis/cloudkms_v1beta1.rb +34 -0
  130. data/generated/google/apis/cloudkms_v1beta1/classes.rb +999 -0
  131. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  132. data/generated/google/apis/cloudkms_v1beta1/service.rb +932 -0
  133. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  134. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  135. data/generated/google/apis/cloudlatencytest_v2/representations.rb +127 -0
  136. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  137. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  138. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  139. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +353 -0
  140. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +38 -0
  142. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +886 -0
  143. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +359 -0
  144. data/generated/google/apis/cloudresourcemanager_v1/service.rb +686 -0
  145. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  146. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +682 -0
  147. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +312 -0
  148. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +710 -0
  149. data/generated/google/apis/cloudtrace_v1.rb +43 -0
  150. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  151. data/generated/google/apis/cloudtrace_v1/representations.rb +102 -0
  152. data/generated/google/apis/cloudtrace_v1/service.rb +192 -0
  153. data/generated/google/apis/clouduseraccounts_beta.rb +44 -0
  154. data/generated/google/apis/clouduseraccounts_beta/classes.rb +845 -0
  155. data/generated/google/apis/clouduseraccounts_beta/representations.rb +352 -0
  156. data/generated/google/apis/clouduseraccounts_beta/service.rb +907 -0
  157. data/generated/google/apis/compute_beta.rb +49 -0
  158. data/generated/google/apis/compute_beta/classes.rb +12261 -0
  159. data/generated/google/apis/compute_beta/representations.rb +4615 -0
  160. data/generated/google/apis/compute_beta/service.rb +15330 -0
  161. data/generated/google/apis/compute_v1.rb +49 -0
  162. data/generated/google/apis/compute_v1/classes.rb +11179 -0
  163. data/generated/google/apis/compute_v1/representations.rb +4203 -0
  164. data/generated/google/apis/compute_v1/service.rb +12937 -0
  165. data/generated/google/apis/container_v1.rb +35 -0
  166. data/generated/google/apis/container_v1/classes.rb +1040 -0
  167. data/generated/google/apis/container_v1/representations.rb +415 -0
  168. data/generated/google/apis/container_v1/service.rb +659 -0
  169. data/generated/google/apis/container_v1beta1.rb +35 -0
  170. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  171. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  172. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  173. data/generated/google/apis/content_v2.rb +35 -0
  174. data/generated/google/apis/content_v2/classes.rb +6887 -0
  175. data/generated/google/apis/content_v2/representations.rb +2963 -0
  176. data/generated/google/apis/content_v2/service.rb +2653 -0
  177. data/generated/google/apis/coordinate_v1.rb +37 -0
  178. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  179. data/generated/google/apis/coordinate_v1/representations.rb +321 -0
  180. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  181. data/generated/google/apis/customsearch_v1.rb +31 -0
  182. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  183. data/generated/google/apis/customsearch_v1/representations.rb +302 -0
  184. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  185. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  186. data/generated/google/apis/dataflow_v1b3/classes.rb +4225 -0
  187. data/generated/google/apis/dataflow_v1b3/representations.rb +1809 -0
  188. data/generated/google/apis/dataflow_v1b3/service.rb +874 -0
  189. data/generated/google/apis/dataproc_v1.rb +34 -0
  190. data/generated/google/apis/dataproc_v1/classes.rb +1716 -0
  191. data/generated/google/apis/dataproc_v1/representations.rb +678 -0
  192. data/generated/google/apis/dataproc_v1/service.rb +670 -0
  193. data/generated/google/apis/datastore_v1.rb +38 -0
  194. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  195. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  196. data/generated/google/apis/datastore_v1/service.rb +259 -0
  197. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  198. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  199. data/generated/google/apis/datastore_v1beta2/representations.rb +594 -0
  200. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  201. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  202. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  203. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  204. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  205. data/generated/google/apis/deploymentmanager_v2.rb +43 -0
  206. data/generated/google/apis/deploymentmanager_v2/classes.rb +1582 -0
  207. data/generated/google/apis/deploymentmanager_v2/representations.rb +686 -0
  208. data/generated/google/apis/deploymentmanager_v2/service.rb +1026 -0
  209. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  210. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  211. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  212. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  213. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  214. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  215. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  216. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  217. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  218. data/generated/google/apis/dfareporting_v2_3/classes.rb +10839 -0
  219. data/generated/google/apis/dfareporting_v2_3/representations.rb +3829 -0
  220. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  221. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  222. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  223. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  224. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  225. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  226. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  227. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  228. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  229. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  230. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  231. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  232. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  233. data/generated/google/apis/discovery_v1.rb +32 -0
  234. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  235. data/generated/google/apis/discovery_v1/representations.rb +397 -0
  236. data/generated/google/apis/discovery_v1/service.rb +142 -0
  237. data/generated/google/apis/dns_v1.rb +43 -0
  238. data/generated/google/apis/dns_v1/classes.rb +406 -0
  239. data/generated/google/apis/dns_v1/representations.rb +167 -0
  240. data/generated/google/apis/dns_v1/service.rb +453 -0
  241. data/generated/google/apis/dns_v2beta1.rb +43 -0
  242. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  243. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  244. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  245. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  246. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +795 -0
  247. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +368 -0
  248. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +376 -0
  249. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  250. data/generated/google/apis/doubleclicksearch_v2/classes.rb +960 -0
  251. data/generated/google/apis/doubleclicksearch_v2/representations.rb +350 -0
  252. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  253. data/generated/google/apis/drive_v2.rb +59 -0
  254. data/generated/google/apis/drive_v2/classes.rb +2633 -0
  255. data/generated/google/apis/drive_v2/representations.rb +885 -0
  256. data/generated/google/apis/drive_v2/service.rb +2754 -0
  257. data/generated/google/apis/drive_v3.rb +56 -0
  258. data/generated/google/apis/drive_v3/classes.rb +1611 -0
  259. data/generated/google/apis/drive_v3/representations.rb +555 -0
  260. data/generated/google/apis/drive_v3/service.rb +1553 -0
  261. data/generated/google/apis/fitness_v1.rb +85 -0
  262. data/generated/google/apis/fitness_v1/classes.rb +943 -0
  263. data/generated/google/apis/fitness_v1/representations.rb +380 -0
  264. data/generated/google/apis/fitness_v1/service.rb +674 -0
  265. data/generated/google/apis/fusiontables_v2.rb +37 -0
  266. data/generated/google/apis/fusiontables_v2/classes.rb +1049 -0
  267. data/generated/google/apis/fusiontables_v2/representations.rb +457 -0
  268. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  269. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  270. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  271. data/generated/google/apis/games_configuration_v1configuration/representations.rb +228 -0
  272. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  273. data/generated/google/apis/games_management_v1management.rb +37 -0
  274. data/generated/google/apis/games_management_v1management/classes.rb +567 -0
  275. data/generated/google/apis/games_management_v1management/representations.rb +278 -0
  276. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  277. data/generated/google/apis/games_v1.rb +40 -0
  278. data/generated/google/apis/games_v1/classes.rb +4667 -0
  279. data/generated/google/apis/games_v1/representations.rb +1800 -0
  280. data/generated/google/apis/games_v1/service.rb +2449 -0
  281. data/generated/google/apis/gan_v1beta1.rb +31 -0
  282. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  283. data/generated/google/apis/gan_v1beta1/representations.rb +462 -0
  284. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  285. data/generated/google/apis/genomics_v1.rb +46 -0
  286. data/generated/google/apis/genomics_v1/classes.rb +3477 -0
  287. data/generated/google/apis/genomics_v1/representations.rb +1284 -0
  288. data/generated/google/apis/genomics_v1/service.rb +2207 -0
  289. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  290. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  291. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  292. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  293. data/generated/google/apis/gmail_v1.rb +61 -0
  294. data/generated/google/apis/gmail_v1/classes.rb +1382 -0
  295. data/generated/google/apis/gmail_v1/representations.rb +624 -0
  296. data/generated/google/apis/gmail_v1/service.rb +2447 -0
  297. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  298. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  299. data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
  300. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  301. data/generated/google/apis/groupssettings_v1.rb +34 -0
  302. data/generated/google/apis/groupssettings_v1/classes.rb +240 -0
  303. data/generated/google/apis/groupssettings_v1/representations.rb +69 -0
  304. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  305. data/generated/google/apis/iam_v1.rb +36 -0
  306. data/generated/google/apis/iam_v1/classes.rb +640 -0
  307. data/generated/google/apis/iam_v1/representations.rb +316 -0
  308. data/generated/google/apis/iam_v1/service.rb +554 -0
  309. data/generated/google/apis/identitytoolkit_v3.rb +37 -0
  310. data/generated/google/apis/identitytoolkit_v3/classes.rb +2182 -0
  311. data/generated/google/apis/identitytoolkit_v3/representations.rb +742 -0
  312. data/generated/google/apis/identitytoolkit_v3/service.rb +657 -0
  313. data/generated/google/apis/kgsearch_v1.rb +31 -0
  314. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  315. data/generated/google/apis/kgsearch_v1/representations.rb +41 -0
  316. data/generated/google/apis/kgsearch_v1/service.rb +113 -0
  317. data/generated/google/apis/language_v1beta1.rb +36 -0
  318. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  319. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  320. data/generated/google/apis/language_v1beta1/service.rb +184 -0
  321. data/generated/google/apis/licensing_v1.rb +34 -0
  322. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  323. data/generated/google/apis/licensing_v1/representations.rb +74 -0
  324. data/generated/google/apis/licensing_v1/service.rb +369 -0
  325. data/generated/google/apis/logging_v1beta3.rb +47 -0
  326. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  327. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  328. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  329. data/generated/google/apis/logging_v2beta1.rb +46 -0
  330. data/generated/google/apis/logging_v2beta1/classes.rb +1254 -0
  331. data/generated/google/apis/logging_v2beta1/representations.rb +421 -0
  332. data/generated/google/apis/logging_v2beta1/service.rb +788 -0
  333. data/generated/google/apis/manager_v1beta2.rb +53 -0
  334. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  335. data/generated/google/apis/manager_v1beta2/representations.rb +606 -0
  336. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  337. data/generated/google/apis/manufacturers_v1.rb +34 -0
  338. data/generated/google/apis/manufacturers_v1/classes.rb +258 -0
  339. data/generated/google/apis/manufacturers_v1/representations.rb +103 -0
  340. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  341. data/generated/google/apis/mirror_v1.rb +37 -0
  342. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  343. data/generated/google/apis/mirror_v1/representations.rb +390 -0
  344. data/generated/google/apis/mirror_v1/service.rb +977 -0
  345. data/generated/google/apis/monitoring_v3.rb +45 -0
  346. data/generated/google/apis/monitoring_v3/classes.rb +1335 -0
  347. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  348. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  349. data/generated/google/apis/mybusiness_v3.rb +32 -0
  350. data/generated/google/apis/mybusiness_v3/classes.rb +1864 -0
  351. data/generated/google/apis/mybusiness_v3/representations.rb +741 -0
  352. data/generated/google/apis/mybusiness_v3/service.rb +960 -0
  353. data/generated/google/apis/oauth2_v2.rb +43 -0
  354. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  355. data/generated/google/apis/oauth2_v2/representations.rb +102 -0
  356. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  357. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  358. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  359. data/generated/google/apis/pagespeedonline_v2/representations.rb +272 -0
  360. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  361. data/generated/google/apis/partners_v2.rb +32 -0
  362. data/generated/google/apis/partners_v2/classes.rb +942 -0
  363. data/generated/google/apis/partners_v2/representations.rb +454 -0
  364. data/generated/google/apis/partners_v2/service.rb +400 -0
  365. data/generated/google/apis/people_v1.rb +59 -0
  366. data/generated/google/apis/people_v1/classes.rb +1521 -0
  367. data/generated/google/apis/people_v1/representations.rb +663 -0
  368. data/generated/google/apis/people_v1/service.rb +189 -0
  369. data/generated/google/apis/plus_domains_v1.rb +61 -0
  370. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  371. data/generated/google/apis/plus_domains_v1/representations.rb +1111 -0
  372. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  373. data/generated/google/apis/plus_v1.rb +43 -0
  374. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  375. data/generated/google/apis/plus_v1/representations.rb +907 -0
  376. data/generated/google/apis/plus_v1/service.rb +470 -0
  377. data/generated/google/apis/prediction_v1_6.rb +47 -0
  378. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  379. data/generated/google/apis/prediction_v1_6/representations.rb +369 -0
  380. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  381. data/generated/google/apis/proximitybeacon_v1beta1.rb +34 -0
  382. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +786 -0
  383. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +347 -0
  384. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +806 -0
  385. data/generated/google/apis/pubsub_v1.rb +37 -0
  386. data/generated/google/apis/pubsub_v1/classes.rb +676 -0
  387. data/generated/google/apis/pubsub_v1/representations.rb +323 -0
  388. data/generated/google/apis/pubsub_v1/service.rb +900 -0
  389. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  390. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  391. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  392. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  393. data/generated/google/apis/qpx_express_v1.rb +31 -0
  394. data/generated/google/apis/qpx_express_v1/classes.rb +1274 -0
  395. data/generated/google/apis/qpx_express_v1/representations.rb +473 -0
  396. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  397. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  398. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  399. data/generated/google/apis/replicapool_v1beta2/representations.rb +264 -0
  400. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  401. data/generated/google/apis/replicapoolupdater_v1beta1.rb +45 -0
  402. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  403. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +294 -0
  404. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +509 -0
  405. data/generated/google/apis/reseller_v1.rb +37 -0
  406. data/generated/google/apis/reseller_v1/classes.rb +540 -0
  407. data/generated/google/apis/reseller_v1/representations.rb +225 -0
  408. data/generated/google/apis/reseller_v1/service.rb +623 -0
  409. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  410. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  411. data/generated/google/apis/resourceviews_v1beta2/representations.rb +301 -0
  412. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  413. data/generated/google/apis/script_v1.rb +64 -0
  414. data/generated/google/apis/script_v1/classes.rb +265 -0
  415. data/generated/google/apis/script_v1/representations.rb +119 -0
  416. data/generated/google/apis/script_v1/service.rb +98 -0
  417. data/generated/google/apis/sheets_v4.rb +43 -0
  418. data/generated/google/apis/sheets_v4/classes.rb +6368 -0
  419. data/generated/google/apis/sheets_v4/representations.rb +2289 -0
  420. data/generated/google/apis/sheets_v4/service.rb +569 -0
  421. data/generated/google/apis/site_verification_v1.rb +37 -0
  422. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  423. data/generated/google/apis/site_verification_v1/representations.rb +113 -0
  424. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  425. data/generated/google/apis/slides_v1.rb +49 -0
  426. data/generated/google/apis/slides_v1/classes.rb +4044 -0
  427. data/generated/google/apis/slides_v1/representations.rb +1765 -0
  428. data/generated/google/apis/slides_v1/service.rb +202 -0
  429. data/generated/google/apis/speech_v1beta1.rb +34 -0
  430. data/generated/google/apis/speech_v1beta1/classes.rb +513 -0
  431. data/generated/google/apis/speech_v1beta1/representations.rb +218 -0
  432. data/generated/google/apis/speech_v1beta1/service.rb +273 -0
  433. data/generated/google/apis/sqladmin_v1beta4.rb +38 -0
  434. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2142 -0
  435. data/generated/google/apis/sqladmin_v1beta4/representations.rb +893 -0
  436. data/generated/google/apis/sqladmin_v1beta4/service.rb +1709 -0
  437. data/generated/google/apis/storage_v1.rb +46 -0
  438. data/generated/google/apis/storage_v1/classes.rb +1255 -0
  439. data/generated/google/apis/storage_v1/representations.rb +502 -0
  440. data/generated/google/apis/storage_v1/service.rb +1906 -0
  441. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  442. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  443. data/generated/google/apis/storagetransfer_v1/representations.rb +418 -0
  444. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  445. data/generated/google/apis/tagmanager_v1.rb +52 -0
  446. data/generated/google/apis/tagmanager_v1/classes.rb +1494 -0
  447. data/generated/google/apis/tagmanager_v1/representations.rb +611 -0
  448. data/generated/google/apis/tagmanager_v1/service.rb +2119 -0
  449. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  450. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  451. data/generated/google/apis/taskqueue_v1beta2/representations.rb +126 -0
  452. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  453. data/generated/google/apis/tasks_v1.rb +37 -0
  454. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  455. data/generated/google/apis/tasks_v1/representations.rb +125 -0
  456. data/generated/google/apis/tasks_v1/service.rb +643 -0
  457. data/generated/google/apis/translate_v2.rb +31 -0
  458. data/generated/google/apis/translate_v2/classes.rb +168 -0
  459. data/generated/google/apis/translate_v2/representations.rb +121 -0
  460. data/generated/google/apis/translate_v2/service.rb +182 -0
  461. data/generated/google/apis/urlshortener_v1.rb +34 -0
  462. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  463. data/generated/google/apis/urlshortener_v1/representations.rb +121 -0
  464. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  465. data/generated/google/apis/vision_v1.rb +36 -0
  466. data/generated/google/apis/vision_v1/classes.rb +1267 -0
  467. data/generated/google/apis/vision_v1/representations.rb +418 -0
  468. data/generated/google/apis/vision_v1/service.rb +90 -0
  469. data/generated/google/apis/webmasters_v3.rb +37 -0
  470. data/generated/google/apis/webmasters_v3/classes.rb +570 -0
  471. data/generated/google/apis/webmasters_v3/representations.rb +283 -0
  472. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  473. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  474. data/generated/google/apis/youtube_analytics_v1/classes.rb +337 -0
  475. data/generated/google/apis/youtube_analytics_v1/representations.rb +174 -0
  476. data/generated/google/apis/youtube_analytics_v1/service.rb +486 -0
  477. data/generated/google/apis/youtube_partner_v1.rb +37 -0
  478. data/generated/google/apis/youtube_partner_v1/classes.rb +3854 -0
  479. data/generated/google/apis/youtube_partner_v1/representations.rb +1537 -0
  480. data/generated/google/apis/youtube_partner_v1/service.rb +3269 -0
  481. data/generated/google/apis/youtube_v3.rb +50 -0
  482. data/generated/google/apis/youtube_v3/classes.rb +8375 -0
  483. data/generated/google/apis/youtube_v3/representations.rb +3273 -0
  484. data/generated/google/apis/youtube_v3/service.rb +4440 -0
  485. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  486. data/generated/google/apis/youtubereporting_v1/classes.rb +302 -0
  487. data/generated/google/apis/youtubereporting_v1/representations.rb +149 -0
  488. data/generated/google/apis/youtubereporting_v1/service.rb +385 -0
  489. data/google-api-client.gemspec +33 -0
  490. data/lib/cacerts.pem +2183 -0
  491. data/lib/google/api_client/auth/installed_app.rb +128 -0
  492. data/lib/google/api_client/auth/key_utils.rb +94 -0
  493. data/lib/google/api_client/auth/storage.rb +104 -0
  494. data/lib/google/api_client/auth/storages/file_store.rb +57 -0
  495. data/lib/google/api_client/auth/storages/redis_store.rb +59 -0
  496. data/lib/google/api_client/client_secrets.rb +177 -0
  497. data/lib/google/apis.rb +58 -0
  498. data/lib/google/apis/core/api_command.rb +146 -0
  499. data/lib/google/apis/core/base_service.rb +401 -0
  500. data/lib/google/apis/core/batch.rb +239 -0
  501. data/lib/google/apis/core/download.rb +108 -0
  502. data/lib/google/apis/core/hashable.rb +44 -0
  503. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  504. data/lib/google/apis/core/http_command.rb +332 -0
  505. data/lib/google/apis/core/json_representation.rb +145 -0
  506. data/lib/google/apis/core/logging.rb +30 -0
  507. data/lib/google/apis/core/multipart.rb +187 -0
  508. data/lib/google/apis/core/upload.rb +295 -0
  509. data/lib/google/apis/errors.rb +80 -0
  510. data/lib/google/apis/generator.rb +70 -0
  511. data/lib/google/apis/generator/annotator.rb +301 -0
  512. data/lib/google/apis/generator/helpers.rb +74 -0
  513. data/lib/google/apis/generator/model.rb +143 -0
  514. data/lib/google/apis/generator/template.rb +124 -0
  515. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  516. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  517. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  518. data/lib/google/apis/generator/templates/_representation_stub.tmpl +17 -0
  519. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  520. data/lib/google/apis/generator/templates/classes.rb.tmpl +29 -0
  521. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  522. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  523. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  524. data/lib/google/apis/options.rb +85 -0
  525. data/lib/google/apis/version.rb +39 -0
  526. data/rakelib/metrics.rake +22 -0
  527. data/rakelib/rubocop.rake +10 -0
  528. data/rakelib/spec.rake +11 -0
  529. data/rakelib/yard.rake +11 -0
  530. data/samples/cli/.env +4 -0
  531. data/samples/cli/Gemfile +7 -0
  532. data/samples/cli/README.md +51 -0
  533. data/samples/cli/google-api-samples +32 -0
  534. data/samples/cli/lib/base_cli.rb +95 -0
  535. data/samples/cli/lib/samples/analytics.rb +62 -0
  536. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  537. data/samples/cli/lib/samples/bigquery.rb +101 -0
  538. data/samples/cli/lib/samples/calendar.rb +83 -0
  539. data/samples/cli/lib/samples/drive.rb +82 -0
  540. data/samples/cli/lib/samples/gmail.rb +124 -0
  541. data/samples/cli/lib/samples/pubsub.rb +114 -0
  542. data/samples/cli/lib/samples/sheets.rb +61 -0
  543. data/samples/cli/lib/samples/translate.rb +44 -0
  544. data/samples/cli/lib/samples/you_tube.rb +44 -0
  545. data/samples/web/.env +2 -0
  546. data/samples/web/Gemfile +7 -0
  547. data/samples/web/README.md +44 -0
  548. data/samples/web/app.rb +120 -0
  549. data/samples/web/views/calendar.erb +34 -0
  550. data/samples/web/views/drive.erb +33 -0
  551. data/samples/web/views/home.erb +34 -0
  552. data/samples/web/views/layout.erb +40 -0
  553. data/sync.rb +71 -0
  554. data/third_party/hurley_patches.rb +103 -0
  555. metadata +735 -0
@@ -0,0 +1,37 @@
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/analyticsreporting_v4/service.rb'
16
+ require 'google/apis/analyticsreporting_v4/classes.rb'
17
+ require 'google/apis/analyticsreporting_v4/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Analytics Reporting API
22
+ #
23
+ # Accesses Analytics report data.
24
+ #
25
+ # @see https://developers.google.com/analytics/devguides/reporting/core/v4/
26
+ module AnalyticsreportingV4
27
+ VERSION = 'V4'
28
+ REVISION = '20161129'
29
+
30
+ # View your Google Analytics data
31
+ AUTH_ANALYTICS_READONLY = 'https://www.googleapis.com/auth/analytics.readonly'
32
+
33
+ # View and manage your Google Analytics data
34
+ AUTH_ANALYTICS = 'https://www.googleapis.com/auth/analytics'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,1420 @@
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 AnalyticsreportingV4
24
+
25
+ # The headers for each of the pivot sections defined in the request.
26
+ class PivotHeader
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The total number of groups for this pivot.
30
+ # Corresponds to the JSON property `totalPivotGroupsCount`
31
+ # @return [Fixnum]
32
+ attr_accessor :total_pivot_groups_count
33
+
34
+ # A single pivot section header.
35
+ # Corresponds to the JSON property `pivotHeaderEntries`
36
+ # @return [Array<Google::Apis::AnalyticsreportingV4::PivotHeaderEntry>]
37
+ attr_accessor :pivot_header_entries
38
+
39
+ def initialize(**args)
40
+ update!(**args)
41
+ end
42
+
43
+ # Update properties of this object
44
+ def update!(**args)
45
+ @total_pivot_groups_count = args[:total_pivot_groups_count] if args.key?(:total_pivot_groups_count)
46
+ @pivot_header_entries = args[:pivot_header_entries] if args.key?(:pivot_header_entries)
47
+ end
48
+ end
49
+
50
+ # [Metrics](https://support.google.com/analytics/answer/1033861)
51
+ # are the quantitative measurements. For example, the metric `ga:users`
52
+ # indicates the total number of users for the requested time period.
53
+ class Metric
54
+ include Google::Apis::Core::Hashable
55
+
56
+ # An alias for the metric expression is an alternate name for the
57
+ # expression. The alias can be used for filtering and sorting. This field
58
+ # is optional and is useful if the expression is not a single metric but
59
+ # a complex expression which cannot be used in filtering and sorting.
60
+ # The alias is also used in the response column header.
61
+ # Corresponds to the JSON property `alias`
62
+ # @return [String]
63
+ attr_accessor :alias
64
+
65
+ # Specifies how the metric expression should be formatted, for example
66
+ # `INTEGER`.
67
+ # Corresponds to the JSON property `formattingType`
68
+ # @return [String]
69
+ attr_accessor :formatting_type
70
+
71
+ # A metric expression in the request. An expression is constructed from one
72
+ # or more metrics and numbers. Accepted operators include: Plus (+), Minus
73
+ # (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
74
+ # Positive cardinal numbers (0-9), can include decimals and is limited to
75
+ # 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
76
+ # metric expression is just a single metric name like `ga:users`.
77
+ # Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
78
+ # will result in unexpected results.
79
+ # Corresponds to the JSON property `expression`
80
+ # @return [String]
81
+ attr_accessor :expression
82
+
83
+ def initialize(**args)
84
+ update!(**args)
85
+ end
86
+
87
+ # Update properties of this object
88
+ def update!(**args)
89
+ @alias = args[:alias] if args.key?(:alias)
90
+ @formatting_type = args[:formatting_type] if args.key?(:formatting_type)
91
+ @expression = args[:expression] if args.key?(:expression)
92
+ end
93
+ end
94
+
95
+ # Column headers.
96
+ class ColumnHeader
97
+ include Google::Apis::Core::Hashable
98
+
99
+ # The dimension names in the response.
100
+ # Corresponds to the JSON property `dimensions`
101
+ # @return [Array<String>]
102
+ attr_accessor :dimensions
103
+
104
+ # The headers for the metrics.
105
+ # Corresponds to the JSON property `metricHeader`
106
+ # @return [Google::Apis::AnalyticsreportingV4::MetricHeader]
107
+ attr_accessor :metric_header
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
116
+ @metric_header = args[:metric_header] if args.key?(:metric_header)
117
+ end
118
+ end
119
+
120
+ # Dynamic segment definition for defining the segment within the request.
121
+ # A segment can select users, sessions or both.
122
+ class DynamicSegment
123
+ include Google::Apis::Core::Hashable
124
+
125
+ # SegmentDefinition defines the segment to be a set of SegmentFilters which
126
+ # are combined together with a logical `AND` operation.
127
+ # Corresponds to the JSON property `sessionSegment`
128
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentDefinition]
129
+ attr_accessor :session_segment
130
+
131
+ # The name of the dynamic segment.
132
+ # Corresponds to the JSON property `name`
133
+ # @return [String]
134
+ attr_accessor :name
135
+
136
+ # SegmentDefinition defines the segment to be a set of SegmentFilters which
137
+ # are combined together with a logical `AND` operation.
138
+ # Corresponds to the JSON property `userSegment`
139
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentDefinition]
140
+ attr_accessor :user_segment
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @session_segment = args[:session_segment] if args.key?(:session_segment)
149
+ @name = args[:name] if args.key?(:name)
150
+ @user_segment = args[:user_segment] if args.key?(:user_segment)
151
+ end
152
+ end
153
+
154
+ # The headers for the metrics.
155
+ class MetricHeader
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # Headers for the metrics in the response.
159
+ # Corresponds to the JSON property `metricHeaderEntries`
160
+ # @return [Array<Google::Apis::AnalyticsreportingV4::MetricHeaderEntry>]
161
+ attr_accessor :metric_header_entries
162
+
163
+ # Headers for the pivots in the response.
164
+ # Corresponds to the JSON property `pivotHeaders`
165
+ # @return [Array<Google::Apis::AnalyticsreportingV4::PivotHeader>]
166
+ attr_accessor :pivot_headers
167
+
168
+ def initialize(**args)
169
+ update!(**args)
170
+ end
171
+
172
+ # Update properties of this object
173
+ def update!(**args)
174
+ @metric_header_entries = args[:metric_header_entries] if args.key?(:metric_header_entries)
175
+ @pivot_headers = args[:pivot_headers] if args.key?(:pivot_headers)
176
+ end
177
+ end
178
+
179
+ # The data response corresponding to the request.
180
+ class Report
181
+ include Google::Apis::Core::Hashable
182
+
183
+ # Column headers.
184
+ # Corresponds to the JSON property `columnHeader`
185
+ # @return [Google::Apis::AnalyticsreportingV4::ColumnHeader]
186
+ attr_accessor :column_header
187
+
188
+ # The data part of the report.
189
+ # Corresponds to the JSON property `data`
190
+ # @return [Google::Apis::AnalyticsreportingV4::ReportData]
191
+ attr_accessor :data
192
+
193
+ # Page token to retrieve the next page of results in the list.
194
+ # Corresponds to the JSON property `nextPageToken`
195
+ # @return [String]
196
+ attr_accessor :next_page_token
197
+
198
+ def initialize(**args)
199
+ update!(**args)
200
+ end
201
+
202
+ # Update properties of this object
203
+ def update!(**args)
204
+ @column_header = args[:column_header] if args.key?(:column_header)
205
+ @data = args[:data] if args.key?(:data)
206
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
207
+ end
208
+ end
209
+
210
+ # Filter Clause to be used in a segment definition, can be wither a metric or
211
+ # a dimension filter.
212
+ class SegmentFilterClause
213
+ include Google::Apis::Core::Hashable
214
+
215
+ # Dimension filter specifies the filtering options on a dimension.
216
+ # Corresponds to the JSON property `dimensionFilter`
217
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentDimensionFilter]
218
+ attr_accessor :dimension_filter
219
+
220
+ # Metric filter to be used in a segment filter clause.
221
+ # Corresponds to the JSON property `metricFilter`
222
+ # @return [Google::Apis::AnalyticsreportingV4::SegmentMetricFilter]
223
+ attr_accessor :metric_filter
224
+
225
+ # Matches the complement (`!`) of the filter.
226
+ # Corresponds to the JSON property `not`
227
+ # @return [Boolean]
228
+ attr_accessor :not
229
+ alias_method :not?, :not
230
+
231
+ def initialize(**args)
232
+ update!(**args)
233
+ end
234
+
235
+ # Update properties of this object
236
+ def update!(**args)
237
+ @dimension_filter = args[:dimension_filter] if args.key?(:dimension_filter)
238
+ @metric_filter = args[:metric_filter] if args.key?(:metric_filter)
239
+ @not = args[:not] if args.key?(:not)
240
+ end
241
+ end
242
+
243
+ # Dimension filter specifies the filtering options on a dimension.
244
+ class DimensionFilter
245
+ include Google::Apis::Core::Hashable
246
+
247
+ # The dimension to filter on. A DimensionFilter must contain a dimension.
248
+ # Corresponds to the JSON property `dimensionName`
249
+ # @return [String]
250
+ attr_accessor :dimension_name
251
+
252
+ # How to match the dimension to the expression. The default is REGEXP.
253
+ # Corresponds to the JSON property `operator`
254
+ # @return [String]
255
+ attr_accessor :operator
256
+
257
+ # Should the match be case sensitive? Default is false.
258
+ # Corresponds to the JSON property `caseSensitive`
259
+ # @return [Boolean]
260
+ attr_accessor :case_sensitive
261
+ alias_method :case_sensitive?, :case_sensitive
262
+
263
+ # Strings or regular expression to match against. Only the first value of
264
+ # the list is used for comparison unless the operator is `IN_LIST`.
265
+ # If `IN_LIST` operator, then the entire list is used to filter the
266
+ # dimensions as explained in the description of the `IN_LIST` operator.
267
+ # Corresponds to the JSON property `expressions`
268
+ # @return [Array<String>]
269
+ attr_accessor :expressions
270
+
271
+ # Logical `NOT` operator. If this boolean is set to true, then the matching
272
+ # dimension values will be excluded in the report. The default is false.
273
+ # Corresponds to the JSON property `not`
274
+ # @return [Boolean]
275
+ attr_accessor :not
276
+ alias_method :not?, :not
277
+
278
+ def initialize(**args)
279
+ update!(**args)
280
+ end
281
+
282
+ # Update properties of this object
283
+ def update!(**args)
284
+ @dimension_name = args[:dimension_name] if args.key?(:dimension_name)
285
+ @operator = args[:operator] if args.key?(:operator)
286
+ @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
287
+ @expressions = args[:expressions] if args.key?(:expressions)
288
+ @not = args[:not] if args.key?(:not)
289
+ end
290
+ end
291
+
292
+ # Dimension filter specifies the filtering options on a dimension.
293
+ class SegmentDimensionFilter
294
+ include Google::Apis::Core::Hashable
295
+
296
+ # Maximum comparison values for `BETWEEN` match type.
297
+ # Corresponds to the JSON property `maxComparisonValue`
298
+ # @return [String]
299
+ attr_accessor :max_comparison_value
300
+
301
+ # Name of the dimension for which the filter is being applied.
302
+ # Corresponds to the JSON property `dimensionName`
303
+ # @return [String]
304
+ attr_accessor :dimension_name
305
+
306
+ # Should the match be case sensitive, ignored for `IN_LIST` operator.
307
+ # Corresponds to the JSON property `caseSensitive`
308
+ # @return [Boolean]
309
+ attr_accessor :case_sensitive
310
+ alias_method :case_sensitive?, :case_sensitive
311
+
312
+ # The operator to use to match the dimension with the expressions.
313
+ # Corresponds to the JSON property `operator`
314
+ # @return [String]
315
+ attr_accessor :operator
316
+
317
+ # The list of expressions, only the first element is used for all operators
318
+ # Corresponds to the JSON property `expressions`
319
+ # @return [Array<String>]
320
+ attr_accessor :expressions
321
+
322
+ # Minimum comparison values for `BETWEEN` match type.
323
+ # Corresponds to the JSON property `minComparisonValue`
324
+ # @return [String]
325
+ attr_accessor :min_comparison_value
326
+
327
+ def initialize(**args)
328
+ update!(**args)
329
+ end
330
+
331
+ # Update properties of this object
332
+ def update!(**args)
333
+ @max_comparison_value = args[:max_comparison_value] if args.key?(:max_comparison_value)
334
+ @dimension_name = args[:dimension_name] if args.key?(:dimension_name)
335
+ @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
336
+ @operator = args[:operator] if args.key?(:operator)
337
+ @expressions = args[:expressions] if args.key?(:expressions)
338
+ @min_comparison_value = args[:min_comparison_value] if args.key?(:min_comparison_value)
339
+ end
340
+ end
341
+
342
+ # The main request class which specifies the Reporting API request.
343
+ class ReportRequest
344
+ include Google::Apis::Core::Hashable
345
+
346
+ # Defines a cohort group.
347
+ # For example:
348
+ # "cohortGroup": `
349
+ # "cohorts": [`
350
+ # "name": "cohort 1",
351
+ # "type": "FIRST_VISIT_DATE",
352
+ # "dateRange": ` "startDate": "2015-08-01", "endDate": "2015-08-01" `
353
+ # `,`
354
+ # "name": "cohort 2"
355
+ # "type": "FIRST_VISIT_DATE"
356
+ # "dateRange": ` "startDate": "2015-07-01", "endDate": "2015-07-01" `
357
+ # `]
358
+ # `
359
+ # Corresponds to the JSON property `cohortGroup`
360
+ # @return [Google::Apis::AnalyticsreportingV4::CohortGroup]
361
+ attr_accessor :cohort_group
362
+
363
+ # The dimensions requested.
364
+ # Requests can have a total of 7 dimensions.
365
+ # Corresponds to the JSON property `dimensions`
366
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
367
+ attr_accessor :dimensions
368
+
369
+ # The metric filter clauses. They are logically combined with the `AND`
370
+ # operator. Metric filters look at only the first date range and not the
371
+ # comparing date range. Note that filtering on metrics occurs after the
372
+ # metrics are aggregated.
373
+ # Corresponds to the JSON property `metricFilterClauses`
374
+ # @return [Array<Google::Apis::AnalyticsreportingV4::MetricFilterClause>]
375
+ attr_accessor :metric_filter_clauses
376
+
377
+ # If set to true, hides the total of all metrics for all the matching rows,
378
+ # for every date range. The default false and will return the totals.
379
+ # Corresponds to the JSON property `hideTotals`
380
+ # @return [Boolean]
381
+ attr_accessor :hide_totals
382
+ alias_method :hide_totals?, :hide_totals
383
+
384
+ # If set to false, the response does not include rows if all the retrieved
385
+ # metrics are equal to zero. The default is false which will exclude these
386
+ # rows.
387
+ # Corresponds to the JSON property `includeEmptyRows`
388
+ # @return [Boolean]
389
+ attr_accessor :include_empty_rows
390
+ alias_method :include_empty_rows?, :include_empty_rows
391
+
392
+ # The dimension filter clauses for filtering Dimension Values. They are
393
+ # logically combined with the `AND` operator. Note that filtering occurs
394
+ # before any dimensions are aggregated, so that the returned metrics
395
+ # represent the total for only the relevant dimensions.
396
+ # Corresponds to the JSON property `dimensionFilterClauses`
397
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilterClause>]
398
+ attr_accessor :dimension_filter_clauses
399
+
400
+ # The pivot definitions. Requests can have a maximum of 2 pivots.
401
+ # Corresponds to the JSON property `pivots`
402
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Pivot>]
403
+ attr_accessor :pivots
404
+
405
+ # Date ranges in the request. The request can have a maximum of 2 date
406
+ # ranges. The response will contain a set of metric values for each
407
+ # combination of the dimensions for each date range in the request. So, if
408
+ # there are two date ranges, there will be two set of metric values, one for
409
+ # the original date range and one for the second date range.
410
+ # The `reportRequest.dateRanges` field should not be specified for cohorts
411
+ # or Lifetime value requests.
412
+ # If a date range is not provided, the default date range is (startDate:
413
+ # current date - 7 days, endDate: current date - 1 day). Every
414
+ # [ReportRequest](#ReportRequest) within a `batchGet` method must
415
+ # contain the same `dateRanges` definition.
416
+ # Corresponds to the JSON property `dateRanges`
417
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRange>]
418
+ attr_accessor :date_ranges
419
+
420
+ # Segment the data returned for the request. A segment definition helps look
421
+ # at a subset of the segment request. A request can contain up to four
422
+ # segments. Every [ReportRequest](#ReportRequest) within a
423
+ # `batchGet` method must contain the same `segments` definition. Requests
424
+ # with segments must have the `ga:segment` dimension.
425
+ # Corresponds to the JSON property `segments`
426
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Segment>]
427
+ attr_accessor :segments
428
+
429
+ # The desired report
430
+ # [sample](https://support.google.com/analytics/answer/2637192) size.
431
+ # If the the `samplingLevel` field is unspecified the `DEFAULT` sampling
432
+ # level is used. Every [ReportRequest](#ReportRequest) within a
433
+ # `batchGet` method must contain the same `samplingLevel` definition. See
434
+ # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
435
+ # for details.
436
+ # Corresponds to the JSON property `samplingLevel`
437
+ # @return [String]
438
+ attr_accessor :sampling_level
439
+
440
+ # The metrics requested.
441
+ # Requests must specify at least one metric. Requests can have a
442
+ # total of 10 metrics.
443
+ # Corresponds to the JSON property `metrics`
444
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Metric>]
445
+ attr_accessor :metrics
446
+
447
+ # Page size is for paging and specifies the maximum number of returned rows.
448
+ # Page size should be >= 0. A query returns the default of 1,000 rows.
449
+ # The Analytics Core Reporting API returns a maximum of 10,000 rows per
450
+ # request, no matter how many you ask for. It can also return fewer rows
451
+ # than requested, if there aren't as many dimension segments as you expect.
452
+ # For instance, there are fewer than 300 possible values for `ga:country`,
453
+ # so when segmenting only by country, you can't get more than 300 rows,
454
+ # even if you set `pageSize` to a higher value.
455
+ # Corresponds to the JSON property `pageSize`
456
+ # @return [Fixnum]
457
+ attr_accessor :page_size
458
+
459
+ # Sort order on output rows. To compare two rows, the elements of the
460
+ # following are applied in order until a difference is found. All date
461
+ # ranges in the output get the same row order.
462
+ # Corresponds to the JSON property `orderBys`
463
+ # @return [Array<Google::Apis::AnalyticsreportingV4::OrderBy>]
464
+ attr_accessor :order_bys
465
+
466
+ # Dimension or metric filters that restrict the data returned for your
467
+ # request. To use the `filtersExpression`, supply a dimension or metric on
468
+ # which to filter, followed by the filter expression. For example, the
469
+ # following expression selects `ga:browser` dimension which starts with
470
+ # Firefox; `ga:browser=~^Firefox`. For more information on dimensions
471
+ # and metric filters, see
472
+ # [Filters reference](https://developers.google.com/analytics/devguides/
473
+ # reporting/core/v3/reference#filters).
474
+ # Corresponds to the JSON property `filtersExpression`
475
+ # @return [String]
476
+ attr_accessor :filters_expression
477
+
478
+ # If set to true, hides the minimum and maximum across all matching rows.
479
+ # The default is false and the value ranges are returned.
480
+ # Corresponds to the JSON property `hideValueRanges`
481
+ # @return [Boolean]
482
+ attr_accessor :hide_value_ranges
483
+ alias_method :hide_value_ranges?, :hide_value_ranges
484
+
485
+ # The Analytics
486
+ # [view ID](https://support.google.com/analytics/answer/1009618)
487
+ # from which to retrieve data. Every [ReportRequest](#ReportRequest)
488
+ # within a `batchGet` method must contain the same `viewId`.
489
+ # Corresponds to the JSON property `viewId`
490
+ # @return [String]
491
+ attr_accessor :view_id
492
+
493
+ # A continuation token to get the next page of the results. Adding this to
494
+ # the request will return the rows after the pageToken. The pageToken should
495
+ # be the value returned in the nextPageToken parameter in the response to
496
+ # the GetReports request.
497
+ # Corresponds to the JSON property `pageToken`
498
+ # @return [String]
499
+ attr_accessor :page_token
500
+
501
+ def initialize(**args)
502
+ update!(**args)
503
+ end
504
+
505
+ # Update properties of this object
506
+ def update!(**args)
507
+ @cohort_group = args[:cohort_group] if args.key?(:cohort_group)
508
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
509
+ @metric_filter_clauses = args[:metric_filter_clauses] if args.key?(:metric_filter_clauses)
510
+ @hide_totals = args[:hide_totals] if args.key?(:hide_totals)
511
+ @include_empty_rows = args[:include_empty_rows] if args.key?(:include_empty_rows)
512
+ @dimension_filter_clauses = args[:dimension_filter_clauses] if args.key?(:dimension_filter_clauses)
513
+ @pivots = args[:pivots] if args.key?(:pivots)
514
+ @date_ranges = args[:date_ranges] if args.key?(:date_ranges)
515
+ @segments = args[:segments] if args.key?(:segments)
516
+ @sampling_level = args[:sampling_level] if args.key?(:sampling_level)
517
+ @metrics = args[:metrics] if args.key?(:metrics)
518
+ @page_size = args[:page_size] if args.key?(:page_size)
519
+ @order_bys = args[:order_bys] if args.key?(:order_bys)
520
+ @filters_expression = args[:filters_expression] if args.key?(:filters_expression)
521
+ @hide_value_ranges = args[:hide_value_ranges] if args.key?(:hide_value_ranges)
522
+ @view_id = args[:view_id] if args.key?(:view_id)
523
+ @page_token = args[:page_token] if args.key?(:page_token)
524
+ end
525
+ end
526
+
527
+ # A Simple segment conditions consist of one or more dimension/metric
528
+ # conditions that can be combined.
529
+ class SimpleSegment
530
+ include Google::Apis::Core::Hashable
531
+
532
+ # A list of segment filters groups which are combined with logical `AND`
533
+ # operator.
534
+ # Corresponds to the JSON property `orFiltersForSegment`
535
+ # @return [Array<Google::Apis::AnalyticsreportingV4::OrFiltersForSegment>]
536
+ attr_accessor :or_filters_for_segment
537
+
538
+ def initialize(**args)
539
+ update!(**args)
540
+ end
541
+
542
+ # Update properties of this object
543
+ def update!(**args)
544
+ @or_filters_for_segment = args[:or_filters_for_segment] if args.key?(:or_filters_for_segment)
545
+ end
546
+ end
547
+
548
+ # SegmentDefinition defines the segment to be a set of SegmentFilters which
549
+ # are combined together with a logical `AND` operation.
550
+ class SegmentDefinition
551
+ include Google::Apis::Core::Hashable
552
+
553
+ # A segment is defined by a set of segment filters which are combined
554
+ # together with a logical `AND` operation.
555
+ # Corresponds to the JSON property `segmentFilters`
556
+ # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentFilter>]
557
+ attr_accessor :segment_filters
558
+
559
+ def initialize(**args)
560
+ update!(**args)
561
+ end
562
+
563
+ # Update properties of this object
564
+ def update!(**args)
565
+ @segment_filters = args[:segment_filters] if args.key?(:segment_filters)
566
+ end
567
+ end
568
+
569
+ # Metric filter to be used in a segment filter clause.
570
+ class SegmentMetricFilter
571
+ include Google::Apis::Core::Hashable
572
+
573
+ # The metric that will be filtered on. A `metricFilter` must contain a
574
+ # metric name.
575
+ # Corresponds to the JSON property `metricName`
576
+ # @return [String]
577
+ attr_accessor :metric_name
578
+
579
+ # Specifies is the operation to perform to compare the metric. The default
580
+ # is `EQUAL`.
581
+ # Corresponds to the JSON property `operator`
582
+ # @return [String]
583
+ attr_accessor :operator
584
+
585
+ # The value to compare against. If the operator is `BETWEEN`, this value is
586
+ # treated as minimum comparison value.
587
+ # Corresponds to the JSON property `comparisonValue`
588
+ # @return [String]
589
+ attr_accessor :comparison_value
590
+
591
+ # Scope for a metric defines the level at which that metric is defined. The
592
+ # specified metric scope must be equal to or greater than its primary scope
593
+ # as defined in the data model. The primary scope is defined by if the
594
+ # segment is selecting users or sessions.
595
+ # Corresponds to the JSON property `scope`
596
+ # @return [String]
597
+ attr_accessor :scope
598
+
599
+ # Max comparison value is only used for `BETWEEN` operator.
600
+ # Corresponds to the JSON property `maxComparisonValue`
601
+ # @return [String]
602
+ attr_accessor :max_comparison_value
603
+
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ def update!(**args)
610
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
611
+ @operator = args[:operator] if args.key?(:operator)
612
+ @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
613
+ @scope = args[:scope] if args.key?(:scope)
614
+ @max_comparison_value = args[:max_comparison_value] if args.key?(:max_comparison_value)
615
+ end
616
+ end
617
+
618
+ # The data part of the report.
619
+ class ReportData
620
+ include Google::Apis::Core::Hashable
621
+
622
+ # Total number of matching rows for this query.
623
+ # Corresponds to the JSON property `rowCount`
624
+ # @return [Fixnum]
625
+ attr_accessor :row_count
626
+
627
+ # If the results are
628
+ # [sampled](https://support.google.com/analytics/answer/2637192),
629
+ # this returns the total number of
630
+ # samples present, one entry per date range. If the results are not sampled
631
+ # this field will not be defined. See
632
+ # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
633
+ # for details.
634
+ # Corresponds to the JSON property `samplingSpaceSizes`
635
+ # @return [Array<String>]
636
+ attr_accessor :sampling_space_sizes
637
+
638
+ # Minimum and maximum values seen over all matching rows. These are both
639
+ # empty when `hideValueRanges` in the request is false, or when
640
+ # rowCount is zero.
641
+ # Corresponds to the JSON property `maximums`
642
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
643
+ attr_accessor :maximums
644
+
645
+ # If the results are
646
+ # [sampled](https://support.google.com/analytics/answer/2637192),
647
+ # this returns the total number of samples read, one entry per date range.
648
+ # If the results are not sampled this field will not be defined. See
649
+ # [developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)
650
+ # for details.
651
+ # Corresponds to the JSON property `samplesReadCounts`
652
+ # @return [Array<String>]
653
+ attr_accessor :samples_read_counts
654
+
655
+ # Minimum and maximum values seen over all matching rows. These are both
656
+ # empty when `hideValueRanges` in the request is false, or when
657
+ # rowCount is zero.
658
+ # Corresponds to the JSON property `minimums`
659
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
660
+ attr_accessor :minimums
661
+
662
+ # There's one ReportRow for every unique combination of dimensions.
663
+ # Corresponds to the JSON property `rows`
664
+ # @return [Array<Google::Apis::AnalyticsreportingV4::ReportRow>]
665
+ attr_accessor :rows
666
+
667
+ # The last time the data in the report was refreshed. All the hits received
668
+ # before this timestamp are included in the calculation of the report.
669
+ # Corresponds to the JSON property `dataLastRefreshed`
670
+ # @return [String]
671
+ attr_accessor :data_last_refreshed
672
+
673
+ # For each requested date range, for the set of all rows that match
674
+ # the query, every requested value format gets a total. The total
675
+ # for a value format is computed by first totaling the metrics
676
+ # mentioned in the value format and then evaluating the value
677
+ # format as a scalar expression. E.g., The "totals" for
678
+ # `3 / (ga:sessions + 2)` we compute
679
+ # `3 / ((sum of all relevant ga:sessions) + 2)`.
680
+ # Totals are computed before pagination.
681
+ # Corresponds to the JSON property `totals`
682
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
683
+ attr_accessor :totals
684
+
685
+ # Indicates if response to this request is golden or not. Data is
686
+ # golden when the exact same request will not produce any new results if
687
+ # asked at a later point in time.
688
+ # Corresponds to the JSON property `isDataGolden`
689
+ # @return [Boolean]
690
+ attr_accessor :is_data_golden
691
+ alias_method :is_data_golden?, :is_data_golden
692
+
693
+ def initialize(**args)
694
+ update!(**args)
695
+ end
696
+
697
+ # Update properties of this object
698
+ def update!(**args)
699
+ @row_count = args[:row_count] if args.key?(:row_count)
700
+ @sampling_space_sizes = args[:sampling_space_sizes] if args.key?(:sampling_space_sizes)
701
+ @maximums = args[:maximums] if args.key?(:maximums)
702
+ @samples_read_counts = args[:samples_read_counts] if args.key?(:samples_read_counts)
703
+ @minimums = args[:minimums] if args.key?(:minimums)
704
+ @rows = args[:rows] if args.key?(:rows)
705
+ @data_last_refreshed = args[:data_last_refreshed] if args.key?(:data_last_refreshed)
706
+ @totals = args[:totals] if args.key?(:totals)
707
+ @is_data_golden = args[:is_data_golden] if args.key?(:is_data_golden)
708
+ end
709
+ end
710
+
711
+ # The batch request containing multiple report request.
712
+ class GetReportsRequest
713
+ include Google::Apis::Core::Hashable
714
+
715
+ # Requests, each request will have a separate response.
716
+ # There can be a maximum of 5 requests. All requests should have the same
717
+ # `dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.
718
+ # Corresponds to the JSON property `reportRequests`
719
+ # @return [Array<Google::Apis::AnalyticsreportingV4::ReportRequest>]
720
+ attr_accessor :report_requests
721
+
722
+ def initialize(**args)
723
+ update!(**args)
724
+ end
725
+
726
+ # Update properties of this object
727
+ def update!(**args)
728
+ @report_requests = args[:report_requests] if args.key?(:report_requests)
729
+ end
730
+ end
731
+
732
+ # Specifies the sorting options.
733
+ class OrderBy
734
+ include Google::Apis::Core::Hashable
735
+
736
+ # The sorting order for the field.
737
+ # Corresponds to the JSON property `sortOrder`
738
+ # @return [String]
739
+ attr_accessor :sort_order
740
+
741
+ # The order type. The default orderType is `VALUE`.
742
+ # Corresponds to the JSON property `orderType`
743
+ # @return [String]
744
+ attr_accessor :order_type
745
+
746
+ # The field which to sort by. The default sort order is ascending. Example:
747
+ # `ga:browser`.
748
+ # Note, that you can only specify one field for sort here. For example,
749
+ # `ga:browser, ga:city` is not valid.
750
+ # Corresponds to the JSON property `fieldName`
751
+ # @return [String]
752
+ attr_accessor :field_name
753
+
754
+ def initialize(**args)
755
+ update!(**args)
756
+ end
757
+
758
+ # Update properties of this object
759
+ def update!(**args)
760
+ @sort_order = args[:sort_order] if args.key?(:sort_order)
761
+ @order_type = args[:order_type] if args.key?(:order_type)
762
+ @field_name = args[:field_name] if args.key?(:field_name)
763
+ end
764
+ end
765
+
766
+ # Defines a cohort. A cohort is a group of users who share a common
767
+ # characteristic. For example, all users with the same acquisition date
768
+ # belong to the same cohort.
769
+ class Cohort
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # Type of the cohort. The only supported type as of now is
773
+ # `FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated
774
+ # as `FIRST_VISIT_DATE` type cohort.
775
+ # Corresponds to the JSON property `type`
776
+ # @return [String]
777
+ attr_accessor :type
778
+
779
+ # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
780
+ # The start and end dates are specified in
781
+ # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
782
+ # Corresponds to the JSON property `dateRange`
783
+ # @return [Google::Apis::AnalyticsreportingV4::DateRange]
784
+ attr_accessor :date_range
785
+
786
+ # A unique name for the cohort. If not defined name will be auto-generated
787
+ # with values cohort_[1234...].
788
+ # Corresponds to the JSON property `name`
789
+ # @return [String]
790
+ attr_accessor :name
791
+
792
+ def initialize(**args)
793
+ update!(**args)
794
+ end
795
+
796
+ # Update properties of this object
797
+ def update!(**args)
798
+ @type = args[:type] if args.key?(:type)
799
+ @date_range = args[:date_range] if args.key?(:date_range)
800
+ @name = args[:name] if args.key?(:name)
801
+ end
802
+ end
803
+
804
+ # A list of segment filters in the `OR` group are combined with the logical OR
805
+ # operator.
806
+ class OrFiltersForSegment
807
+ include Google::Apis::Core::Hashable
808
+
809
+ # List of segment filters to be combined with a `OR` operator.
810
+ # Corresponds to the JSON property `segmentFilterClauses`
811
+ # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentFilterClause>]
812
+ attr_accessor :segment_filter_clauses
813
+
814
+ def initialize(**args)
815
+ update!(**args)
816
+ end
817
+
818
+ # Update properties of this object
819
+ def update!(**args)
820
+ @segment_filter_clauses = args[:segment_filter_clauses] if args.key?(:segment_filter_clauses)
821
+ end
822
+ end
823
+
824
+ # Sequence conditions consist of one or more steps, where each step is defined
825
+ # by one or more dimension/metric conditions. Multiple steps can be combined
826
+ # with special sequence operators.
827
+ class SequenceSegment
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # If set, first step condition must match the first hit of the visitor (in
831
+ # the date range).
832
+ # Corresponds to the JSON property `firstStepShouldMatchFirstHit`
833
+ # @return [Boolean]
834
+ attr_accessor :first_step_should_match_first_hit
835
+ alias_method :first_step_should_match_first_hit?, :first_step_should_match_first_hit
836
+
837
+ # The list of steps in the sequence.
838
+ # Corresponds to the JSON property `segmentSequenceSteps`
839
+ # @return [Array<Google::Apis::AnalyticsreportingV4::SegmentSequenceStep>]
840
+ attr_accessor :segment_sequence_steps
841
+
842
+ def initialize(**args)
843
+ update!(**args)
844
+ end
845
+
846
+ # Update properties of this object
847
+ def update!(**args)
848
+ @first_step_should_match_first_hit = args[:first_step_should_match_first_hit] if args.key?(:first_step_should_match_first_hit)
849
+ @segment_sequence_steps = args[:segment_sequence_steps] if args.key?(:segment_sequence_steps)
850
+ end
851
+ end
852
+
853
+ # SegmentFilter defines the segment to be either a simple or a sequence
854
+ # segment. A simple segment condition contains dimension and metric conditions
855
+ # to select the sessions or users. A sequence segment condition can be used to
856
+ # select users or sessions based on sequential conditions.
857
+ class SegmentFilter
858
+ include Google::Apis::Core::Hashable
859
+
860
+ # Sequence conditions consist of one or more steps, where each step is defined
861
+ # by one or more dimension/metric conditions. Multiple steps can be combined
862
+ # with special sequence operators.
863
+ # Corresponds to the JSON property `sequenceSegment`
864
+ # @return [Google::Apis::AnalyticsreportingV4::SequenceSegment]
865
+ attr_accessor :sequence_segment
866
+
867
+ # If true, match the complement of simple or sequence segment.
868
+ # For example, to match all visits not from "New York", we can define the
869
+ # segment as follows:
870
+ # "sessionSegment": `
871
+ # "segmentFilters": [`
872
+ # "simpleSegment" :`
873
+ # "orFiltersForSegment": [`
874
+ # "segmentFilterClauses":[`
875
+ # "dimensionFilter": `
876
+ # "dimensionName": "ga:city",
877
+ # "expressions": ["New York"]
878
+ # `
879
+ # `]
880
+ # `]
881
+ # `,
882
+ # "not": "True"
883
+ # `]
884
+ # `,
885
+ # Corresponds to the JSON property `not`
886
+ # @return [Boolean]
887
+ attr_accessor :not
888
+ alias_method :not?, :not
889
+
890
+ # A Simple segment conditions consist of one or more dimension/metric
891
+ # conditions that can be combined.
892
+ # Corresponds to the JSON property `simpleSegment`
893
+ # @return [Google::Apis::AnalyticsreportingV4::SimpleSegment]
894
+ attr_accessor :simple_segment
895
+
896
+ def initialize(**args)
897
+ update!(**args)
898
+ end
899
+
900
+ # Update properties of this object
901
+ def update!(**args)
902
+ @sequence_segment = args[:sequence_segment] if args.key?(:sequence_segment)
903
+ @not = args[:not] if args.key?(:not)
904
+ @simple_segment = args[:simple_segment] if args.key?(:simple_segment)
905
+ end
906
+ end
907
+
908
+ # The headers for the each of the metric column corresponding to the metrics
909
+ # requested in the pivots section of the response.
910
+ class PivotHeaderEntry
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # The name of the dimensions in the pivot response.
914
+ # Corresponds to the JSON property `dimensionNames`
915
+ # @return [Array<String>]
916
+ attr_accessor :dimension_names
917
+
918
+ # The values for the dimensions in the pivot.
919
+ # Corresponds to the JSON property `dimensionValues`
920
+ # @return [Array<String>]
921
+ attr_accessor :dimension_values
922
+
923
+ # Header for the metrics.
924
+ # Corresponds to the JSON property `metric`
925
+ # @return [Google::Apis::AnalyticsreportingV4::MetricHeaderEntry]
926
+ attr_accessor :metric
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @dimension_names = args[:dimension_names] if args.key?(:dimension_names)
935
+ @dimension_values = args[:dimension_values] if args.key?(:dimension_values)
936
+ @metric = args[:metric] if args.key?(:metric)
937
+ end
938
+ end
939
+
940
+ # A group of dimension filters. Set the operator value to specify how
941
+ # the filters are logically combined.
942
+ class DimensionFilterClause
943
+ include Google::Apis::Core::Hashable
944
+
945
+ # The operator for combining multiple dimension filters. If unspecified, it
946
+ # is treated as an `OR`.
947
+ # Corresponds to the JSON property `operator`
948
+ # @return [String]
949
+ attr_accessor :operator
950
+
951
+ # The repeated set of filters. They are logically combined based on the
952
+ # operator specified.
953
+ # Corresponds to the JSON property `filters`
954
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilter>]
955
+ attr_accessor :filters
956
+
957
+ def initialize(**args)
958
+ update!(**args)
959
+ end
960
+
961
+ # Update properties of this object
962
+ def update!(**args)
963
+ @operator = args[:operator] if args.key?(:operator)
964
+ @filters = args[:filters] if args.key?(:filters)
965
+ end
966
+ end
967
+
968
+ # A segment sequence definition.
969
+ class SegmentSequenceStep
970
+ include Google::Apis::Core::Hashable
971
+
972
+ # Specifies if the step immediately precedes or can be any time before the
973
+ # next step.
974
+ # Corresponds to the JSON property `matchType`
975
+ # @return [String]
976
+ attr_accessor :match_type
977
+
978
+ # A sequence is specified with a list of Or grouped filters which are
979
+ # combined with `AND` operator.
980
+ # Corresponds to the JSON property `orFiltersForSegment`
981
+ # @return [Array<Google::Apis::AnalyticsreportingV4::OrFiltersForSegment>]
982
+ attr_accessor :or_filters_for_segment
983
+
984
+ def initialize(**args)
985
+ update!(**args)
986
+ end
987
+
988
+ # Update properties of this object
989
+ def update!(**args)
990
+ @match_type = args[:match_type] if args.key?(:match_type)
991
+ @or_filters_for_segment = args[:or_filters_for_segment] if args.key?(:or_filters_for_segment)
992
+ end
993
+ end
994
+
995
+ # The Pivot describes the pivot section in the request.
996
+ # The Pivot helps rearrange the information in the table for certain reports
997
+ # by pivoting your data on a second dimension.
998
+ class Pivot
999
+ include Google::Apis::Core::Hashable
1000
+
1001
+ # A list of dimensions to show as pivot columns. A Pivot can have a maximum
1002
+ # of 4 dimensions. Pivot dimensions are part of the restriction on the
1003
+ # total number of dimensions allowed in the request.
1004
+ # Corresponds to the JSON property `dimensions`
1005
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Dimension>]
1006
+ attr_accessor :dimensions
1007
+
1008
+ # The pivot metrics. Pivot metrics are part of the
1009
+ # restriction on total number of metrics allowed in the request.
1010
+ # Corresponds to the JSON property `metrics`
1011
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Metric>]
1012
+ attr_accessor :metrics
1013
+
1014
+ # Specifies the maximum number of groups to return.
1015
+ # The default value is 10, also the maximum value is 1,000.
1016
+ # Corresponds to the JSON property `maxGroupCount`
1017
+ # @return [Fixnum]
1018
+ attr_accessor :max_group_count
1019
+
1020
+ # DimensionFilterClauses are logically combined with an `AND` operator: only
1021
+ # data that is included by all these DimensionFilterClauses contributes to
1022
+ # the values in this pivot region. Dimension filters can be used to restrict
1023
+ # the columns shown in the pivot region. For example if you have
1024
+ # `ga:browser` as the requested dimension in the pivot region, and you
1025
+ # specify key filters to restrict `ga:browser` to only "IE" or "Firefox",
1026
+ # then only those two browsers would show up as columns.
1027
+ # Corresponds to the JSON property `dimensionFilterClauses`
1028
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DimensionFilterClause>]
1029
+ attr_accessor :dimension_filter_clauses
1030
+
1031
+ # If k metrics were requested, then the response will contain some
1032
+ # data-dependent multiple of k columns in the report. E.g., if you pivoted
1033
+ # on the dimension `ga:browser` then you'd get k columns for "Firefox", k
1034
+ # columns for "IE", k columns for "Chrome", etc. The ordering of the groups
1035
+ # of columns is determined by descending order of "total" for the first of
1036
+ # the k values. Ties are broken by lexicographic ordering of the first
1037
+ # pivot dimension, then lexicographic ordering of the second pivot
1038
+ # dimension, and so on. E.g., if the totals for the first value for
1039
+ # Firefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns
1040
+ # would be Chrome, Firefox, IE.
1041
+ # The following let you choose which of the groups of k columns are
1042
+ # included in the response.
1043
+ # Corresponds to the JSON property `startGroup`
1044
+ # @return [Fixnum]
1045
+ attr_accessor :start_group
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
1054
+ @metrics = args[:metrics] if args.key?(:metrics)
1055
+ @max_group_count = args[:max_group_count] if args.key?(:max_group_count)
1056
+ @dimension_filter_clauses = args[:dimension_filter_clauses] if args.key?(:dimension_filter_clauses)
1057
+ @start_group = args[:start_group] if args.key?(:start_group)
1058
+ end
1059
+ end
1060
+
1061
+ # Used to return a list of metrics for a single DateRange / dimension
1062
+ # combination
1063
+ class DateRangeValues
1064
+ include Google::Apis::Core::Hashable
1065
+
1066
+ # Each value corresponds to each Metric in the request.
1067
+ # Corresponds to the JSON property `values`
1068
+ # @return [Array<String>]
1069
+ attr_accessor :values
1070
+
1071
+ # The values of each pivot region.
1072
+ # Corresponds to the JSON property `pivotValueRegions`
1073
+ # @return [Array<Google::Apis::AnalyticsreportingV4::PivotValueRegion>]
1074
+ attr_accessor :pivot_value_regions
1075
+
1076
+ def initialize(**args)
1077
+ update!(**args)
1078
+ end
1079
+
1080
+ # Update properties of this object
1081
+ def update!(**args)
1082
+ @values = args[:values] if args.key?(:values)
1083
+ @pivot_value_regions = args[:pivot_value_regions] if args.key?(:pivot_value_regions)
1084
+ end
1085
+ end
1086
+
1087
+ # Represents a group of metric filters.
1088
+ # Set the operator value to specify how the filters are logically combined.
1089
+ class MetricFilterClause
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # The operator for combining multiple metric filters. If unspecified, it is
1093
+ # treated as an `OR`.
1094
+ # Corresponds to the JSON property `operator`
1095
+ # @return [String]
1096
+ attr_accessor :operator
1097
+
1098
+ # The repeated set of filters. They are logically combined based on the
1099
+ # operator specified.
1100
+ # Corresponds to the JSON property `filters`
1101
+ # @return [Array<Google::Apis::AnalyticsreportingV4::MetricFilter>]
1102
+ attr_accessor :filters
1103
+
1104
+ def initialize(**args)
1105
+ update!(**args)
1106
+ end
1107
+
1108
+ # Update properties of this object
1109
+ def update!(**args)
1110
+ @operator = args[:operator] if args.key?(:operator)
1111
+ @filters = args[:filters] if args.key?(:filters)
1112
+ end
1113
+ end
1114
+
1115
+ # The segment definition, if the report needs to be segmented.
1116
+ # A Segment is a subset of the Analytics data. For example, of the entire
1117
+ # set of users, one Segment might be users from a particular country or city.
1118
+ class Segment
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # Dynamic segment definition for defining the segment within the request.
1122
+ # A segment can select users, sessions or both.
1123
+ # Corresponds to the JSON property `dynamicSegment`
1124
+ # @return [Google::Apis::AnalyticsreportingV4::DynamicSegment]
1125
+ attr_accessor :dynamic_segment
1126
+
1127
+ # The segment ID of a built-in or custom segment, for example `gaid::-3`.
1128
+ # Corresponds to the JSON property `segmentId`
1129
+ # @return [String]
1130
+ attr_accessor :segment_id
1131
+
1132
+ def initialize(**args)
1133
+ update!(**args)
1134
+ end
1135
+
1136
+ # Update properties of this object
1137
+ def update!(**args)
1138
+ @dynamic_segment = args[:dynamic_segment] if args.key?(:dynamic_segment)
1139
+ @segment_id = args[:segment_id] if args.key?(:segment_id)
1140
+ end
1141
+ end
1142
+
1143
+ # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
1144
+ # The start and end dates are specified in
1145
+ # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
1146
+ class DateRange
1147
+ include Google::Apis::Core::Hashable
1148
+
1149
+ # The start date for the query in the format `YYYY-MM-DD`.
1150
+ # Corresponds to the JSON property `startDate`
1151
+ # @return [String]
1152
+ attr_accessor :start_date
1153
+
1154
+ # The end date for the query in the format `YYYY-MM-DD`.
1155
+ # Corresponds to the JSON property `endDate`
1156
+ # @return [String]
1157
+ attr_accessor :end_date
1158
+
1159
+ def initialize(**args)
1160
+ update!(**args)
1161
+ end
1162
+
1163
+ # Update properties of this object
1164
+ def update!(**args)
1165
+ @start_date = args[:start_date] if args.key?(:start_date)
1166
+ @end_date = args[:end_date] if args.key?(:end_date)
1167
+ end
1168
+ end
1169
+
1170
+ # A row in the report.
1171
+ class ReportRow
1172
+ include Google::Apis::Core::Hashable
1173
+
1174
+ # List of requested dimensions.
1175
+ # Corresponds to the JSON property `dimensions`
1176
+ # @return [Array<String>]
1177
+ attr_accessor :dimensions
1178
+
1179
+ # List of metrics for each requested DateRange.
1180
+ # Corresponds to the JSON property `metrics`
1181
+ # @return [Array<Google::Apis::AnalyticsreportingV4::DateRangeValues>]
1182
+ attr_accessor :metrics
1183
+
1184
+ def initialize(**args)
1185
+ update!(**args)
1186
+ end
1187
+
1188
+ # Update properties of this object
1189
+ def update!(**args)
1190
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
1191
+ @metrics = args[:metrics] if args.key?(:metrics)
1192
+ end
1193
+ end
1194
+
1195
+ # Defines a cohort group.
1196
+ # For example:
1197
+ # "cohortGroup": `
1198
+ # "cohorts": [`
1199
+ # "name": "cohort 1",
1200
+ # "type": "FIRST_VISIT_DATE",
1201
+ # "dateRange": ` "startDate": "2015-08-01", "endDate": "2015-08-01" `
1202
+ # `,`
1203
+ # "name": "cohort 2"
1204
+ # "type": "FIRST_VISIT_DATE"
1205
+ # "dateRange": ` "startDate": "2015-07-01", "endDate": "2015-07-01" `
1206
+ # `]
1207
+ # `
1208
+ class CohortGroup
1209
+ include Google::Apis::Core::Hashable
1210
+
1211
+ # Enable Life Time Value (LTV). LTV measures lifetime value for users
1212
+ # acquired through different channels.
1213
+ # Please see:
1214
+ # [Cohort Analysis](https://support.google.com/analytics/answer/6074676) and
1215
+ # [Lifetime Value](https://support.google.com/analytics/answer/6182550)
1216
+ # If the value of lifetimeValue is false:
1217
+ # - The metric values are similar to the values in the web interface cohort
1218
+ # report.
1219
+ # - The cohort definition date ranges must be aligned to the calendar week
1220
+ # and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in
1221
+ # the cohort definition should be a Sunday and the `endDate` should be the
1222
+ # following Saturday, and for `ga:cohortNthMonth`, the `startDate`
1223
+ # should be the 1st of the month and `endDate` should be the last day
1224
+ # of the month.
1225
+ # When the lifetimeValue is true:
1226
+ # - The metric values will correspond to the values in the web interface
1227
+ # LifeTime value report.
1228
+ # - The Lifetime Value report shows you how user value (Revenue) and
1229
+ # engagement (Appviews, Goal Completions, Sessions, and Session Duration)
1230
+ # grow during the 90 days after a user is acquired.
1231
+ # - The metrics are calculated as a cumulative average per user per the time
1232
+ # increment.
1233
+ # - The cohort definition date ranges need not be aligned to the calendar
1234
+ # week and month boundaries.
1235
+ # - The `viewId` must be an
1236
+ # [app view ID](https://support.google.com/analytics/answer/2649553#
1237
+ # WebVersusAppViews)
1238
+ # Corresponds to the JSON property `lifetimeValue`
1239
+ # @return [Boolean]
1240
+ attr_accessor :lifetime_value
1241
+ alias_method :lifetime_value?, :lifetime_value
1242
+
1243
+ # The definition for the cohort.
1244
+ # Corresponds to the JSON property `cohorts`
1245
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Cohort>]
1246
+ attr_accessor :cohorts
1247
+
1248
+ def initialize(**args)
1249
+ update!(**args)
1250
+ end
1251
+
1252
+ # Update properties of this object
1253
+ def update!(**args)
1254
+ @lifetime_value = args[:lifetime_value] if args.key?(:lifetime_value)
1255
+ @cohorts = args[:cohorts] if args.key?(:cohorts)
1256
+ end
1257
+ end
1258
+
1259
+ # The main response class which holds the reports from the Reporting API
1260
+ # `batchGet` call.
1261
+ class GetReportsResponse
1262
+ include Google::Apis::Core::Hashable
1263
+
1264
+ # Responses corresponding to each of the request.
1265
+ # Corresponds to the JSON property `reports`
1266
+ # @return [Array<Google::Apis::AnalyticsreportingV4::Report>]
1267
+ attr_accessor :reports
1268
+
1269
+ def initialize(**args)
1270
+ update!(**args)
1271
+ end
1272
+
1273
+ # Update properties of this object
1274
+ def update!(**args)
1275
+ @reports = args[:reports] if args.key?(:reports)
1276
+ end
1277
+ end
1278
+
1279
+ # Header for the metrics.
1280
+ class MetricHeaderEntry
1281
+ include Google::Apis::Core::Hashable
1282
+
1283
+ # The type of the metric, for example `INTEGER`.
1284
+ # Corresponds to the JSON property `type`
1285
+ # @return [String]
1286
+ attr_accessor :type
1287
+
1288
+ # The name of the header.
1289
+ # Corresponds to the JSON property `name`
1290
+ # @return [String]
1291
+ attr_accessor :name
1292
+
1293
+ def initialize(**args)
1294
+ update!(**args)
1295
+ end
1296
+
1297
+ # Update properties of this object
1298
+ def update!(**args)
1299
+ @type = args[:type] if args.key?(:type)
1300
+ @name = args[:name] if args.key?(:name)
1301
+ end
1302
+ end
1303
+
1304
+ # MetricFilter specifies the filter on a metric.
1305
+ class MetricFilter
1306
+ include Google::Apis::Core::Hashable
1307
+
1308
+ # The metric that will be filtered on. A metricFilter must contain a metric
1309
+ # name. A metric name can be an alias earlier defined as a metric or it can
1310
+ # also be a metric expression.
1311
+ # Corresponds to the JSON property `metricName`
1312
+ # @return [String]
1313
+ attr_accessor :metric_name
1314
+
1315
+ # Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the
1316
+ # comparisonValue, the default is `EQUAL`. If the operator is
1317
+ # `IS_MISSING`, checks if the metric is missing and would ignore the
1318
+ # comparisonValue.
1319
+ # Corresponds to the JSON property `operator`
1320
+ # @return [String]
1321
+ attr_accessor :operator
1322
+
1323
+ # The value to compare against.
1324
+ # Corresponds to the JSON property `comparisonValue`
1325
+ # @return [String]
1326
+ attr_accessor :comparison_value
1327
+
1328
+ # Logical `NOT` operator. If this boolean is set to true, then the matching
1329
+ # metric values will be excluded in the report. The default is false.
1330
+ # Corresponds to the JSON property `not`
1331
+ # @return [Boolean]
1332
+ attr_accessor :not
1333
+ alias_method :not?, :not
1334
+
1335
+ def initialize(**args)
1336
+ update!(**args)
1337
+ end
1338
+
1339
+ # Update properties of this object
1340
+ def update!(**args)
1341
+ @metric_name = args[:metric_name] if args.key?(:metric_name)
1342
+ @operator = args[:operator] if args.key?(:operator)
1343
+ @comparison_value = args[:comparison_value] if args.key?(:comparison_value)
1344
+ @not = args[:not] if args.key?(:not)
1345
+ end
1346
+ end
1347
+
1348
+ # [Dimensions](https://support.google.com/analytics/answer/1033861)
1349
+ # are attributes of your data. For example, the dimension `ga:city`
1350
+ # indicates the city, for example, "Paris" or "New York", from which
1351
+ # a session originates.
1352
+ class Dimension
1353
+ include Google::Apis::Core::Hashable
1354
+
1355
+ # If non-empty, we place dimension values into buckets after string to
1356
+ # int64. Dimension values that are not the string representation of an
1357
+ # integral value will be converted to zero. The bucket values have to be in
1358
+ # increasing order. Each bucket is closed on the lower end, and open on the
1359
+ # upper end. The "first" bucket includes all values less than the first
1360
+ # boundary, the "last" bucket includes all values up to infinity. Dimension
1361
+ # values that fall in a bucket get transformed to a new dimension value. For
1362
+ # example, if one gives a list of "0, 1, 3, 4, 7", then we return the
1363
+ # following buckets:
1364
+ # - bucket #1: values < 0, dimension value "<0"
1365
+ # - bucket #2: values in [0,1), dimension value "0"
1366
+ # - bucket #3: values in [1,3), dimension value "1-2"
1367
+ # - bucket #4: values in [3,4), dimension value "3"
1368
+ # - bucket #5: values in [4,7), dimension value "4-6"
1369
+ # - bucket #6: values >= 7, dimension value "7+"
1370
+ # NOTE: If you are applying histogram mutation on any dimension, and using
1371
+ # that dimension in sort, you will want to use the sort type
1372
+ # `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
1373
+ # will be sorted according to dictionary
1374
+ # (lexicographic) order. For example the ascending dictionary order is:
1375
+ # "<50", "1001+", "121-1000", "50-120"
1376
+ # And the ascending `HISTOGRAM_BUCKET` order is:
1377
+ # "<50", "50-120", "121-1000", "1001+"
1378
+ # The client has to explicitly request `"orderType": "HISTOGRAM_BUCKET"`
1379
+ # for a histogram-mutated dimension.
1380
+ # Corresponds to the JSON property `histogramBuckets`
1381
+ # @return [Array<String>]
1382
+ attr_accessor :histogram_buckets
1383
+
1384
+ # Name of the dimension to fetch, for example `ga:browser`.
1385
+ # Corresponds to the JSON property `name`
1386
+ # @return [String]
1387
+ attr_accessor :name
1388
+
1389
+ def initialize(**args)
1390
+ update!(**args)
1391
+ end
1392
+
1393
+ # Update properties of this object
1394
+ def update!(**args)
1395
+ @histogram_buckets = args[:histogram_buckets] if args.key?(:histogram_buckets)
1396
+ @name = args[:name] if args.key?(:name)
1397
+ end
1398
+ end
1399
+
1400
+ # The metric values in the pivot region.
1401
+ class PivotValueRegion
1402
+ include Google::Apis::Core::Hashable
1403
+
1404
+ # The values of the metrics in each of the pivot regions.
1405
+ # Corresponds to the JSON property `values`
1406
+ # @return [Array<String>]
1407
+ attr_accessor :values
1408
+
1409
+ def initialize(**args)
1410
+ update!(**args)
1411
+ end
1412
+
1413
+ # Update properties of this object
1414
+ def update!(**args)
1415
+ @values = args[:values] if args.key?(:values)
1416
+ end
1417
+ end
1418
+ end
1419
+ end
1420
+ end