google-api-client 0.10.3 → 0.11.0

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