google-api-client 0.13.2 → 0.13.3

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