google-api-client 0.8.6 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +23 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +58 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +38 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +189 -147
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1088 -0
  15. data/api_names_out.yaml +26978 -0
  16. data/bin/generate-api +109 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  21. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +3025 -0
  22. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1240 -0
  23. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1446 -0
  24. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  25. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  26. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +347 -0
  27. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  28. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  29. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  30. data/generated/google/apis/admin_datatransfer_v1/representations.rb +130 -0
  31. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  32. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  33. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  34. data/generated/google/apis/admin_directory_v1/representations.rb +1147 -0
  35. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  36. data/generated/google/apis/admin_directory_v1.rb +113 -0
  37. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  38. data/generated/google/apis/admin_reports_v1/representations.rb +257 -0
  39. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  40. data/generated/google/apis/admin_reports_v1.rb +38 -0
  41. data/generated/google/apis/adsense_v1_4/classes.rb +1280 -0
  42. data/generated/google/apis/adsense_v1_4/representations.rb +555 -0
  43. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  44. data/generated/google/apis/adsense_v1_4.rb +38 -0
  45. data/generated/google/apis/adsensehost_v4_1/classes.rb +837 -0
  46. data/generated/google/apis/adsensehost_v4_1/representations.rb +367 -0
  47. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  48. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  49. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  50. data/generated/google/apis/analytics_v3/representations.rb +1850 -0
  51. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  52. data/generated/google/apis/analytics_v3.rb +49 -0
  53. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  54. data/generated/google/apis/androidenterprise_v1/representations.rb +614 -0
  55. data/generated/google/apis/androidenterprise_v1/service.rb +2607 -0
  56. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  57. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  58. data/generated/google/apis/androidpublisher_v2/representations.rb +738 -0
  59. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  60. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  61. data/generated/google/apis/appengine_v1beta4/classes.rb +1585 -0
  62. data/generated/google/apis/appengine_v1beta4/representations.rb +542 -0
  63. data/generated/google/apis/appengine_v1beta4/service.rb +477 -0
  64. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  65. data/generated/google/apis/appengine_v1beta5/classes.rb +1544 -0
  66. data/generated/google/apis/appengine_v1beta5/representations.rb +594 -0
  67. data/generated/google/apis/appengine_v1beta5/service.rb +521 -0
  68. data/generated/google/apis/appengine_v1beta5.rb +35 -0
  69. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  70. data/generated/google/apis/appsactivity_v1/representations.rb +206 -0
  71. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  72. data/generated/google/apis/appsactivity_v1.rb +46 -0
  73. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  74. data/generated/google/apis/appstate_v1/representations.rb +87 -0
  75. data/generated/google/apis/appstate_v1/service.rb +260 -0
  76. data/generated/google/apis/appstate_v1.rb +34 -0
  77. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  78. data/generated/google/apis/autoscaler_v1beta2/representations.rb +313 -0
  79. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  80. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  81. data/generated/google/apis/bigquery_v2/classes.rb +2503 -0
  82. data/generated/google/apis/bigquery_v2/representations.rb +914 -0
  83. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  84. data/generated/google/apis/bigquery_v2.rb +52 -0
  85. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  86. data/generated/google/apis/blogger_v3/representations.rb +632 -0
  87. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  88. data/generated/google/apis/blogger_v3.rb +37 -0
  89. data/generated/google/apis/books_v1/classes.rb +4006 -0
  90. data/generated/google/apis/books_v1/representations.rb +1742 -0
  91. data/generated/google/apis/books_v1/service.rb +2293 -0
  92. data/generated/google/apis/books_v1.rb +34 -0
  93. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  94. data/generated/google/apis/calendar_v3/representations.rb +631 -0
  95. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  96. data/generated/google/apis/calendar_v3.rb +37 -0
  97. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  98. data/generated/google/apis/civicinfo_v2/representations.rb +423 -0
  99. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  100. data/generated/google/apis/civicinfo_v2.rb +31 -0
  101. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  102. data/generated/google/apis/classroom_v1/representations.rb +245 -0
  103. data/generated/google/apis/classroom_v1/service.rb +970 -0
  104. data/generated/google/apis/classroom_v1.rb +49 -0
  105. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  106. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  107. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  108. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  109. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  110. data/generated/google/apis/cloudbilling_v1/representations.rb +87 -0
  111. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  112. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  113. data/generated/google/apis/cloudbuild_v1/classes.rb +521 -0
  114. data/generated/google/apis/cloudbuild_v1/representations.rb +214 -0
  115. data/generated/google/apis/cloudbuild_v1/service.rb +278 -0
  116. data/generated/google/apis/cloudbuild_v1.rb +35 -0
  117. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  118. data/generated/google/apis/clouddebugger_v2/representations.rb +464 -0
  119. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  120. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  121. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  122. data/generated/google/apis/cloudlatencytest_v2/representations.rb +127 -0
  123. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  124. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  125. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  126. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +353 -0
  127. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  128. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  129. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +450 -0
  130. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +226 -0
  131. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +626 -0
  132. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  133. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  134. data/generated/google/apis/cloudtrace_v1/representations.rb +102 -0
  135. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  136. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  137. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  138. data/generated/google/apis/clouduseraccounts_beta/representations.rb +351 -0
  139. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  140. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  141. data/generated/google/apis/compute_beta/classes.rb +9741 -0
  142. data/generated/google/apis/compute_beta/representations.rb +3649 -0
  143. data/generated/google/apis/compute_beta/service.rb +10636 -0
  144. data/generated/google/apis/compute_beta.rb +49 -0
  145. data/generated/google/apis/compute_v1/classes.rb +9095 -0
  146. data/generated/google/apis/compute_v1/representations.rb +3389 -0
  147. data/generated/google/apis/compute_v1/service.rb +9627 -0
  148. data/generated/google/apis/compute_v1.rb +49 -0
  149. data/generated/google/apis/container_v1/classes.rb +463 -0
  150. data/generated/google/apis/container_v1/representations.rb +195 -0
  151. data/generated/google/apis/container_v1/service.rb +367 -0
  152. data/generated/google/apis/container_v1.rb +35 -0
  153. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  154. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  155. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  156. data/generated/google/apis/container_v1beta1.rb +35 -0
  157. data/generated/google/apis/content_v2/classes.rb +6114 -0
  158. data/generated/google/apis/content_v2/representations.rb +2624 -0
  159. data/generated/google/apis/content_v2/service.rb +2338 -0
  160. data/generated/google/apis/content_v2.rb +35 -0
  161. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  162. data/generated/google/apis/coordinate_v1/representations.rb +321 -0
  163. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  164. data/generated/google/apis/coordinate_v1.rb +37 -0
  165. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  166. data/generated/google/apis/customsearch_v1/representations.rb +302 -0
  167. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  168. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  169. data/generated/google/apis/dataproc_v1/classes.rb +1590 -0
  170. data/generated/google/apis/dataproc_v1/representations.rb +653 -0
  171. data/generated/google/apis/dataproc_v1/service.rb +719 -0
  172. data/generated/google/apis/dataproc_v1.rb +43 -0
  173. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  174. data/generated/google/apis/datastore_v1beta2/representations.rb +594 -0
  175. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  176. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  177. data/generated/google/apis/deploymentmanager_v2/classes.rb +1162 -0
  178. data/generated/google/apis/deploymentmanager_v2/representations.rb +508 -0
  179. data/generated/google/apis/deploymentmanager_v2/service.rb +862 -0
  180. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  181. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  182. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  183. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  184. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  185. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  186. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  187. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  188. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  189. data/generated/google/apis/dfareporting_v2_3/classes.rb +10830 -0
  190. data/generated/google/apis/dfareporting_v2_3/representations.rb +3829 -0
  191. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  192. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  193. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  194. data/generated/google/apis/discovery_v1/representations.rb +397 -0
  195. data/generated/google/apis/discovery_v1/service.rb +142 -0
  196. data/generated/google/apis/discovery_v1.rb +32 -0
  197. data/generated/google/apis/dns_v1/classes.rb +406 -0
  198. data/generated/google/apis/dns_v1/representations.rb +167 -0
  199. data/generated/google/apis/dns_v1/service.rb +454 -0
  200. data/generated/google/apis/dns_v1.rb +44 -0
  201. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +802 -0
  202. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +371 -0
  203. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +374 -0
  204. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  205. data/generated/google/apis/doubleclicksearch_v2/classes.rb +958 -0
  206. data/generated/google/apis/doubleclicksearch_v2/representations.rb +350 -0
  207. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  208. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  209. data/generated/google/apis/drive_v2/classes.rb +2569 -0
  210. data/generated/google/apis/drive_v2/representations.rb +878 -0
  211. data/generated/google/apis/drive_v2/service.rb +2740 -0
  212. data/generated/google/apis/drive_v2.rb +58 -0
  213. data/generated/google/apis/drive_v3/classes.rb +1541 -0
  214. data/generated/google/apis/drive_v3/representations.rb +548 -0
  215. data/generated/google/apis/drive_v3/service.rb +1542 -0
  216. data/generated/google/apis/drive_v3.rb +55 -0
  217. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  218. data/generated/google/apis/fitness_v1/representations.rb +360 -0
  219. data/generated/google/apis/fitness_v1/service.rb +675 -0
  220. data/generated/google/apis/fitness_v1.rb +49 -0
  221. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  222. data/generated/google/apis/fusiontables_v2/representations.rb +457 -0
  223. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  224. data/generated/google/apis/fusiontables_v2.rb +37 -0
  225. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  226. data/generated/google/apis/games_configuration_v1configuration/representations.rb +228 -0
  227. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  228. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  229. data/generated/google/apis/games_management_v1management/classes.rb +533 -0
  230. data/generated/google/apis/games_management_v1management/representations.rb +262 -0
  231. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  232. data/generated/google/apis/games_management_v1management.rb +37 -0
  233. data/generated/google/apis/games_v1/classes.rb +4626 -0
  234. data/generated/google/apis/games_v1/representations.rb +1783 -0
  235. data/generated/google/apis/games_v1/service.rb +2290 -0
  236. data/generated/google/apis/games_v1.rb +40 -0
  237. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  238. data/generated/google/apis/gan_v1beta1/representations.rb +462 -0
  239. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  240. data/generated/google/apis/gan_v1beta1.rb +31 -0
  241. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  242. data/generated/google/apis/genomics_v1/representations.rb +1029 -0
  243. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  244. data/generated/google/apis/genomics_v1.rb +49 -0
  245. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  246. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  247. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  248. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  249. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  250. data/generated/google/apis/gmail_v1/representations.rb +383 -0
  251. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  252. data/generated/google/apis/gmail_v1.rb +52 -0
  253. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  254. data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
  255. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  256. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  257. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  258. data/generated/google/apis/groupssettings_v1/representations.rb +66 -0
  259. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  260. data/generated/google/apis/groupssettings_v1.rb +34 -0
  261. data/generated/google/apis/identitytoolkit_v3/classes.rb +1637 -0
  262. data/generated/google/apis/identitytoolkit_v3/representations.rb +618 -0
  263. data/generated/google/apis/identitytoolkit_v3/service.rb +616 -0
  264. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  265. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  266. data/generated/google/apis/kgsearch_v1/representations.rb +41 -0
  267. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  268. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  269. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  270. data/generated/google/apis/licensing_v1/representations.rb +74 -0
  271. data/generated/google/apis/licensing_v1/service.rb +369 -0
  272. data/generated/google/apis/licensing_v1.rb +34 -0
  273. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  274. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  275. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  276. data/generated/google/apis/logging_v1beta3.rb +47 -0
  277. data/generated/google/apis/logging_v2beta1/classes.rb +990 -0
  278. data/generated/google/apis/logging_v2beta1/representations.rb +377 -0
  279. data/generated/google/apis/logging_v2beta1/service.rb +547 -0
  280. data/generated/google/apis/logging_v2beta1.rb +47 -0
  281. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  282. data/generated/google/apis/manager_v1beta2/representations.rb +606 -0
  283. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  284. data/generated/google/apis/manager_v1beta2.rb +53 -0
  285. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  286. data/generated/google/apis/mirror_v1/representations.rb +390 -0
  287. data/generated/google/apis/mirror_v1/service.rb +977 -0
  288. data/generated/google/apis/mirror_v1.rb +37 -0
  289. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  290. data/generated/google/apis/oauth2_v2/representations.rb +102 -0
  291. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  292. data/generated/google/apis/oauth2_v2.rb +43 -0
  293. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  294. data/generated/google/apis/pagespeedonline_v2/representations.rb +272 -0
  295. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  296. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  297. data/generated/google/apis/partners_v2/classes.rb +942 -0
  298. data/generated/google/apis/partners_v2/representations.rb +454 -0
  299. data/generated/google/apis/partners_v2/service.rb +400 -0
  300. data/generated/google/apis/partners_v2.rb +32 -0
  301. data/generated/google/apis/people_v1/classes.rb +1521 -0
  302. data/generated/google/apis/people_v1/representations.rb +663 -0
  303. data/generated/google/apis/people_v1/service.rb +189 -0
  304. data/generated/google/apis/people_v1.rb +59 -0
  305. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  306. data/generated/google/apis/plus_domains_v1/representations.rb +1111 -0
  307. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  308. data/generated/google/apis/plus_domains_v1.rb +61 -0
  309. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  310. data/generated/google/apis/plus_v1/representations.rb +907 -0
  311. data/generated/google/apis/plus_v1/service.rb +470 -0
  312. data/generated/google/apis/plus_v1.rb +43 -0
  313. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  314. data/generated/google/apis/prediction_v1_6/representations.rb +369 -0
  315. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  316. data/generated/google/apis/prediction_v1_6.rb +44 -0
  317. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  318. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +312 -0
  319. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  320. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  321. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  322. data/generated/google/apis/pubsub_v1/representations.rb +323 -0
  323. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  324. data/generated/google/apis/pubsub_v1.rb +37 -0
  325. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  326. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  327. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  328. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  329. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  330. data/generated/google/apis/qpx_express_v1/representations.rb +472 -0
  331. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  332. data/generated/google/apis/qpx_express_v1.rb +31 -0
  333. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  334. data/generated/google/apis/replicapool_v1beta2/representations.rb +264 -0
  335. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  336. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  337. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  338. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +294 -0
  339. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  340. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  341. data/generated/google/apis/reseller_v1/classes.rb +526 -0
  342. data/generated/google/apis/reseller_v1/representations.rb +223 -0
  343. data/generated/google/apis/reseller_v1/service.rb +623 -0
  344. data/generated/google/apis/reseller_v1.rb +37 -0
  345. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  346. data/generated/google/apis/resourceviews_v1beta2/representations.rb +301 -0
  347. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  348. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  349. data/generated/google/apis/script_v1/classes.rb +259 -0
  350. data/generated/google/apis/script_v1/representations.rb +118 -0
  351. data/generated/google/apis/script_v1/service.rb +98 -0
  352. data/generated/google/apis/script_v1.rb +61 -0
  353. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  354. data/generated/google/apis/site_verification_v1/representations.rb +113 -0
  355. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  356. data/generated/google/apis/site_verification_v1.rb +37 -0
  357. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2030 -0
  358. data/generated/google/apis/sqladmin_v1beta4/representations.rb +856 -0
  359. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  360. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  361. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  362. data/generated/google/apis/storage_v1/representations.rb +497 -0
  363. data/generated/google/apis/storage_v1/service.rb +1903 -0
  364. data/generated/google/apis/storage_v1.rb +46 -0
  365. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  366. data/generated/google/apis/storagetransfer_v1/representations.rb +418 -0
  367. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  368. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  369. data/generated/google/apis/tagmanager_v1/classes.rb +1494 -0
  370. data/generated/google/apis/tagmanager_v1/representations.rb +611 -0
  371. data/generated/google/apis/tagmanager_v1/service.rb +2119 -0
  372. data/generated/google/apis/tagmanager_v1.rb +52 -0
  373. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  374. data/generated/google/apis/taskqueue_v1beta2/representations.rb +126 -0
  375. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  376. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  377. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  378. data/generated/google/apis/tasks_v1/representations.rb +125 -0
  379. data/generated/google/apis/tasks_v1/service.rb +643 -0
  380. data/generated/google/apis/tasks_v1.rb +37 -0
  381. data/generated/google/apis/translate_v2/classes.rb +168 -0
  382. data/generated/google/apis/translate_v2/representations.rb +121 -0
  383. data/generated/google/apis/translate_v2/service.rb +182 -0
  384. data/generated/google/apis/translate_v2.rb +31 -0
  385. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  386. data/generated/google/apis/urlshortener_v1/representations.rb +121 -0
  387. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  388. data/generated/google/apis/urlshortener_v1.rb +34 -0
  389. data/generated/google/apis/vision_v1/classes.rb +1259 -0
  390. data/generated/google/apis/vision_v1/representations.rb +418 -0
  391. data/generated/google/apis/vision_v1/service.rb +91 -0
  392. data/generated/google/apis/vision_v1.rb +37 -0
  393. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  394. data/generated/google/apis/webmasters_v3/representations.rb +282 -0
  395. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  396. data/generated/google/apis/webmasters_v3.rb +37 -0
  397. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  398. data/generated/google/apis/youtube_analytics_v1/representations.rb +273 -0
  399. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  400. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  401. data/generated/google/apis/youtube_v3/classes.rb +8071 -0
  402. data/generated/google/apis/youtube_v3/representations.rb +3134 -0
  403. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  404. data/generated/google/apis/youtube_v3.rb +49 -0
  405. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  406. data/generated/google/apis/youtubereporting_v1/representations.rb +144 -0
  407. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  408. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  409. data/google-api-client.gemspec +25 -39
  410. data/lib/google/api_client/auth/installed_app.rb +7 -5
  411. data/lib/google/api_client/auth/key_utils.rb +1 -0
  412. data/lib/google/api_client/auth/storage.rb +4 -2
  413. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  414. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  415. data/lib/google/api_client/client_secrets.rb +7 -9
  416. data/lib/google/apis/core/api_command.rb +136 -0
  417. data/lib/google/apis/core/base_service.rb +317 -0
  418. data/lib/google/apis/core/batch.rb +239 -0
  419. data/lib/google/apis/core/download.rb +94 -0
  420. data/lib/google/apis/core/hashable.rb +44 -0
  421. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  422. data/lib/google/apis/core/http_command.rb +328 -0
  423. data/lib/google/apis/core/json_representation.rb +145 -0
  424. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  425. data/lib/google/apis/core/multipart.rb +187 -0
  426. data/lib/google/apis/core/upload.rb +289 -0
  427. data/lib/google/{api_client → apis}/errors.rb +39 -28
  428. data/lib/google/apis/generator/annotator.rb +295 -0
  429. data/lib/google/apis/generator/helpers.rb +74 -0
  430. data/lib/google/apis/generator/model.rb +143 -0
  431. data/lib/google/apis/generator/template.rb +124 -0
  432. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  433. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  434. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  435. data/lib/google/apis/generator/templates/_representation_stub.tmpl +17 -0
  436. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  437. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  438. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  439. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  440. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  441. data/lib/google/apis/generator.rb +70 -0
  442. data/lib/google/apis/options.rb +85 -0
  443. data/lib/google/apis/version.rb +39 -0
  444. data/lib/google/apis.rb +48 -0
  445. data/rakelib/metrics.rake +22 -0
  446. data/rakelib/rubocop.rake +10 -0
  447. data/rakelib/spec.rake +11 -0
  448. data/rakelib/yard.rake +11 -0
  449. data/samples/cli/Gemfile +7 -0
  450. data/samples/cli/README.md +51 -0
  451. data/samples/cli/google-api-samples +32 -0
  452. data/samples/cli/lib/base_cli.rb +95 -0
  453. data/samples/cli/lib/samples/analytics.rb +62 -0
  454. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  455. data/samples/cli/lib/samples/calendar.rb +83 -0
  456. data/samples/cli/lib/samples/drive.rb +82 -0
  457. data/samples/cli/lib/samples/gmail.rb +50 -0
  458. data/samples/cli/lib/samples/pubsub.rb +114 -0
  459. data/samples/cli/lib/samples/translate.rb +44 -0
  460. data/samples/cli/lib/samples/you_tube.rb +44 -0
  461. data/samples/web/Gemfile +7 -0
  462. data/samples/web/README.md +44 -0
  463. data/samples/web/app.rb +120 -0
  464. data/samples/web/views/calendar.erb +34 -0
  465. data/{lib/google/api_client/service_account.rb → samples/web/views/drive.erb} +20 -8
  466. data/samples/web/views/home.erb +35 -0
  467. data/samples/web/views/layout.erb +40 -0
  468. data/script/generate +100 -0
  469. data/script/package +8 -0
  470. data/script/release +15 -0
  471. data/spec/fixtures/files/api_names.yaml +3 -0
  472. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  473. data/spec/fixtures/files/child/.gitignore +0 -0
  474. data/spec/fixtures/files/client_secrets.json +1 -0
  475. data/spec/fixtures/files/invalid.json +1 -0
  476. data/spec/fixtures/files/test.blah +1 -0
  477. data/spec/fixtures/files/test.txt +1 -0
  478. data/spec/fixtures/files/test_api.json +440 -0
  479. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  480. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  481. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  482. data/spec/google/api_client/client_secrets_spec.rb +338 -2
  483. data/spec/google/apis/core/api_command_spec.rb +209 -0
  484. data/spec/google/apis/core/batch_spec.rb +142 -0
  485. data/spec/google/apis/core/download_spec.rb +103 -0
  486. data/spec/google/apis/core/hashable_spec.rb +60 -0
  487. data/spec/google/apis/core/http_command_spec.rb +303 -0
  488. data/spec/google/apis/core/json_representation_spec.rb +199 -0
  489. data/spec/google/apis/core/service_spec.rb +247 -0
  490. data/spec/google/apis/core/upload_spec.rb +300 -0
  491. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  492. data/spec/google/apis/generator/generator_spec.rb +324 -0
  493. data/spec/google/apis/logging_spec.rb +45 -0
  494. data/spec/google/apis/options_spec.rb +40 -0
  495. data/spec/integration_tests/adsense_spec.rb +29 -0
  496. data/spec/integration_tests/drive_spec.rb +35 -0
  497. data/spec/integration_tests/pubsub_spec.rb +48 -0
  498. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  499. data/spec/spec_helper/load_path_spec.rb +33 -0
  500. data/spec/spec_helper.rb +131 -44
  501. data/third_party/hurley_patches.rb +103 -0
  502. metadata +563 -188
  503. data/lib/compat/multi_json.rb +0 -19
  504. data/lib/google/api_client/auth/file_storage.rb +0 -59
  505. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  506. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  507. data/lib/google/api_client/batch.rb +0 -326
  508. data/lib/google/api_client/charset.rb +0 -33
  509. data/lib/google/api_client/discovery/api.rb +0 -310
  510. data/lib/google/api_client/discovery/media.rb +0 -77
  511. data/lib/google/api_client/discovery/method.rb +0 -363
  512. data/lib/google/api_client/discovery/resource.rb +0 -156
  513. data/lib/google/api_client/discovery/schema.rb +0 -117
  514. data/lib/google/api_client/environment.rb +0 -42
  515. data/lib/google/api_client/gzip.rb +0 -28
  516. data/lib/google/api_client/logging.rb +0 -32
  517. data/lib/google/api_client/media.rb +0 -259
  518. data/lib/google/api_client/railtie.rb +0 -18
  519. data/lib/google/api_client/request.rb +0 -350
  520. data/lib/google/api_client/result.rb +0 -255
  521. data/lib/google/api_client/service/batch.rb +0 -110
  522. data/lib/google/api_client/service/request.rb +0 -144
  523. data/lib/google/api_client/service/resource.rb +0 -40
  524. data/lib/google/api_client/service/result.rb +0 -162
  525. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  526. data/lib/google/api_client/service/stub_generator.rb +0 -61
  527. data/lib/google/api_client/service.rb +0 -233
  528. data/lib/google/api_client.rb +0 -750
  529. data/spec/google/api_client/batch_spec.rb +0 -248
  530. data/spec/google/api_client/discovery_spec.rb +0 -708
  531. data/spec/google/api_client/gzip_spec.rb +0 -98
  532. data/spec/google/api_client/media_spec.rb +0 -178
  533. data/spec/google/api_client/result_spec.rb +0 -207
  534. data/spec/google/api_client/service_account_spec.rb +0 -169
  535. data/spec/google/api_client/service_spec.rb +0 -618
  536. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  537. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,958 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module DoubleclicksearchV2
24
+
25
+ # A message containing availability data relevant to DoubleClick Search.
26
+ class Availability
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # DS advertiser ID.
30
+ # Corresponds to the JSON property `advertiserId`
31
+ # @return [String]
32
+ attr_accessor :advertiser_id
33
+
34
+ # DS agency ID.
35
+ # Corresponds to the JSON property `agencyId`
36
+ # @return [String]
37
+ attr_accessor :agency_id
38
+
39
+ # The time by which all conversions have been uploaded, in epoch millis UTC.
40
+ # Corresponds to the JSON property `availabilityTimestamp`
41
+ # @return [String]
42
+ attr_accessor :availability_timestamp
43
+
44
+ # The numeric segmentation identifier (for example, DoubleClick Search
45
+ # Floodlight activity ID).
46
+ # Corresponds to the JSON property `segmentationId`
47
+ # @return [String]
48
+ attr_accessor :segmentation_id
49
+
50
+ # The friendly segmentation identifier (for example, DoubleClick Search
51
+ # Floodlight activity name).
52
+ # Corresponds to the JSON property `segmentationName`
53
+ # @return [String]
54
+ attr_accessor :segmentation_name
55
+
56
+ # The segmentation type that this availability is for (its default value is
57
+ # FLOODLIGHT).
58
+ # Corresponds to the JSON property `segmentationType`
59
+ # @return [String]
60
+ attr_accessor :segmentation_type
61
+
62
+ def initialize(**args)
63
+ update!(**args)
64
+ end
65
+
66
+ # Update properties of this object
67
+ def update!(**args)
68
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
69
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
70
+ @availability_timestamp = args[:availability_timestamp] if args.key?(:availability_timestamp)
71
+ @segmentation_id = args[:segmentation_id] if args.key?(:segmentation_id)
72
+ @segmentation_name = args[:segmentation_name] if args.key?(:segmentation_name)
73
+ @segmentation_type = args[:segmentation_type] if args.key?(:segmentation_type)
74
+ end
75
+ end
76
+
77
+ # A conversion containing data relevant to DoubleClick Search.
78
+ class Conversion
79
+ include Google::Apis::Core::Hashable
80
+
81
+ # DS ad group ID.
82
+ # Corresponds to the JSON property `adGroupId`
83
+ # @return [String]
84
+ attr_accessor :ad_group_id
85
+
86
+ # DS ad ID.
87
+ # Corresponds to the JSON property `adId`
88
+ # @return [String]
89
+ attr_accessor :ad_id
90
+
91
+ # DS advertiser ID.
92
+ # Corresponds to the JSON property `advertiserId`
93
+ # @return [String]
94
+ attr_accessor :advertiser_id
95
+
96
+ # DS agency ID.
97
+ # Corresponds to the JSON property `agencyId`
98
+ # @return [String]
99
+ attr_accessor :agency_id
100
+
101
+ # This field is ignored.
102
+ # Corresponds to the JSON property `attributionModel`
103
+ # @return [String]
104
+ attr_accessor :attribution_model
105
+
106
+ # DS campaign ID.
107
+ # Corresponds to the JSON property `campaignId`
108
+ # @return [String]
109
+ attr_accessor :campaign_id
110
+
111
+ # Sales channel for the product. Acceptable values are:
112
+ # - "local": a physical store
113
+ # - "online": an online store
114
+ # Corresponds to the JSON property `channel`
115
+ # @return [String]
116
+ attr_accessor :channel
117
+
118
+ # DS click ID for the conversion.
119
+ # Corresponds to the JSON property `clickId`
120
+ # @return [String]
121
+ attr_accessor :click_id
122
+
123
+ # For offline conversions, this is an ID that advertisers are required to
124
+ # provide. Advertisers can specify any ID that is meaningful to them. For online
125
+ # conversions, DS copies the dsConversionId or floodlightOrderId into this
126
+ # property depending on the advertiser's Floodlight instructions.
127
+ # Corresponds to the JSON property `conversionId`
128
+ # @return [String]
129
+ attr_accessor :conversion_id
130
+
131
+ # The time at which the conversion was last modified, in epoch millis UTC.
132
+ # Corresponds to the JSON property `conversionModifiedTimestamp`
133
+ # @return [String]
134
+ attr_accessor :conversion_modified_timestamp
135
+
136
+ # The time at which the conversion took place, in epoch millis UTC.
137
+ # Corresponds to the JSON property `conversionTimestamp`
138
+ # @return [String]
139
+ attr_accessor :conversion_timestamp
140
+
141
+ # This field is ignored.
142
+ # Corresponds to the JSON property `countMillis`
143
+ # @return [String]
144
+ attr_accessor :count_millis
145
+
146
+ # DS criterion (keyword) ID.
147
+ # Corresponds to the JSON property `criterionId`
148
+ # @return [String]
149
+ attr_accessor :criterion_id
150
+
151
+ # The currency code for the conversion's revenue. Should be in ISO 4217
152
+ # alphabetic (3-char) format.
153
+ # Corresponds to the JSON property `currencyCode`
154
+ # @return [String]
155
+ attr_accessor :currency_code
156
+
157
+ # Custom dimensions for the conversion, which can be used to filter data in a
158
+ # report.
159
+ # Corresponds to the JSON property `customDimension`
160
+ # @return [Array<Google::Apis::DoubleclicksearchV2::CustomDimension>]
161
+ attr_accessor :custom_dimension
162
+
163
+ # Custom metrics for the conversion.
164
+ # Corresponds to the JSON property `customMetric`
165
+ # @return [Array<Google::Apis::DoubleclicksearchV2::CustomMetric>]
166
+ attr_accessor :custom_metric
167
+
168
+ # The type of device on which the conversion occurred.
169
+ # Corresponds to the JSON property `deviceType`
170
+ # @return [String]
171
+ attr_accessor :device_type
172
+
173
+ # ID that DoubleClick Search generates for each conversion.
174
+ # Corresponds to the JSON property `dsConversionId`
175
+ # @return [String]
176
+ attr_accessor :ds_conversion_id
177
+
178
+ # DS engine account ID.
179
+ # Corresponds to the JSON property `engineAccountId`
180
+ # @return [String]
181
+ attr_accessor :engine_account_id
182
+
183
+ # The Floodlight order ID provided by the advertiser for the conversion.
184
+ # Corresponds to the JSON property `floodlightOrderId`
185
+ # @return [String]
186
+ attr_accessor :floodlight_order_id
187
+
188
+ # ID that DS generates and uses to uniquely identify the inventory account that
189
+ # contains the product.
190
+ # Corresponds to the JSON property `inventoryAccountId`
191
+ # @return [String]
192
+ attr_accessor :inventory_account_id
193
+
194
+ # The country registered for the Merchant Center feed that contains the product.
195
+ # Use an ISO 3166 code to specify a country.
196
+ # Corresponds to the JSON property `productCountry`
197
+ # @return [String]
198
+ attr_accessor :product_country
199
+
200
+ # DS product group ID.
201
+ # Corresponds to the JSON property `productGroupId`
202
+ # @return [String]
203
+ attr_accessor :product_group_id
204
+
205
+ # The product ID (SKU).
206
+ # Corresponds to the JSON property `productId`
207
+ # @return [String]
208
+ attr_accessor :product_id
209
+
210
+ # The language registered for the Merchant Center feed that contains the product.
211
+ # Use an ISO 639 code to specify a language.
212
+ # Corresponds to the JSON property `productLanguage`
213
+ # @return [String]
214
+ attr_accessor :product_language
215
+
216
+ # The quantity of this conversion, in millis.
217
+ # Corresponds to the JSON property `quantityMillis`
218
+ # @return [String]
219
+ attr_accessor :quantity_millis
220
+
221
+ # The revenue amount of this TRANSACTION conversion, in micros (value multiplied
222
+ # by 1000, no decimal). For example, to specify a revenue value of "10" enter "
223
+ # 10000" in your request.
224
+ # Corresponds to the JSON property `revenueMicros`
225
+ # @return [String]
226
+ attr_accessor :revenue_micros
227
+
228
+ # The numeric segmentation identifier (for example, DoubleClick Search
229
+ # Floodlight activity ID).
230
+ # Corresponds to the JSON property `segmentationId`
231
+ # @return [String]
232
+ attr_accessor :segmentation_id
233
+
234
+ # The friendly segmentation identifier (for example, DoubleClick Search
235
+ # Floodlight activity name).
236
+ # Corresponds to the JSON property `segmentationName`
237
+ # @return [String]
238
+ attr_accessor :segmentation_name
239
+
240
+ # The segmentation type of this conversion (for example, FLOODLIGHT).
241
+ # Corresponds to the JSON property `segmentationType`
242
+ # @return [String]
243
+ attr_accessor :segmentation_type
244
+
245
+ # The state of the conversion, that is, either ACTIVE or REMOVED. Note: state
246
+ # DELETED is deprecated.
247
+ # Corresponds to the JSON property `state`
248
+ # @return [String]
249
+ attr_accessor :state
250
+
251
+ # The ID of the local store for which the product was advertised. Applicable
252
+ # only when the channel is "local".
253
+ # Corresponds to the JSON property `storeId`
254
+ # @return [String]
255
+ attr_accessor :store_id
256
+
257
+ # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION
258
+ # conversion is an action by the user that has no monetarily quantifiable value,
259
+ # while a TRANSACTION conversion is an action that does have a monetarily
260
+ # quantifiable value. Examples are email list signups (ACTION) versus ecommerce
261
+ # purchases (TRANSACTION).
262
+ # Corresponds to the JSON property `type`
263
+ # @return [String]
264
+ attr_accessor :type
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
273
+ @ad_id = args[:ad_id] if args.key?(:ad_id)
274
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
275
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
276
+ @attribution_model = args[:attribution_model] if args.key?(:attribution_model)
277
+ @campaign_id = args[:campaign_id] if args.key?(:campaign_id)
278
+ @channel = args[:channel] if args.key?(:channel)
279
+ @click_id = args[:click_id] if args.key?(:click_id)
280
+ @conversion_id = args[:conversion_id] if args.key?(:conversion_id)
281
+ @conversion_modified_timestamp = args[:conversion_modified_timestamp] if args.key?(:conversion_modified_timestamp)
282
+ @conversion_timestamp = args[:conversion_timestamp] if args.key?(:conversion_timestamp)
283
+ @count_millis = args[:count_millis] if args.key?(:count_millis)
284
+ @criterion_id = args[:criterion_id] if args.key?(:criterion_id)
285
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
286
+ @custom_dimension = args[:custom_dimension] if args.key?(:custom_dimension)
287
+ @custom_metric = args[:custom_metric] if args.key?(:custom_metric)
288
+ @device_type = args[:device_type] if args.key?(:device_type)
289
+ @ds_conversion_id = args[:ds_conversion_id] if args.key?(:ds_conversion_id)
290
+ @engine_account_id = args[:engine_account_id] if args.key?(:engine_account_id)
291
+ @floodlight_order_id = args[:floodlight_order_id] if args.key?(:floodlight_order_id)
292
+ @inventory_account_id = args[:inventory_account_id] if args.key?(:inventory_account_id)
293
+ @product_country = args[:product_country] if args.key?(:product_country)
294
+ @product_group_id = args[:product_group_id] if args.key?(:product_group_id)
295
+ @product_id = args[:product_id] if args.key?(:product_id)
296
+ @product_language = args[:product_language] if args.key?(:product_language)
297
+ @quantity_millis = args[:quantity_millis] if args.key?(:quantity_millis)
298
+ @revenue_micros = args[:revenue_micros] if args.key?(:revenue_micros)
299
+ @segmentation_id = args[:segmentation_id] if args.key?(:segmentation_id)
300
+ @segmentation_name = args[:segmentation_name] if args.key?(:segmentation_name)
301
+ @segmentation_type = args[:segmentation_type] if args.key?(:segmentation_type)
302
+ @state = args[:state] if args.key?(:state)
303
+ @store_id = args[:store_id] if args.key?(:store_id)
304
+ @type = args[:type] if args.key?(:type)
305
+ end
306
+ end
307
+
308
+ # A list of conversions.
309
+ class ConversionList
310
+ include Google::Apis::Core::Hashable
311
+
312
+ # The conversions being requested.
313
+ # Corresponds to the JSON property `conversion`
314
+ # @return [Array<Google::Apis::DoubleclicksearchV2::Conversion>]
315
+ attr_accessor :conversion
316
+
317
+ # Identifies this as a ConversionList resource. Value: the fixed string
318
+ # doubleclicksearch#conversionList.
319
+ # Corresponds to the JSON property `kind`
320
+ # @return [String]
321
+ attr_accessor :kind
322
+
323
+ def initialize(**args)
324
+ update!(**args)
325
+ end
326
+
327
+ # Update properties of this object
328
+ def update!(**args)
329
+ @conversion = args[:conversion] if args.key?(:conversion)
330
+ @kind = args[:kind] if args.key?(:kind)
331
+ end
332
+ end
333
+
334
+ # A message containing the custome dimension.
335
+ class CustomDimension
336
+ include Google::Apis::Core::Hashable
337
+
338
+ # Custom dimension name.
339
+ # Corresponds to the JSON property `name`
340
+ # @return [String]
341
+ attr_accessor :name
342
+
343
+ # Custom dimension value.
344
+ # Corresponds to the JSON property `value`
345
+ # @return [String]
346
+ attr_accessor :value
347
+
348
+ def initialize(**args)
349
+ update!(**args)
350
+ end
351
+
352
+ # Update properties of this object
353
+ def update!(**args)
354
+ @name = args[:name] if args.key?(:name)
355
+ @value = args[:value] if args.key?(:value)
356
+ end
357
+ end
358
+
359
+ # A message containing the custome metric.
360
+ class CustomMetric
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # Custom metric name.
364
+ # Corresponds to the JSON property `name`
365
+ # @return [String]
366
+ attr_accessor :name
367
+
368
+ # Custom metric numeric value.
369
+ # Corresponds to the JSON property `value`
370
+ # @return [Float]
371
+ attr_accessor :value
372
+
373
+ def initialize(**args)
374
+ update!(**args)
375
+ end
376
+
377
+ # Update properties of this object
378
+ def update!(**args)
379
+ @name = args[:name] if args.key?(:name)
380
+ @value = args[:value] if args.key?(:value)
381
+ end
382
+ end
383
+
384
+ # A DoubleClick Search report. This object contains the report request, some
385
+ # report metadata such as currency code, and the generated report rows or report
386
+ # files.
387
+ class Report
388
+ include Google::Apis::Core::Hashable
389
+
390
+ # Asynchronous report only. Contains a list of generated report files once the
391
+ # report has succesfully completed.
392
+ # Corresponds to the JSON property `files`
393
+ # @return [Array<Google::Apis::DoubleclicksearchV2::Report::File>]
394
+ attr_accessor :files
395
+
396
+ # Asynchronous report only. Id of the report.
397
+ # Corresponds to the JSON property `id`
398
+ # @return [String]
399
+ attr_accessor :id
400
+
401
+ # Asynchronous report only. True if and only if the report has completed
402
+ # successfully and the report files are ready to be downloaded.
403
+ # Corresponds to the JSON property `isReportReady`
404
+ # @return [Boolean]
405
+ attr_accessor :is_report_ready
406
+ alias_method :is_report_ready?, :is_report_ready
407
+
408
+ # Identifies this as a Report resource. Value: the fixed string
409
+ # doubleclicksearch#report.
410
+ # Corresponds to the JSON property `kind`
411
+ # @return [String]
412
+ attr_accessor :kind
413
+
414
+ # A request object used to create a DoubleClick Search report.
415
+ # Corresponds to the JSON property `request`
416
+ # @return [Google::Apis::DoubleclicksearchV2::ReportRequest]
417
+ attr_accessor :request
418
+
419
+ # The number of report rows generated by the report, not including headers.
420
+ # Corresponds to the JSON property `rowCount`
421
+ # @return [Fixnum]
422
+ attr_accessor :row_count
423
+
424
+ # Synchronous report only. Generated report rows.
425
+ # Corresponds to the JSON property `rows`
426
+ # @return [Array<Hash<String,Object>>]
427
+ attr_accessor :rows
428
+
429
+ # The currency code of all monetary values produced in the report, including
430
+ # values that are set by users (e.g., keyword bid settings) and metrics (e.g.,
431
+ # cost and revenue). The currency code of a report is determined by the
432
+ # statisticsCurrency field of the report request.
433
+ # Corresponds to the JSON property `statisticsCurrencyCode`
434
+ # @return [String]
435
+ attr_accessor :statistics_currency_code
436
+
437
+ # If all statistics of the report are sourced from the same time zone, this
438
+ # would be it. Otherwise the field is unset.
439
+ # Corresponds to the JSON property `statisticsTimeZone`
440
+ # @return [String]
441
+ attr_accessor :statistics_time_zone
442
+
443
+ def initialize(**args)
444
+ update!(**args)
445
+ end
446
+
447
+ # Update properties of this object
448
+ def update!(**args)
449
+ @files = args[:files] if args.key?(:files)
450
+ @id = args[:id] if args.key?(:id)
451
+ @is_report_ready = args[:is_report_ready] if args.key?(:is_report_ready)
452
+ @kind = args[:kind] if args.key?(:kind)
453
+ @request = args[:request] if args.key?(:request)
454
+ @row_count = args[:row_count] if args.key?(:row_count)
455
+ @rows = args[:rows] if args.key?(:rows)
456
+ @statistics_currency_code = args[:statistics_currency_code] if args.key?(:statistics_currency_code)
457
+ @statistics_time_zone = args[:statistics_time_zone] if args.key?(:statistics_time_zone)
458
+ end
459
+
460
+ #
461
+ class File
462
+ include Google::Apis::Core::Hashable
463
+
464
+ # The size of this report file in bytes.
465
+ # Corresponds to the JSON property `byteCount`
466
+ # @return [String]
467
+ attr_accessor :byte_count
468
+
469
+ # Use this url to download the report file.
470
+ # Corresponds to the JSON property `url`
471
+ # @return [String]
472
+ attr_accessor :url
473
+
474
+ def initialize(**args)
475
+ update!(**args)
476
+ end
477
+
478
+ # Update properties of this object
479
+ def update!(**args)
480
+ @byte_count = args[:byte_count] if args.key?(:byte_count)
481
+ @url = args[:url] if args.key?(:url)
482
+ end
483
+ end
484
+ end
485
+
486
+ # A request object used to create a DoubleClick Search report.
487
+ class ReportApiColumnSpec
488
+ include Google::Apis::Core::Hashable
489
+
490
+ # Name of a DoubleClick Search column to include in the report.
491
+ # Corresponds to the JSON property `columnName`
492
+ # @return [String]
493
+ attr_accessor :column_name
494
+
495
+ # Segments a report by a custom dimension. The report must be scoped to an
496
+ # advertiser or lower, and the custom dimension must already be set up in
497
+ # DoubleClick Search. The custom dimension name, which appears in DoubleClick
498
+ # Search, is case sensitive.
499
+ # If used in a conversion report, returns the value of the specified custom
500
+ # dimension for the given conversion, if set. This column does not segment the
501
+ # conversion report.
502
+ # Corresponds to the JSON property `customDimensionName`
503
+ # @return [String]
504
+ attr_accessor :custom_dimension_name
505
+
506
+ # Name of a custom metric to include in the report. The report must be scoped to
507
+ # an advertiser or lower, and the custom metric must already be set up in
508
+ # DoubleClick Search. The custom metric name, which appears in DoubleClick
509
+ # Search, is case sensitive.
510
+ # Corresponds to the JSON property `customMetricName`
511
+ # @return [String]
512
+ attr_accessor :custom_metric_name
513
+
514
+ # Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall
515
+ # time range of the report for this column only. Must be provided together with
516
+ # startDate.
517
+ # Corresponds to the JSON property `endDate`
518
+ # @return [String]
519
+ attr_accessor :end_date
520
+
521
+ # Synchronous report only. Set to true to group by this column. Defaults to
522
+ # false.
523
+ # Corresponds to the JSON property `groupByColumn`
524
+ # @return [Boolean]
525
+ attr_accessor :group_by_column
526
+ alias_method :group_by_column?, :group_by_column
527
+
528
+ # Text used to identify this column in the report output; defaults to columnName
529
+ # or savedColumnName when not specified. This can be used to prevent collisions
530
+ # between DoubleClick Search columns and saved columns with the same name.
531
+ # Corresponds to the JSON property `headerText`
532
+ # @return [String]
533
+ attr_accessor :header_text
534
+
535
+ # The platform that is used to provide data for the custom dimension. Acceptable
536
+ # values are "floodlight".
537
+ # Corresponds to the JSON property `platformSource`
538
+ # @return [String]
539
+ attr_accessor :platform_source
540
+
541
+ # Returns metrics only for a specific type of product activity. Accepted values
542
+ # are:
543
+ # - "sold": returns metrics only for products that were sold
544
+ # - "advertised": returns metrics only for products that were advertised in a
545
+ # Shopping campaign, and that might or might not have been sold
546
+ # Corresponds to the JSON property `productReportPerspective`
547
+ # @return [String]
548
+ attr_accessor :product_report_perspective
549
+
550
+ # Name of a saved column to include in the report. The report must be scoped at
551
+ # advertiser or lower, and this saved column must already be created in the
552
+ # DoubleClick Search UI.
553
+ # Corresponds to the JSON property `savedColumnName`
554
+ # @return [String]
555
+ attr_accessor :saved_column_name
556
+
557
+ # Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall
558
+ # time range of the report for this column only. Must be provided together with
559
+ # endDate.
560
+ # Corresponds to the JSON property `startDate`
561
+ # @return [String]
562
+ attr_accessor :start_date
563
+
564
+ def initialize(**args)
565
+ update!(**args)
566
+ end
567
+
568
+ # Update properties of this object
569
+ def update!(**args)
570
+ @column_name = args[:column_name] if args.key?(:column_name)
571
+ @custom_dimension_name = args[:custom_dimension_name] if args.key?(:custom_dimension_name)
572
+ @custom_metric_name = args[:custom_metric_name] if args.key?(:custom_metric_name)
573
+ @end_date = args[:end_date] if args.key?(:end_date)
574
+ @group_by_column = args[:group_by_column] if args.key?(:group_by_column)
575
+ @header_text = args[:header_text] if args.key?(:header_text)
576
+ @platform_source = args[:platform_source] if args.key?(:platform_source)
577
+ @product_report_perspective = args[:product_report_perspective] if args.key?(:product_report_perspective)
578
+ @saved_column_name = args[:saved_column_name] if args.key?(:saved_column_name)
579
+ @start_date = args[:start_date] if args.key?(:start_date)
580
+ end
581
+ end
582
+
583
+ # A request object used to create a DoubleClick Search report.
584
+ class ReportRequest
585
+ include Google::Apis::Core::Hashable
586
+
587
+ # The columns to include in the report. This includes both DoubleClick Search
588
+ # columns and saved columns. For DoubleClick Search columns, only the columnName
589
+ # parameter is required. For saved columns only the savedColumnName parameter is
590
+ # required. Both columnName and savedColumnName cannot be set in the same stanza.
591
+ # Corresponds to the JSON property `columns`
592
+ # @return [Array<Google::Apis::DoubleclicksearchV2::ReportApiColumnSpec>]
593
+ attr_accessor :columns
594
+
595
+ # Format that the report should be returned in. Currently csv or tsv is
596
+ # supported.
597
+ # Corresponds to the JSON property `downloadFormat`
598
+ # @return [String]
599
+ attr_accessor :download_format
600
+
601
+ # A list of filters to be applied to the report.
602
+ # Corresponds to the JSON property `filters`
603
+ # @return [Array<Google::Apis::DoubleclicksearchV2::ReportRequest::Filter>]
604
+ attr_accessor :filters
605
+
606
+ # Determines if removed entities should be included in the report. Defaults to
607
+ # false. Deprecated, please use includeRemovedEntities instead.
608
+ # Corresponds to the JSON property `includeDeletedEntities`
609
+ # @return [Boolean]
610
+ attr_accessor :include_deleted_entities
611
+ alias_method :include_deleted_entities?, :include_deleted_entities
612
+
613
+ # Determines if removed entities should be included in the report. Defaults to
614
+ # false.
615
+ # Corresponds to the JSON property `includeRemovedEntities`
616
+ # @return [Boolean]
617
+ attr_accessor :include_removed_entities
618
+ alias_method :include_removed_entities?, :include_removed_entities
619
+
620
+ # Asynchronous report only. The maximum number of rows per report file. A large
621
+ # report is split into many files based on this field. Acceptable values are
622
+ # 1000000 to 100000000, inclusive.
623
+ # Corresponds to the JSON property `maxRowsPerFile`
624
+ # @return [Fixnum]
625
+ attr_accessor :max_rows_per_file
626
+
627
+ # Synchronous report only. A list of columns and directions defining sorting to
628
+ # be performed on the report rows.
629
+ # Corresponds to the JSON property `orderBy`
630
+ # @return [Array<Google::Apis::DoubleclicksearchV2::ReportRequest::OrderBy>]
631
+ attr_accessor :order_by
632
+
633
+ # The reportScope is a set of IDs that are used to determine which subset of
634
+ # entities will be returned in the report. The full lineage of IDs from the
635
+ # lowest scoped level desired up through agency is required.
636
+ # Corresponds to the JSON property `reportScope`
637
+ # @return [Google::Apis::DoubleclicksearchV2::ReportRequest::ReportScope]
638
+ attr_accessor :report_scope
639
+
640
+ # Determines the type of rows that are returned in the report. For example, if
641
+ # you specify reportType: keyword, each row in the report will contain data
642
+ # about a keyword. See the Types of Reports reference for the columns that are
643
+ # available for each type.
644
+ # Corresponds to the JSON property `reportType`
645
+ # @return [String]
646
+ attr_accessor :report_type
647
+
648
+ # Synchronous report only. The maxinum number of rows to return; additional rows
649
+ # are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to 10000.
650
+ # Corresponds to the JSON property `rowCount`
651
+ # @return [Fixnum]
652
+ attr_accessor :row_count
653
+
654
+ # Synchronous report only. Zero-based index of the first row to return.
655
+ # Acceptable values are 0 to 50000, inclusive. Defaults to 0.
656
+ # Corresponds to the JSON property `startRow`
657
+ # @return [Fixnum]
658
+ attr_accessor :start_row
659
+
660
+ # Specifies the currency in which monetary will be returned. Possible values are:
661
+ # usd, agency (valid if the report is scoped to agency or lower), advertiser (
662
+ # valid if the report is scoped to * advertiser or lower), or account (valid if
663
+ # the report is scoped to engine account or lower).
664
+ # Corresponds to the JSON property `statisticsCurrency`
665
+ # @return [String]
666
+ attr_accessor :statistics_currency
667
+
668
+ # If metrics are requested in a report, this argument will be used to restrict
669
+ # the metrics to a specific time range.
670
+ # Corresponds to the JSON property `timeRange`
671
+ # @return [Google::Apis::DoubleclicksearchV2::ReportRequest::TimeRange]
672
+ attr_accessor :time_range
673
+
674
+ # If true, the report would only be created if all the requested stat data are
675
+ # sourced from a single timezone. Defaults to false.
676
+ # Corresponds to the JSON property `verifySingleTimeZone`
677
+ # @return [Boolean]
678
+ attr_accessor :verify_single_time_zone
679
+ alias_method :verify_single_time_zone?, :verify_single_time_zone
680
+
681
+ def initialize(**args)
682
+ update!(**args)
683
+ end
684
+
685
+ # Update properties of this object
686
+ def update!(**args)
687
+ @columns = args[:columns] if args.key?(:columns)
688
+ @download_format = args[:download_format] if args.key?(:download_format)
689
+ @filters = args[:filters] if args.key?(:filters)
690
+ @include_deleted_entities = args[:include_deleted_entities] if args.key?(:include_deleted_entities)
691
+ @include_removed_entities = args[:include_removed_entities] if args.key?(:include_removed_entities)
692
+ @max_rows_per_file = args[:max_rows_per_file] if args.key?(:max_rows_per_file)
693
+ @order_by = args[:order_by] if args.key?(:order_by)
694
+ @report_scope = args[:report_scope] if args.key?(:report_scope)
695
+ @report_type = args[:report_type] if args.key?(:report_type)
696
+ @row_count = args[:row_count] if args.key?(:row_count)
697
+ @start_row = args[:start_row] if args.key?(:start_row)
698
+ @statistics_currency = args[:statistics_currency] if args.key?(:statistics_currency)
699
+ @time_range = args[:time_range] if args.key?(:time_range)
700
+ @verify_single_time_zone = args[:verify_single_time_zone] if args.key?(:verify_single_time_zone)
701
+ end
702
+
703
+ #
704
+ class Filter
705
+ include Google::Apis::Core::Hashable
706
+
707
+ # A request object used to create a DoubleClick Search report.
708
+ # Corresponds to the JSON property `column`
709
+ # @return [Google::Apis::DoubleclicksearchV2::ReportApiColumnSpec]
710
+ attr_accessor :column
711
+
712
+ # Operator to use in the filter. See the filter reference for a list of
713
+ # available operators.
714
+ # Corresponds to the JSON property `operator`
715
+ # @return [String]
716
+ attr_accessor :operator
717
+
718
+ # A list of values to filter the column value against.
719
+ # Corresponds to the JSON property `values`
720
+ # @return [Array<Object>]
721
+ attr_accessor :values
722
+
723
+ def initialize(**args)
724
+ update!(**args)
725
+ end
726
+
727
+ # Update properties of this object
728
+ def update!(**args)
729
+ @column = args[:column] if args.key?(:column)
730
+ @operator = args[:operator] if args.key?(:operator)
731
+ @values = args[:values] if args.key?(:values)
732
+ end
733
+ end
734
+
735
+ #
736
+ class OrderBy
737
+ include Google::Apis::Core::Hashable
738
+
739
+ # A request object used to create a DoubleClick Search report.
740
+ # Corresponds to the JSON property `column`
741
+ # @return [Google::Apis::DoubleclicksearchV2::ReportApiColumnSpec]
742
+ attr_accessor :column
743
+
744
+ # The sort direction, which is either ascending or descending.
745
+ # Corresponds to the JSON property `sortOrder`
746
+ # @return [String]
747
+ attr_accessor :sort_order
748
+
749
+ def initialize(**args)
750
+ update!(**args)
751
+ end
752
+
753
+ # Update properties of this object
754
+ def update!(**args)
755
+ @column = args[:column] if args.key?(:column)
756
+ @sort_order = args[:sort_order] if args.key?(:sort_order)
757
+ end
758
+ end
759
+
760
+ # The reportScope is a set of IDs that are used to determine which subset of
761
+ # entities will be returned in the report. The full lineage of IDs from the
762
+ # lowest scoped level desired up through agency is required.
763
+ class ReportScope
764
+ include Google::Apis::Core::Hashable
765
+
766
+ # DS ad group ID.
767
+ # Corresponds to the JSON property `adGroupId`
768
+ # @return [String]
769
+ attr_accessor :ad_group_id
770
+
771
+ # DS ad ID.
772
+ # Corresponds to the JSON property `adId`
773
+ # @return [String]
774
+ attr_accessor :ad_id
775
+
776
+ # DS advertiser ID.
777
+ # Corresponds to the JSON property `advertiserId`
778
+ # @return [String]
779
+ attr_accessor :advertiser_id
780
+
781
+ # DS agency ID.
782
+ # Corresponds to the JSON property `agencyId`
783
+ # @return [String]
784
+ attr_accessor :agency_id
785
+
786
+ # DS campaign ID.
787
+ # Corresponds to the JSON property `campaignId`
788
+ # @return [String]
789
+ attr_accessor :campaign_id
790
+
791
+ # DS engine account ID.
792
+ # Corresponds to the JSON property `engineAccountId`
793
+ # @return [String]
794
+ attr_accessor :engine_account_id
795
+
796
+ # DS keyword ID.
797
+ # Corresponds to the JSON property `keywordId`
798
+ # @return [String]
799
+ attr_accessor :keyword_id
800
+
801
+ def initialize(**args)
802
+ update!(**args)
803
+ end
804
+
805
+ # Update properties of this object
806
+ def update!(**args)
807
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
808
+ @ad_id = args[:ad_id] if args.key?(:ad_id)
809
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
810
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
811
+ @campaign_id = args[:campaign_id] if args.key?(:campaign_id)
812
+ @engine_account_id = args[:engine_account_id] if args.key?(:engine_account_id)
813
+ @keyword_id = args[:keyword_id] if args.key?(:keyword_id)
814
+ end
815
+ end
816
+
817
+ # If metrics are requested in a report, this argument will be used to restrict
818
+ # the metrics to a specific time range.
819
+ class TimeRange
820
+ include Google::Apis::Core::Hashable
821
+
822
+ # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See
823
+ # additional references on how changed attribute reports work.
824
+ # Corresponds to the JSON property `changedAttributesSinceTimestamp`
825
+ # @return [DateTime]
826
+ attr_accessor :changed_attributes_since_timestamp
827
+
828
+ # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See
829
+ # additional references on how changed metrics reports work.
830
+ # Corresponds to the JSON property `changedMetricsSinceTimestamp`
831
+ # @return [DateTime]
832
+ attr_accessor :changed_metrics_since_timestamp
833
+
834
+ # Inclusive date in YYYY-MM-DD format.
835
+ # Corresponds to the JSON property `endDate`
836
+ # @return [String]
837
+ attr_accessor :end_date
838
+
839
+ # Inclusive date in YYYY-MM-DD format.
840
+ # Corresponds to the JSON property `startDate`
841
+ # @return [String]
842
+ attr_accessor :start_date
843
+
844
+ def initialize(**args)
845
+ update!(**args)
846
+ end
847
+
848
+ # Update properties of this object
849
+ def update!(**args)
850
+ @changed_attributes_since_timestamp = args[:changed_attributes_since_timestamp] if args.key?(:changed_attributes_since_timestamp)
851
+ @changed_metrics_since_timestamp = args[:changed_metrics_since_timestamp] if args.key?(:changed_metrics_since_timestamp)
852
+ @end_date = args[:end_date] if args.key?(:end_date)
853
+ @start_date = args[:start_date] if args.key?(:start_date)
854
+ end
855
+ end
856
+ end
857
+
858
+ # A saved column
859
+ class SavedColumn
860
+ include Google::Apis::Core::Hashable
861
+
862
+ # Identifies this as a SavedColumn resource. Value: the fixed string
863
+ # doubleclicksearch#savedColumn.
864
+ # Corresponds to the JSON property `kind`
865
+ # @return [String]
866
+ attr_accessor :kind
867
+
868
+ # The name of the saved column.
869
+ # Corresponds to the JSON property `savedColumnName`
870
+ # @return [String]
871
+ attr_accessor :saved_column_name
872
+
873
+ # The type of data this saved column will produce.
874
+ # Corresponds to the JSON property `type`
875
+ # @return [String]
876
+ attr_accessor :type
877
+
878
+ def initialize(**args)
879
+ update!(**args)
880
+ end
881
+
882
+ # Update properties of this object
883
+ def update!(**args)
884
+ @kind = args[:kind] if args.key?(:kind)
885
+ @saved_column_name = args[:saved_column_name] if args.key?(:saved_column_name)
886
+ @type = args[:type] if args.key?(:type)
887
+ end
888
+ end
889
+
890
+ # A list of saved columns. Advertisers create saved columns to report on
891
+ # Floodlight activities, Google Analytics goals, or custom KPIs. To request
892
+ # reports with saved columns, you'll need the saved column names that are
893
+ # available from this list.
894
+ class SavedColumnList
895
+ include Google::Apis::Core::Hashable
896
+
897
+ # The saved columns being requested.
898
+ # Corresponds to the JSON property `items`
899
+ # @return [Array<Google::Apis::DoubleclicksearchV2::SavedColumn>]
900
+ attr_accessor :items
901
+
902
+ # Identifies this as a SavedColumnList resource. Value: the fixed string
903
+ # doubleclicksearch#savedColumnList.
904
+ # Corresponds to the JSON property `kind`
905
+ # @return [String]
906
+ attr_accessor :kind
907
+
908
+ def initialize(**args)
909
+ update!(**args)
910
+ end
911
+
912
+ # Update properties of this object
913
+ def update!(**args)
914
+ @items = args[:items] if args.key?(:items)
915
+ @kind = args[:kind] if args.key?(:kind)
916
+ end
917
+ end
918
+
919
+ # The request to update availability.
920
+ class UpdateAvailabilityRequest
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # The availabilities being requested.
924
+ # Corresponds to the JSON property `availabilities`
925
+ # @return [Array<Google::Apis::DoubleclicksearchV2::Availability>]
926
+ attr_accessor :availabilities
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @availabilities = args[:availabilities] if args.key?(:availabilities)
935
+ end
936
+ end
937
+
938
+ # The response to a update availability request.
939
+ class UpdateAvailabilityResponse
940
+ include Google::Apis::Core::Hashable
941
+
942
+ # The availabilities being returned.
943
+ # Corresponds to the JSON property `availabilities`
944
+ # @return [Array<Google::Apis::DoubleclicksearchV2::Availability>]
945
+ attr_accessor :availabilities
946
+
947
+ def initialize(**args)
948
+ update!(**args)
949
+ end
950
+
951
+ # Update properties of this object
952
+ def update!(**args)
953
+ @availabilities = args[:availabilities] if args.key?(:availabilities)
954
+ end
955
+ end
956
+ end
957
+ end
958
+ end