google-api-client 0.13.2 → 0.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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