google-api-client 0.11.3 → 0.12.0

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