google-api-client 0.10.3 → 0.11.0

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