google-api-client 0.11.3 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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