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,3025 @@
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 AdexchangebuyerV1_4
24
+
25
+ # Configuration data for an Ad Exchange buyer account.
26
+ class Account
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Your bidder locations that have distinct URLs.
30
+ # Corresponds to the JSON property `bidderLocation`
31
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account::BidderLocation>]
32
+ attr_accessor :bidder_location
33
+
34
+ # The nid parameter value used in cookie match requests. Please contact your
35
+ # technical account manager if you need to change this.
36
+ # Corresponds to the JSON property `cookieMatchingNid`
37
+ # @return [String]
38
+ attr_accessor :cookie_matching_nid
39
+
40
+ # The base URL used in cookie match requests.
41
+ # Corresponds to the JSON property `cookieMatchingUrl`
42
+ # @return [String]
43
+ attr_accessor :cookie_matching_url
44
+
45
+ # Account id.
46
+ # Corresponds to the JSON property `id`
47
+ # @return [Fixnum]
48
+ attr_accessor :id
49
+
50
+ # Resource type.
51
+ # Corresponds to the JSON property `kind`
52
+ # @return [String]
53
+ attr_accessor :kind
54
+
55
+ # The maximum number of active creatives that an account can have, where a
56
+ # creative is active if it was inserted or bid with in the last 30 days. Please
57
+ # contact your technical account manager if you need to change this.
58
+ # Corresponds to the JSON property `maximumActiveCreatives`
59
+ # @return [Fixnum]
60
+ attr_accessor :maximum_active_creatives
61
+
62
+ # The sum of all bidderLocation.maximumQps values cannot exceed this. Please
63
+ # contact your technical account manager if you need to change this.
64
+ # Corresponds to the JSON property `maximumTotalQps`
65
+ # @return [Fixnum]
66
+ attr_accessor :maximum_total_qps
67
+
68
+ # The number of creatives that this account inserted or bid with in the last 30
69
+ # days.
70
+ # Corresponds to the JSON property `numberActiveCreatives`
71
+ # @return [Fixnum]
72
+ attr_accessor :number_active_creatives
73
+
74
+ def initialize(**args)
75
+ update!(**args)
76
+ end
77
+
78
+ # Update properties of this object
79
+ def update!(**args)
80
+ @bidder_location = args[:bidder_location] if args.key?(:bidder_location)
81
+ @cookie_matching_nid = args[:cookie_matching_nid] if args.key?(:cookie_matching_nid)
82
+ @cookie_matching_url = args[:cookie_matching_url] if args.key?(:cookie_matching_url)
83
+ @id = args[:id] if args.key?(:id)
84
+ @kind = args[:kind] if args.key?(:kind)
85
+ @maximum_active_creatives = args[:maximum_active_creatives] if args.key?(:maximum_active_creatives)
86
+ @maximum_total_qps = args[:maximum_total_qps] if args.key?(:maximum_total_qps)
87
+ @number_active_creatives = args[:number_active_creatives] if args.key?(:number_active_creatives)
88
+ end
89
+
90
+ #
91
+ class BidderLocation
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # The protocol that the bidder endpoint is using. By default, OpenRTB protocols
95
+ # use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses
96
+ # protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right
97
+ # now. Allowed values:
98
+ # - PROTOCOL_ADX
99
+ # - PROTOCOL_OPENRTB_2_2
100
+ # - PROTOCOL_OPENRTB_2_3
101
+ # - PROTOCOL_OPENRTB_PROTOBUF
102
+ # Corresponds to the JSON property `bidProtocol`
103
+ # @return [String]
104
+ attr_accessor :bid_protocol
105
+
106
+ # The maximum queries per second the Ad Exchange will send.
107
+ # Corresponds to the JSON property `maximumQps`
108
+ # @return [Fixnum]
109
+ attr_accessor :maximum_qps
110
+
111
+ # The geographical region the Ad Exchange should send requests from. Only used
112
+ # by some quota systems, but always setting the value is recommended. Allowed
113
+ # values:
114
+ # - ASIA
115
+ # - EUROPE
116
+ # - US_EAST
117
+ # - US_WEST
118
+ # Corresponds to the JSON property `region`
119
+ # @return [String]
120
+ attr_accessor :region
121
+
122
+ # The URL to which the Ad Exchange will send bid requests.
123
+ # Corresponds to the JSON property `url`
124
+ # @return [String]
125
+ attr_accessor :url
126
+
127
+ def initialize(**args)
128
+ update!(**args)
129
+ end
130
+
131
+ # Update properties of this object
132
+ def update!(**args)
133
+ @bid_protocol = args[:bid_protocol] if args.key?(:bid_protocol)
134
+ @maximum_qps = args[:maximum_qps] if args.key?(:maximum_qps)
135
+ @region = args[:region] if args.key?(:region)
136
+ @url = args[:url] if args.key?(:url)
137
+ end
138
+ end
139
+ end
140
+
141
+ # An account feed lists Ad Exchange buyer accounts that the user has access to.
142
+ # Each entry in the feed corresponds to a single buyer account.
143
+ class AccountsList
144
+ include Google::Apis::Core::Hashable
145
+
146
+ # A list of accounts.
147
+ # Corresponds to the JSON property `items`
148
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account>]
149
+ attr_accessor :items
150
+
151
+ # Resource type.
152
+ # Corresponds to the JSON property `kind`
153
+ # @return [String]
154
+ attr_accessor :kind
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @items = args[:items] if args.key?(:items)
163
+ @kind = args[:kind] if args.key?(:kind)
164
+ end
165
+ end
166
+
167
+ #
168
+ class AddOrderDealsRequest
169
+ include Google::Apis::Core::Hashable
170
+
171
+ # The list of deals to add
172
+ # Corresponds to the JSON property `deals`
173
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
174
+ attr_accessor :deals
175
+
176
+ # The last known proposal revision number.
177
+ # Corresponds to the JSON property `proposalRevisionNumber`
178
+ # @return [String]
179
+ attr_accessor :proposal_revision_number
180
+
181
+ # Indicates an optional action to take on the proposal
182
+ # Corresponds to the JSON property `updateAction`
183
+ # @return [String]
184
+ attr_accessor :update_action
185
+
186
+ def initialize(**args)
187
+ update!(**args)
188
+ end
189
+
190
+ # Update properties of this object
191
+ def update!(**args)
192
+ @deals = args[:deals] if args.key?(:deals)
193
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
194
+ @update_action = args[:update_action] if args.key?(:update_action)
195
+ end
196
+ end
197
+
198
+ #
199
+ class AddOrderDealsResponse
200
+ include Google::Apis::Core::Hashable
201
+
202
+ # List of deals added (in the same proposal as passed in the request)
203
+ # Corresponds to the JSON property `deals`
204
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
205
+ attr_accessor :deals
206
+
207
+ # The updated revision number for the proposal.
208
+ # Corresponds to the JSON property `proposalRevisionNumber`
209
+ # @return [String]
210
+ attr_accessor :proposal_revision_number
211
+
212
+ def initialize(**args)
213
+ update!(**args)
214
+ end
215
+
216
+ # Update properties of this object
217
+ def update!(**args)
218
+ @deals = args[:deals] if args.key?(:deals)
219
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
220
+ end
221
+ end
222
+
223
+ #
224
+ class AddOrderNotesRequest
225
+ include Google::Apis::Core::Hashable
226
+
227
+ # The list of notes to add.
228
+ # Corresponds to the JSON property `notes`
229
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
230
+ attr_accessor :notes
231
+
232
+ def initialize(**args)
233
+ update!(**args)
234
+ end
235
+
236
+ # Update properties of this object
237
+ def update!(**args)
238
+ @notes = args[:notes] if args.key?(:notes)
239
+ end
240
+ end
241
+
242
+ #
243
+ class AddOrderNotesResponse
244
+ include Google::Apis::Core::Hashable
245
+
246
+ #
247
+ # Corresponds to the JSON property `notes`
248
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
249
+ attr_accessor :notes
250
+
251
+ def initialize(**args)
252
+ update!(**args)
253
+ end
254
+
255
+ # Update properties of this object
256
+ def update!(**args)
257
+ @notes = args[:notes] if args.key?(:notes)
258
+ end
259
+ end
260
+
261
+ # The configuration data for an Ad Exchange billing info.
262
+ class BillingInfo
263
+ include Google::Apis::Core::Hashable
264
+
265
+ # Account id.
266
+ # Corresponds to the JSON property `accountId`
267
+ # @return [Fixnum]
268
+ attr_accessor :account_id
269
+
270
+ # Account name.
271
+ # Corresponds to the JSON property `accountName`
272
+ # @return [String]
273
+ attr_accessor :account_name
274
+
275
+ # A list of adgroup IDs associated with this particular account. These IDs may
276
+ # show up as part of a realtime bidding BidRequest, which indicates a bid
277
+ # request for this account.
278
+ # Corresponds to the JSON property `billingId`
279
+ # @return [Array<String>]
280
+ attr_accessor :billing_id
281
+
282
+ # Resource type.
283
+ # Corresponds to the JSON property `kind`
284
+ # @return [String]
285
+ attr_accessor :kind
286
+
287
+ def initialize(**args)
288
+ update!(**args)
289
+ end
290
+
291
+ # Update properties of this object
292
+ def update!(**args)
293
+ @account_id = args[:account_id] if args.key?(:account_id)
294
+ @account_name = args[:account_name] if args.key?(:account_name)
295
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
296
+ @kind = args[:kind] if args.key?(:kind)
297
+ end
298
+ end
299
+
300
+ # A billing info feed lists Billing Info the Ad Exchange buyer account has
301
+ # access to. Each entry in the feed corresponds to a single billing info.
302
+ class BillingInfoList
303
+ include Google::Apis::Core::Hashable
304
+
305
+ # A list of billing info relevant for your account.
306
+ # Corresponds to the JSON property `items`
307
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::BillingInfo>]
308
+ attr_accessor :items
309
+
310
+ # Resource type.
311
+ # Corresponds to the JSON property `kind`
312
+ # @return [String]
313
+ attr_accessor :kind
314
+
315
+ def initialize(**args)
316
+ update!(**args)
317
+ end
318
+
319
+ # Update properties of this object
320
+ def update!(**args)
321
+ @items = args[:items] if args.key?(:items)
322
+ @kind = args[:kind] if args.key?(:kind)
323
+ end
324
+ end
325
+
326
+ # The configuration data for Ad Exchange RTB - Budget API.
327
+ class Budget
328
+ include Google::Apis::Core::Hashable
329
+
330
+ # The id of the account. This is required for get and update requests.
331
+ # Corresponds to the JSON property `accountId`
332
+ # @return [String]
333
+ attr_accessor :account_id
334
+
335
+ # The billing id to determine which adgroup to provide budget information for.
336
+ # This is required for get and update requests.
337
+ # Corresponds to the JSON property `billingId`
338
+ # @return [String]
339
+ attr_accessor :billing_id
340
+
341
+ # The daily budget amount in unit amount of the account currency to apply for
342
+ # the billingId provided. This is required for update requests.
343
+ # Corresponds to the JSON property `budgetAmount`
344
+ # @return [String]
345
+ attr_accessor :budget_amount
346
+
347
+ # The currency code for the buyer. This cannot be altered here.
348
+ # Corresponds to the JSON property `currencyCode`
349
+ # @return [String]
350
+ attr_accessor :currency_code
351
+
352
+ # The unique id that describes this item.
353
+ # Corresponds to the JSON property `id`
354
+ # @return [String]
355
+ attr_accessor :id
356
+
357
+ # The kind of the resource, i.e. "adexchangebuyer#budget".
358
+ # Corresponds to the JSON property `kind`
359
+ # @return [String]
360
+ attr_accessor :kind
361
+
362
+ def initialize(**args)
363
+ update!(**args)
364
+ end
365
+
366
+ # Update properties of this object
367
+ def update!(**args)
368
+ @account_id = args[:account_id] if args.key?(:account_id)
369
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
370
+ @budget_amount = args[:budget_amount] if args.key?(:budget_amount)
371
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
372
+ @id = args[:id] if args.key?(:id)
373
+ @kind = args[:kind] if args.key?(:kind)
374
+ end
375
+ end
376
+
377
+ #
378
+ class Buyer
379
+ include Google::Apis::Core::Hashable
380
+
381
+ # Adx account id of the buyer.
382
+ # Corresponds to the JSON property `accountId`
383
+ # @return [String]
384
+ attr_accessor :account_id
385
+
386
+ def initialize(**args)
387
+ update!(**args)
388
+ end
389
+
390
+ # Update properties of this object
391
+ def update!(**args)
392
+ @account_id = args[:account_id] if args.key?(:account_id)
393
+ end
394
+ end
395
+
396
+ #
397
+ class ContactInformation
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # Email address of the contact.
401
+ # Corresponds to the JSON property `email`
402
+ # @return [String]
403
+ attr_accessor :email
404
+
405
+ # The name of the contact.
406
+ # Corresponds to the JSON property `name`
407
+ # @return [String]
408
+ attr_accessor :name
409
+
410
+ def initialize(**args)
411
+ update!(**args)
412
+ end
413
+
414
+ # Update properties of this object
415
+ def update!(**args)
416
+ @email = args[:email] if args.key?(:email)
417
+ @name = args[:name] if args.key?(:name)
418
+ end
419
+ end
420
+
421
+ #
422
+ class CreateOrdersRequest
423
+ include Google::Apis::Core::Hashable
424
+
425
+ # The list of proposals to create.
426
+ # Corresponds to the JSON property `proposals`
427
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
428
+ attr_accessor :proposals
429
+
430
+ #
431
+ # Corresponds to the JSON property `webPropertyCode`
432
+ # @return [String]
433
+ attr_accessor :web_property_code
434
+
435
+ def initialize(**args)
436
+ update!(**args)
437
+ end
438
+
439
+ # Update properties of this object
440
+ def update!(**args)
441
+ @proposals = args[:proposals] if args.key?(:proposals)
442
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
443
+ end
444
+ end
445
+
446
+ #
447
+ class CreateOrdersResponse
448
+ include Google::Apis::Core::Hashable
449
+
450
+ # The list of proposals successfully created.
451
+ # Corresponds to the JSON property `proposals`
452
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
453
+ attr_accessor :proposals
454
+
455
+ def initialize(**args)
456
+ update!(**args)
457
+ end
458
+
459
+ # Update properties of this object
460
+ def update!(**args)
461
+ @proposals = args[:proposals] if args.key?(:proposals)
462
+ end
463
+ end
464
+
465
+ # A creative and its classification data.
466
+ class Creative
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # The HTML snippet that displays the ad when inserted in the web page. If set,
470
+ # videoURL should not be set.
471
+ # Corresponds to the JSON property `HTMLSnippet`
472
+ # @return [String]
473
+ attr_accessor :html_snippet
474
+
475
+ # Account id.
476
+ # Corresponds to the JSON property `accountId`
477
+ # @return [Fixnum]
478
+ attr_accessor :account_id
479
+
480
+ # Detected advertiser id, if any. Read-only. This field should not be set in
481
+ # requests.
482
+ # Corresponds to the JSON property `advertiserId`
483
+ # @return [Array<String>]
484
+ attr_accessor :advertiser_id
485
+
486
+ # The name of the company being advertised in the creative.
487
+ # Corresponds to the JSON property `advertiserName`
488
+ # @return [String]
489
+ attr_accessor :advertiser_name
490
+
491
+ # The agency id for this creative.
492
+ # Corresponds to the JSON property `agencyId`
493
+ # @return [String]
494
+ attr_accessor :agency_id
495
+
496
+ # The last upload timestamp of this creative if it was uploaded via API. Read-
497
+ # only. The value of this field is generated, and will be ignored for uploads. (
498
+ # formatted RFC 3339 timestamp).
499
+ # Corresponds to the JSON property `apiUploadTimestamp`
500
+ # @return [DateTime]
501
+ attr_accessor :api_upload_timestamp
502
+
503
+ # All attributes for the ads that may be shown from this snippet.
504
+ # Corresponds to the JSON property `attribute`
505
+ # @return [Array<Fixnum>]
506
+ attr_accessor :attribute
507
+
508
+ # A buyer-specific id identifying the creative in this ad.
509
+ # Corresponds to the JSON property `buyerCreativeId`
510
+ # @return [String]
511
+ attr_accessor :buyer_creative_id
512
+
513
+ # The set of destination urls for the snippet.
514
+ # Corresponds to the JSON property `clickThroughUrl`
515
+ # @return [Array<String>]
516
+ attr_accessor :click_through_url
517
+
518
+ # Shows any corrections that were applied to this creative. Read-only. This
519
+ # field should not be set in requests.
520
+ # Corresponds to the JSON property `corrections`
521
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::Correction>]
522
+ attr_accessor :corrections
523
+
524
+ # Top-level deals status. Read-only. This field should not be set in requests.
525
+ # If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in
526
+ # servingRestrictions will also exist. Note that this may be nuanced with other
527
+ # contextual restrictions, in which case it may be preferable to read from
528
+ # servingRestrictions directly.
529
+ # Corresponds to the JSON property `dealsStatus`
530
+ # @return [String]
531
+ attr_accessor :deals_status
532
+
533
+ # The filtering reasons for the creative. Read-only. This field should not be
534
+ # set in requests.
535
+ # Corresponds to the JSON property `filteringReasons`
536
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons]
537
+ attr_accessor :filtering_reasons
538
+
539
+ # Ad height.
540
+ # Corresponds to the JSON property `height`
541
+ # @return [Fixnum]
542
+ attr_accessor :height
543
+
544
+ # The set of urls to be called to record an impression.
545
+ # Corresponds to the JSON property `impressionTrackingUrl`
546
+ # @return [Array<String>]
547
+ attr_accessor :impression_tracking_url
548
+
549
+ # Resource type.
550
+ # Corresponds to the JSON property `kind`
551
+ # @return [String]
552
+ attr_accessor :kind
553
+
554
+ # If nativeAd is set, HTMLSnippet and videoURL should not be set.
555
+ # Corresponds to the JSON property `nativeAd`
556
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd]
557
+ attr_accessor :native_ad
558
+
559
+ # Top-level open auction status. Read-only. This field should not be set in
560
+ # requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in
561
+ # servingRestrictions will also exist. Note that this may be nuanced with other
562
+ # contextual restrictions, in which case it may be preferable to read from
563
+ # ServingRestrictions directly.
564
+ # Corresponds to the JSON property `openAuctionStatus`
565
+ # @return [String]
566
+ attr_accessor :open_auction_status
567
+
568
+ # Detected product categories, if any. Read-only. This field should not be set
569
+ # in requests.
570
+ # Corresponds to the JSON property `productCategories`
571
+ # @return [Array<Fixnum>]
572
+ attr_accessor :product_categories
573
+
574
+ # All restricted categories for the ads that may be shown from this snippet.
575
+ # Corresponds to the JSON property `restrictedCategories`
576
+ # @return [Array<Fixnum>]
577
+ attr_accessor :restricted_categories
578
+
579
+ # Detected sensitive categories, if any. Read-only. This field should not be set
580
+ # in requests.
581
+ # Corresponds to the JSON property `sensitiveCategories`
582
+ # @return [Array<Fixnum>]
583
+ attr_accessor :sensitive_categories
584
+
585
+ # The granular status of this ad in specific contexts. A context here relates to
586
+ # where something ultimately serves (for example, a physical location, a
587
+ # platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This
588
+ # field should not be set in requests.
589
+ # Corresponds to the JSON property `servingRestrictions`
590
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction>]
591
+ attr_accessor :serving_restrictions
592
+
593
+ # All vendor types for the ads that may be shown from this snippet.
594
+ # Corresponds to the JSON property `vendorType`
595
+ # @return [Array<Fixnum>]
596
+ attr_accessor :vendor_type
597
+
598
+ # The version for this creative. Read-only. This field should not be set in
599
+ # requests.
600
+ # Corresponds to the JSON property `version`
601
+ # @return [Fixnum]
602
+ attr_accessor :version
603
+
604
+ # The url to fetch a video ad. If set, HTMLSnippet should not be set.
605
+ # Corresponds to the JSON property `videoURL`
606
+ # @return [String]
607
+ attr_accessor :video_url
608
+
609
+ # Ad width.
610
+ # Corresponds to the JSON property `width`
611
+ # @return [Fixnum]
612
+ attr_accessor :width
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @html_snippet = args[:html_snippet] if args.key?(:html_snippet)
621
+ @account_id = args[:account_id] if args.key?(:account_id)
622
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
623
+ @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
624
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
625
+ @api_upload_timestamp = args[:api_upload_timestamp] if args.key?(:api_upload_timestamp)
626
+ @attribute = args[:attribute] if args.key?(:attribute)
627
+ @buyer_creative_id = args[:buyer_creative_id] if args.key?(:buyer_creative_id)
628
+ @click_through_url = args[:click_through_url] if args.key?(:click_through_url)
629
+ @corrections = args[:corrections] if args.key?(:corrections)
630
+ @deals_status = args[:deals_status] if args.key?(:deals_status)
631
+ @filtering_reasons = args[:filtering_reasons] if args.key?(:filtering_reasons)
632
+ @height = args[:height] if args.key?(:height)
633
+ @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
634
+ @kind = args[:kind] if args.key?(:kind)
635
+ @native_ad = args[:native_ad] if args.key?(:native_ad)
636
+ @open_auction_status = args[:open_auction_status] if args.key?(:open_auction_status)
637
+ @product_categories = args[:product_categories] if args.key?(:product_categories)
638
+ @restricted_categories = args[:restricted_categories] if args.key?(:restricted_categories)
639
+ @sensitive_categories = args[:sensitive_categories] if args.key?(:sensitive_categories)
640
+ @serving_restrictions = args[:serving_restrictions] if args.key?(:serving_restrictions)
641
+ @vendor_type = args[:vendor_type] if args.key?(:vendor_type)
642
+ @version = args[:version] if args.key?(:version)
643
+ @video_url = args[:video_url] if args.key?(:video_url)
644
+ @width = args[:width] if args.key?(:width)
645
+ end
646
+
647
+ #
648
+ class Correction
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # Additional details about the correction.
652
+ # Corresponds to the JSON property `details`
653
+ # @return [Array<String>]
654
+ attr_accessor :details
655
+
656
+ # The type of correction that was applied to the creative.
657
+ # Corresponds to the JSON property `reason`
658
+ # @return [String]
659
+ attr_accessor :reason
660
+
661
+ def initialize(**args)
662
+ update!(**args)
663
+ end
664
+
665
+ # Update properties of this object
666
+ def update!(**args)
667
+ @details = args[:details] if args.key?(:details)
668
+ @reason = args[:reason] if args.key?(:reason)
669
+ end
670
+ end
671
+
672
+ # The filtering reasons for the creative. Read-only. This field should not be
673
+ # set in requests.
674
+ class FilteringReasons
675
+ include Google::Apis::Core::Hashable
676
+
677
+ # The date in ISO 8601 format for the data. The data is collected from 00:00:00
678
+ # to 23:59:59 in PST.
679
+ # Corresponds to the JSON property `date`
680
+ # @return [String]
681
+ attr_accessor :date
682
+
683
+ # The filtering reasons.
684
+ # Corresponds to the JSON property `reasons`
685
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons::Reason>]
686
+ attr_accessor :reasons
687
+
688
+ def initialize(**args)
689
+ update!(**args)
690
+ end
691
+
692
+ # Update properties of this object
693
+ def update!(**args)
694
+ @date = args[:date] if args.key?(:date)
695
+ @reasons = args[:reasons] if args.key?(:reasons)
696
+ end
697
+
698
+ #
699
+ class Reason
700
+ include Google::Apis::Core::Hashable
701
+
702
+ # The number of times the creative was filtered for the status. The count is
703
+ # aggregated across all publishers on the exchange.
704
+ # Corresponds to the JSON property `filteringCount`
705
+ # @return [String]
706
+ attr_accessor :filtering_count
707
+
708
+ # The filtering status code. Please refer to the creative-status-codes.txt file
709
+ # for different statuses.
710
+ # Corresponds to the JSON property `filteringStatus`
711
+ # @return [Fixnum]
712
+ attr_accessor :filtering_status
713
+
714
+ def initialize(**args)
715
+ update!(**args)
716
+ end
717
+
718
+ # Update properties of this object
719
+ def update!(**args)
720
+ @filtering_count = args[:filtering_count] if args.key?(:filtering_count)
721
+ @filtering_status = args[:filtering_status] if args.key?(:filtering_status)
722
+ end
723
+ end
724
+ end
725
+
726
+ # If nativeAd is set, HTMLSnippet and videoURL should not be set.
727
+ class NativeAd
728
+ include Google::Apis::Core::Hashable
729
+
730
+ #
731
+ # Corresponds to the JSON property `advertiser`
732
+ # @return [String]
733
+ attr_accessor :advertiser
734
+
735
+ # The app icon, for app download ads.
736
+ # Corresponds to the JSON property `appIcon`
737
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::AppIcon]
738
+ attr_accessor :app_icon
739
+
740
+ # A long description of the ad.
741
+ # Corresponds to the JSON property `body`
742
+ # @return [String]
743
+ attr_accessor :body
744
+
745
+ # A label for the button that the user is supposed to click.
746
+ # Corresponds to the JSON property `callToAction`
747
+ # @return [String]
748
+ attr_accessor :call_to_action
749
+
750
+ # The URL to use for click tracking.
751
+ # Corresponds to the JSON property `clickTrackingUrl`
752
+ # @return [String]
753
+ attr_accessor :click_tracking_url
754
+
755
+ # A short title for the ad.
756
+ # Corresponds to the JSON property `headline`
757
+ # @return [String]
758
+ attr_accessor :headline
759
+
760
+ # A large image.
761
+ # Corresponds to the JSON property `image`
762
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Image]
763
+ attr_accessor :image
764
+
765
+ # The URLs are called when the impression is rendered.
766
+ # Corresponds to the JSON property `impressionTrackingUrl`
767
+ # @return [Array<String>]
768
+ attr_accessor :impression_tracking_url
769
+
770
+ # A smaller image, for the advertiser logo.
771
+ # Corresponds to the JSON property `logo`
772
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Logo]
773
+ attr_accessor :logo
774
+
775
+ # The price of the promoted app including the currency info.
776
+ # Corresponds to the JSON property `price`
777
+ # @return [String]
778
+ attr_accessor :price
779
+
780
+ # The app rating in the app store. Must be in the range [0-5].
781
+ # Corresponds to the JSON property `starRating`
782
+ # @return [Float]
783
+ attr_accessor :star_rating
784
+
785
+ # The URL to the app store to purchase/download the promoted app.
786
+ # Corresponds to the JSON property `store`
787
+ # @return [String]
788
+ attr_accessor :store
789
+
790
+ def initialize(**args)
791
+ update!(**args)
792
+ end
793
+
794
+ # Update properties of this object
795
+ def update!(**args)
796
+ @advertiser = args[:advertiser] if args.key?(:advertiser)
797
+ @app_icon = args[:app_icon] if args.key?(:app_icon)
798
+ @body = args[:body] if args.key?(:body)
799
+ @call_to_action = args[:call_to_action] if args.key?(:call_to_action)
800
+ @click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
801
+ @headline = args[:headline] if args.key?(:headline)
802
+ @image = args[:image] if args.key?(:image)
803
+ @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
804
+ @logo = args[:logo] if args.key?(:logo)
805
+ @price = args[:price] if args.key?(:price)
806
+ @star_rating = args[:star_rating] if args.key?(:star_rating)
807
+ @store = args[:store] if args.key?(:store)
808
+ end
809
+
810
+ # The app icon, for app download ads.
811
+ class AppIcon
812
+ include Google::Apis::Core::Hashable
813
+
814
+ #
815
+ # Corresponds to the JSON property `height`
816
+ # @return [Fixnum]
817
+ attr_accessor :height
818
+
819
+ #
820
+ # Corresponds to the JSON property `url`
821
+ # @return [String]
822
+ attr_accessor :url
823
+
824
+ #
825
+ # Corresponds to the JSON property `width`
826
+ # @return [Fixnum]
827
+ attr_accessor :width
828
+
829
+ def initialize(**args)
830
+ update!(**args)
831
+ end
832
+
833
+ # Update properties of this object
834
+ def update!(**args)
835
+ @height = args[:height] if args.key?(:height)
836
+ @url = args[:url] if args.key?(:url)
837
+ @width = args[:width] if args.key?(:width)
838
+ end
839
+ end
840
+
841
+ # A large image.
842
+ class Image
843
+ include Google::Apis::Core::Hashable
844
+
845
+ #
846
+ # Corresponds to the JSON property `height`
847
+ # @return [Fixnum]
848
+ attr_accessor :height
849
+
850
+ #
851
+ # Corresponds to the JSON property `url`
852
+ # @return [String]
853
+ attr_accessor :url
854
+
855
+ #
856
+ # Corresponds to the JSON property `width`
857
+ # @return [Fixnum]
858
+ attr_accessor :width
859
+
860
+ def initialize(**args)
861
+ update!(**args)
862
+ end
863
+
864
+ # Update properties of this object
865
+ def update!(**args)
866
+ @height = args[:height] if args.key?(:height)
867
+ @url = args[:url] if args.key?(:url)
868
+ @width = args[:width] if args.key?(:width)
869
+ end
870
+ end
871
+
872
+ # A smaller image, for the advertiser logo.
873
+ class Logo
874
+ include Google::Apis::Core::Hashable
875
+
876
+ #
877
+ # Corresponds to the JSON property `height`
878
+ # @return [Fixnum]
879
+ attr_accessor :height
880
+
881
+ #
882
+ # Corresponds to the JSON property `url`
883
+ # @return [String]
884
+ attr_accessor :url
885
+
886
+ #
887
+ # Corresponds to the JSON property `width`
888
+ # @return [Fixnum]
889
+ attr_accessor :width
890
+
891
+ def initialize(**args)
892
+ update!(**args)
893
+ end
894
+
895
+ # Update properties of this object
896
+ def update!(**args)
897
+ @height = args[:height] if args.key?(:height)
898
+ @url = args[:url] if args.key?(:url)
899
+ @width = args[:width] if args.key?(:width)
900
+ end
901
+ end
902
+ end
903
+
904
+ #
905
+ class ServingRestriction
906
+ include Google::Apis::Core::Hashable
907
+
908
+ # All known contexts/restrictions.
909
+ # Corresponds to the JSON property `contexts`
910
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::Context>]
911
+ attr_accessor :contexts
912
+
913
+ # The reasons for disapproval within this restriction, if any. Note that not all
914
+ # disapproval reasons may be categorized, so it is possible for the creative to
915
+ # have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for
916
+ # disapproval_reasons. In this case, please reach out to your TAM to help debug
917
+ # the issue.
918
+ # Corresponds to the JSON property `disapprovalReasons`
919
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::DisapprovalReason>]
920
+ attr_accessor :disapproval_reasons
921
+
922
+ # Why the creative is ineligible to serve in this context (e.g., it has been
923
+ # explicitly disapproved or is pending review).
924
+ # Corresponds to the JSON property `reason`
925
+ # @return [String]
926
+ attr_accessor :reason
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @contexts = args[:contexts] if args.key?(:contexts)
935
+ @disapproval_reasons = args[:disapproval_reasons] if args.key?(:disapproval_reasons)
936
+ @reason = args[:reason] if args.key?(:reason)
937
+ end
938
+
939
+ #
940
+ class Context
941
+ include Google::Apis::Core::Hashable
942
+
943
+ # Only set when contextType=AUCTION_TYPE. Represents the auction types this
944
+ # restriction applies to.
945
+ # Corresponds to the JSON property `auctionType`
946
+ # @return [Array<String>]
947
+ attr_accessor :auction_type
948
+
949
+ # The type of context (e.g., location, platform, auction type, SSL-ness).
950
+ # Corresponds to the JSON property `contextType`
951
+ # @return [String]
952
+ attr_accessor :context_type
953
+
954
+ # Only set when contextType=LOCATION. Represents the geo criterias this
955
+ # restriction applies to.
956
+ # Corresponds to the JSON property `geoCriteriaId`
957
+ # @return [Array<Fixnum>]
958
+ attr_accessor :geo_criteria_id
959
+
960
+ # Only set when contextType=PLATFORM. Represents the platforms this restriction
961
+ # applies to.
962
+ # Corresponds to the JSON property `platform`
963
+ # @return [Array<String>]
964
+ attr_accessor :platform
965
+
966
+ def initialize(**args)
967
+ update!(**args)
968
+ end
969
+
970
+ # Update properties of this object
971
+ def update!(**args)
972
+ @auction_type = args[:auction_type] if args.key?(:auction_type)
973
+ @context_type = args[:context_type] if args.key?(:context_type)
974
+ @geo_criteria_id = args[:geo_criteria_id] if args.key?(:geo_criteria_id)
975
+ @platform = args[:platform] if args.key?(:platform)
976
+ end
977
+ end
978
+
979
+ #
980
+ class DisapprovalReason
981
+ include Google::Apis::Core::Hashable
982
+
983
+ # Additional details about the reason for disapproval.
984
+ # Corresponds to the JSON property `details`
985
+ # @return [Array<String>]
986
+ attr_accessor :details
987
+
988
+ # The categorized reason for disapproval.
989
+ # Corresponds to the JSON property `reason`
990
+ # @return [String]
991
+ attr_accessor :reason
992
+
993
+ def initialize(**args)
994
+ update!(**args)
995
+ end
996
+
997
+ # Update properties of this object
998
+ def update!(**args)
999
+ @details = args[:details] if args.key?(:details)
1000
+ @reason = args[:reason] if args.key?(:reason)
1001
+ end
1002
+ end
1003
+ end
1004
+ end
1005
+
1006
+ # The creatives feed lists the active creatives for the Ad Exchange buyer
1007
+ # accounts that the user has access to. Each entry in the feed corresponds to a
1008
+ # single creative.
1009
+ class CreativesList
1010
+ include Google::Apis::Core::Hashable
1011
+
1012
+ # A list of creatives.
1013
+ # Corresponds to the JSON property `items`
1014
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative>]
1015
+ attr_accessor :items
1016
+
1017
+ # Resource type.
1018
+ # Corresponds to the JSON property `kind`
1019
+ # @return [String]
1020
+ attr_accessor :kind
1021
+
1022
+ # Continuation token used to page through creatives. To retrieve the next page
1023
+ # of results, set the next request's "pageToken" value to this.
1024
+ # Corresponds to the JSON property `nextPageToken`
1025
+ # @return [String]
1026
+ attr_accessor :next_page_token
1027
+
1028
+ def initialize(**args)
1029
+ update!(**args)
1030
+ end
1031
+
1032
+ # Update properties of this object
1033
+ def update!(**args)
1034
+ @items = args[:items] if args.key?(:items)
1035
+ @kind = args[:kind] if args.key?(:kind)
1036
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1037
+ end
1038
+ end
1039
+
1040
+ #
1041
+ class DealServingMetadata
1042
+ include Google::Apis::Core::Hashable
1043
+
1044
+ # Tracks which parties (if any) have paused a deal. The deal is considered
1045
+ # paused if has_buyer_paused || has_seller_paused.
1046
+ # Corresponds to the JSON property `dealPauseStatus`
1047
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealServingMetadataDealPauseStatus]
1048
+ attr_accessor :deal_pause_status
1049
+
1050
+ def initialize(**args)
1051
+ update!(**args)
1052
+ end
1053
+
1054
+ # Update properties of this object
1055
+ def update!(**args)
1056
+ @deal_pause_status = args[:deal_pause_status] if args.key?(:deal_pause_status)
1057
+ end
1058
+ end
1059
+
1060
+ # Tracks which parties (if any) have paused a deal. The deal is considered
1061
+ # paused if has_buyer_paused || has_seller_paused.
1062
+ class DealServingMetadataDealPauseStatus
1063
+ include Google::Apis::Core::Hashable
1064
+
1065
+ #
1066
+ # Corresponds to the JSON property `hasBuyerPaused`
1067
+ # @return [Boolean]
1068
+ attr_accessor :has_buyer_paused
1069
+ alias_method :has_buyer_paused?, :has_buyer_paused
1070
+
1071
+ #
1072
+ # Corresponds to the JSON property `hasSellerPaused`
1073
+ # @return [Boolean]
1074
+ attr_accessor :has_seller_paused
1075
+ alias_method :has_seller_paused?, :has_seller_paused
1076
+
1077
+ def initialize(**args)
1078
+ update!(**args)
1079
+ end
1080
+
1081
+ # Update properties of this object
1082
+ def update!(**args)
1083
+ @has_buyer_paused = args[:has_buyer_paused] if args.key?(:has_buyer_paused)
1084
+ @has_seller_paused = args[:has_seller_paused] if args.key?(:has_seller_paused)
1085
+ end
1086
+ end
1087
+
1088
+ #
1089
+ class DealTerms
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Visibilty of the URL in bid requests.
1093
+ # Corresponds to the JSON property `brandingType`
1094
+ # @return [String]
1095
+ attr_accessor :branding_type
1096
+
1097
+ # Description for the proposed terms of the deal.
1098
+ # Corresponds to the JSON property `description`
1099
+ # @return [String]
1100
+ attr_accessor :description
1101
+
1102
+ # Non-binding estimate of the estimated gross spend for this deal Can be set by
1103
+ # buyer or seller.
1104
+ # Corresponds to the JSON property `estimatedGrossSpend`
1105
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
1106
+ attr_accessor :estimated_gross_spend
1107
+
1108
+ # Non-binding estimate of the impressions served per day Can be set by buyer or
1109
+ # seller.
1110
+ # Corresponds to the JSON property `estimatedImpressionsPerDay`
1111
+ # @return [String]
1112
+ attr_accessor :estimated_impressions_per_day
1113
+
1114
+ # The terms for guaranteed fixed price deals.
1115
+ # Corresponds to the JSON property `guaranteedFixedPriceTerms`
1116
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsGuaranteedFixedPriceTerms]
1117
+ attr_accessor :guaranteed_fixed_price_terms
1118
+
1119
+ # The terms for non-guaranteed auction deals.
1120
+ # Corresponds to the JSON property `nonGuaranteedAuctionTerms`
1121
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedAuctionTerms]
1122
+ attr_accessor :non_guaranteed_auction_terms
1123
+
1124
+ # The terms for non-guaranteed fixed price deals.
1125
+ # Corresponds to the JSON property `nonGuaranteedFixedPriceTerms`
1126
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedFixedPriceTerms]
1127
+ attr_accessor :non_guaranteed_fixed_price_terms
1128
+
1129
+ def initialize(**args)
1130
+ update!(**args)
1131
+ end
1132
+
1133
+ # Update properties of this object
1134
+ def update!(**args)
1135
+ @branding_type = args[:branding_type] if args.key?(:branding_type)
1136
+ @description = args[:description] if args.key?(:description)
1137
+ @estimated_gross_spend = args[:estimated_gross_spend] if args.key?(:estimated_gross_spend)
1138
+ @estimated_impressions_per_day = args[:estimated_impressions_per_day] if args.key?(:estimated_impressions_per_day)
1139
+ @guaranteed_fixed_price_terms = args[:guaranteed_fixed_price_terms] if args.key?(:guaranteed_fixed_price_terms)
1140
+ @non_guaranteed_auction_terms = args[:non_guaranteed_auction_terms] if args.key?(:non_guaranteed_auction_terms)
1141
+ @non_guaranteed_fixed_price_terms = args[:non_guaranteed_fixed_price_terms] if args.key?(:non_guaranteed_fixed_price_terms)
1142
+ end
1143
+ end
1144
+
1145
+ #
1146
+ class DealTermsGuaranteedFixedPriceTerms
1147
+ include Google::Apis::Core::Hashable
1148
+
1149
+ # Fixed price for the specified buyer.
1150
+ # Corresponds to the JSON property `fixedPrices`
1151
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1152
+ attr_accessor :fixed_prices
1153
+
1154
+ # Guaranteed impressions as a percentage. This is the percentage of guaranteed
1155
+ # looks that the buyer is guaranteeing to buy.
1156
+ # Corresponds to the JSON property `guaranteedImpressions`
1157
+ # @return [String]
1158
+ attr_accessor :guaranteed_impressions
1159
+
1160
+ # Count of guaranteed looks. Required for deal, optional for product.
1161
+ # Corresponds to the JSON property `guaranteedLooks`
1162
+ # @return [String]
1163
+ attr_accessor :guaranteed_looks
1164
+
1165
+ def initialize(**args)
1166
+ update!(**args)
1167
+ end
1168
+
1169
+ # Update properties of this object
1170
+ def update!(**args)
1171
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1172
+ @guaranteed_impressions = args[:guaranteed_impressions] if args.key?(:guaranteed_impressions)
1173
+ @guaranteed_looks = args[:guaranteed_looks] if args.key?(:guaranteed_looks)
1174
+ end
1175
+ end
1176
+
1177
+ #
1178
+ class DealTermsNonGuaranteedAuctionTerms
1179
+ include Google::Apis::Core::Hashable
1180
+
1181
+ # True if open auction buyers are allowed to compete with invited buyers in this
1182
+ # private auction (buyer-readonly).
1183
+ # Corresponds to the JSON property `autoOptimizePrivateAuction`
1184
+ # @return [Boolean]
1185
+ attr_accessor :auto_optimize_private_auction
1186
+ alias_method :auto_optimize_private_auction?, :auto_optimize_private_auction
1187
+
1188
+ # Reserve price for the specified buyer.
1189
+ # Corresponds to the JSON property `reservePricePerBuyers`
1190
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1191
+ attr_accessor :reserve_price_per_buyers
1192
+
1193
+ def initialize(**args)
1194
+ update!(**args)
1195
+ end
1196
+
1197
+ # Update properties of this object
1198
+ def update!(**args)
1199
+ @auto_optimize_private_auction = args[:auto_optimize_private_auction] if args.key?(:auto_optimize_private_auction)
1200
+ @reserve_price_per_buyers = args[:reserve_price_per_buyers] if args.key?(:reserve_price_per_buyers)
1201
+ end
1202
+ end
1203
+
1204
+ #
1205
+ class DealTermsNonGuaranteedFixedPriceTerms
1206
+ include Google::Apis::Core::Hashable
1207
+
1208
+ # Fixed price for the specified buyer.
1209
+ # Corresponds to the JSON property `fixedPrices`
1210
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1211
+ attr_accessor :fixed_prices
1212
+
1213
+ def initialize(**args)
1214
+ update!(**args)
1215
+ end
1216
+
1217
+ # Update properties of this object
1218
+ def update!(**args)
1219
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1220
+ end
1221
+ end
1222
+
1223
+ #
1224
+ class DeleteOrderDealsRequest
1225
+ include Google::Apis::Core::Hashable
1226
+
1227
+ # List of deals to delete for a given proposal
1228
+ # Corresponds to the JSON property `dealIds`
1229
+ # @return [Array<String>]
1230
+ attr_accessor :deal_ids
1231
+
1232
+ # The last known proposal revision number.
1233
+ # Corresponds to the JSON property `proposalRevisionNumber`
1234
+ # @return [String]
1235
+ attr_accessor :proposal_revision_number
1236
+
1237
+ #
1238
+ # Corresponds to the JSON property `updateAction`
1239
+ # @return [String]
1240
+ attr_accessor :update_action
1241
+
1242
+ def initialize(**args)
1243
+ update!(**args)
1244
+ end
1245
+
1246
+ # Update properties of this object
1247
+ def update!(**args)
1248
+ @deal_ids = args[:deal_ids] if args.key?(:deal_ids)
1249
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1250
+ @update_action = args[:update_action] if args.key?(:update_action)
1251
+ end
1252
+ end
1253
+
1254
+ #
1255
+ class DeleteOrderDealsResponse
1256
+ include Google::Apis::Core::Hashable
1257
+
1258
+ # List of deals deleted (in the same proposal as passed in the request)
1259
+ # Corresponds to the JSON property `deals`
1260
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1261
+ attr_accessor :deals
1262
+
1263
+ # The updated revision number for the proposal.
1264
+ # Corresponds to the JSON property `proposalRevisionNumber`
1265
+ # @return [String]
1266
+ attr_accessor :proposal_revision_number
1267
+
1268
+ def initialize(**args)
1269
+ update!(**args)
1270
+ end
1271
+
1272
+ # Update properties of this object
1273
+ def update!(**args)
1274
+ @deals = args[:deals] if args.key?(:deals)
1275
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1276
+ end
1277
+ end
1278
+
1279
+ #
1280
+ class DeliveryControl
1281
+ include Google::Apis::Core::Hashable
1282
+
1283
+ #
1284
+ # Corresponds to the JSON property `creativeBlockingLevel`
1285
+ # @return [String]
1286
+ attr_accessor :creative_blocking_level
1287
+
1288
+ #
1289
+ # Corresponds to the JSON property `deliveryRateType`
1290
+ # @return [String]
1291
+ attr_accessor :delivery_rate_type
1292
+
1293
+ #
1294
+ # Corresponds to the JSON property `frequencyCaps`
1295
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::DeliveryControlFrequencyCap>]
1296
+ attr_accessor :frequency_caps
1297
+
1298
+ def initialize(**args)
1299
+ update!(**args)
1300
+ end
1301
+
1302
+ # Update properties of this object
1303
+ def update!(**args)
1304
+ @creative_blocking_level = args[:creative_blocking_level] if args.key?(:creative_blocking_level)
1305
+ @delivery_rate_type = args[:delivery_rate_type] if args.key?(:delivery_rate_type)
1306
+ @frequency_caps = args[:frequency_caps] if args.key?(:frequency_caps)
1307
+ end
1308
+ end
1309
+
1310
+ #
1311
+ class DeliveryControlFrequencyCap
1312
+ include Google::Apis::Core::Hashable
1313
+
1314
+ #
1315
+ # Corresponds to the JSON property `maxImpressions`
1316
+ # @return [Fixnum]
1317
+ attr_accessor :max_impressions
1318
+
1319
+ #
1320
+ # Corresponds to the JSON property `numTimeUnits`
1321
+ # @return [Fixnum]
1322
+ attr_accessor :num_time_units
1323
+
1324
+ #
1325
+ # Corresponds to the JSON property `timeUnitType`
1326
+ # @return [String]
1327
+ attr_accessor :time_unit_type
1328
+
1329
+ def initialize(**args)
1330
+ update!(**args)
1331
+ end
1332
+
1333
+ # Update properties of this object
1334
+ def update!(**args)
1335
+ @max_impressions = args[:max_impressions] if args.key?(:max_impressions)
1336
+ @num_time_units = args[:num_time_units] if args.key?(:num_time_units)
1337
+ @time_unit_type = args[:time_unit_type] if args.key?(:time_unit_type)
1338
+ end
1339
+ end
1340
+
1341
+ #
1342
+ class EditAllOrderDealsRequest
1343
+ include Google::Apis::Core::Hashable
1344
+
1345
+ # List of deals to edit. Service may perform 3 different operations based on
1346
+ # comparison of deals in this list vs deals already persisted in database: 1.
1347
+ # Add new deal to proposal If a deal in this list does not exist in the proposal,
1348
+ # the service will create a new deal and add it to the proposal. Validation
1349
+ # will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a
1350
+ # deal in this list already exist in the proposal, the service will update that
1351
+ # existing deal to this new deal in the request. Validation will follow
1352
+ # UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id)
1353
+ # If a existing deal in the proposal is not present in this list, the service
1354
+ # will delete that deal from the proposal. Validation will follow
1355
+ # DeleteOrderDealsRequest.
1356
+ # Corresponds to the JSON property `deals`
1357
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1358
+ attr_accessor :deals
1359
+
1360
+ # Represents a proposal in the marketplace. A proposal is the unit of
1361
+ # negotiation between a seller and a buyer and contains deals which are served.
1362
+ # Each field in a proposal can have one of the following setting:
1363
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
1364
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
1365
+ # field. (updatable) - The field is updatable at all times by either buyer or
1366
+ # the seller.
1367
+ # Corresponds to the JSON property `proposal`
1368
+ # @return [Google::Apis::AdexchangebuyerV1_4::Proposal]
1369
+ attr_accessor :proposal
1370
+
1371
+ # The last known revision number for the proposal.
1372
+ # Corresponds to the JSON property `proposalRevisionNumber`
1373
+ # @return [String]
1374
+ attr_accessor :proposal_revision_number
1375
+
1376
+ # Indicates an optional action to take on the proposal
1377
+ # Corresponds to the JSON property `updateAction`
1378
+ # @return [String]
1379
+ attr_accessor :update_action
1380
+
1381
+ def initialize(**args)
1382
+ update!(**args)
1383
+ end
1384
+
1385
+ # Update properties of this object
1386
+ def update!(**args)
1387
+ @deals = args[:deals] if args.key?(:deals)
1388
+ @proposal = args[:proposal] if args.key?(:proposal)
1389
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1390
+ @update_action = args[:update_action] if args.key?(:update_action)
1391
+ end
1392
+ end
1393
+
1394
+ #
1395
+ class EditAllOrderDealsResponse
1396
+ include Google::Apis::Core::Hashable
1397
+
1398
+ # List of all deals in the proposal after edit.
1399
+ # Corresponds to the JSON property `deals`
1400
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1401
+ attr_accessor :deals
1402
+
1403
+ # The latest revision number after the update has been applied.
1404
+ # Corresponds to the JSON property `orderRevisionNumber`
1405
+ # @return [String]
1406
+ attr_accessor :order_revision_number
1407
+
1408
+ def initialize(**args)
1409
+ update!(**args)
1410
+ end
1411
+
1412
+ # Update properties of this object
1413
+ def update!(**args)
1414
+ @deals = args[:deals] if args.key?(:deals)
1415
+ @order_revision_number = args[:order_revision_number] if args.key?(:order_revision_number)
1416
+ end
1417
+ end
1418
+
1419
+ #
1420
+ class GetOffersResponse
1421
+ include Google::Apis::Core::Hashable
1422
+
1423
+ # The returned list of products.
1424
+ # Corresponds to the JSON property `products`
1425
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Product>]
1426
+ attr_accessor :products
1427
+
1428
+ def initialize(**args)
1429
+ update!(**args)
1430
+ end
1431
+
1432
+ # Update properties of this object
1433
+ def update!(**args)
1434
+ @products = args[:products] if args.key?(:products)
1435
+ end
1436
+ end
1437
+
1438
+ #
1439
+ class GetOrderDealsResponse
1440
+ include Google::Apis::Core::Hashable
1441
+
1442
+ # List of deals for the proposal
1443
+ # Corresponds to the JSON property `deals`
1444
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1445
+ attr_accessor :deals
1446
+
1447
+ def initialize(**args)
1448
+ update!(**args)
1449
+ end
1450
+
1451
+ # Update properties of this object
1452
+ def update!(**args)
1453
+ @deals = args[:deals] if args.key?(:deals)
1454
+ end
1455
+ end
1456
+
1457
+ #
1458
+ class GetOrderNotesResponse
1459
+ include Google::Apis::Core::Hashable
1460
+
1461
+ # The list of matching notes.
1462
+ # Corresponds to the JSON property `notes`
1463
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
1464
+ attr_accessor :notes
1465
+
1466
+ def initialize(**args)
1467
+ update!(**args)
1468
+ end
1469
+
1470
+ # Update properties of this object
1471
+ def update!(**args)
1472
+ @notes = args[:notes] if args.key?(:notes)
1473
+ end
1474
+ end
1475
+
1476
+ #
1477
+ class GetOrdersResponse
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # The list of matching proposals.
1481
+ # Corresponds to the JSON property `proposals`
1482
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
1483
+ attr_accessor :proposals
1484
+
1485
+ def initialize(**args)
1486
+ update!(**args)
1487
+ end
1488
+
1489
+ # Update properties of this object
1490
+ def update!(**args)
1491
+ @proposals = args[:proposals] if args.key?(:proposals)
1492
+ end
1493
+ end
1494
+
1495
+ #
1496
+ class GetPublisherProfilesByAccountIdResponse
1497
+ include Google::Apis::Core::Hashable
1498
+
1499
+ # Profiles for the requested publisher
1500
+ # Corresponds to the JSON property `profiles`
1501
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PublisherProfileApiProto>]
1502
+ attr_accessor :profiles
1503
+
1504
+ def initialize(**args)
1505
+ update!(**args)
1506
+ end
1507
+
1508
+ # Update properties of this object
1509
+ def update!(**args)
1510
+ @profiles = args[:profiles] if args.key?(:profiles)
1511
+ end
1512
+ end
1513
+
1514
+ # A proposal can contain multiple deals. A deal contains the terms and targeting
1515
+ # information that is used for serving.
1516
+ class MarketplaceDeal
1517
+ include Google::Apis::Core::Hashable
1518
+
1519
+ # Buyer private data (hidden from seller).
1520
+ # Corresponds to the JSON property `buyerPrivateData`
1521
+ # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
1522
+ attr_accessor :buyer_private_data
1523
+
1524
+ # The time (ms since epoch) of the deal creation. (readonly)
1525
+ # Corresponds to the JSON property `creationTimeMs`
1526
+ # @return [String]
1527
+ attr_accessor :creation_time_ms
1528
+
1529
+ # Specifies the creative pre-approval policy (buyer-readonly)
1530
+ # Corresponds to the JSON property `creativePreApprovalPolicy`
1531
+ # @return [String]
1532
+ attr_accessor :creative_pre_approval_policy
1533
+
1534
+ # Specifies whether the creative is safeFrame compatible (buyer-readonly)
1535
+ # Corresponds to the JSON property `creativeSafeFrameCompatibility`
1536
+ # @return [String]
1537
+ attr_accessor :creative_safe_frame_compatibility
1538
+
1539
+ # A unique deal=id for the deal (readonly).
1540
+ # Corresponds to the JSON property `dealId`
1541
+ # @return [String]
1542
+ attr_accessor :deal_id
1543
+
1544
+ # Metadata about the serving status of this deal (readonly, writes via custom
1545
+ # actions)
1546
+ # Corresponds to the JSON property `dealServingMetadata`
1547
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealServingMetadata]
1548
+ attr_accessor :deal_serving_metadata
1549
+
1550
+ # The set of fields around delivery control that are interesting for a buyer to
1551
+ # see but are non-negotiable. These are set by the publisher. This message is
1552
+ # assigned an id of 100 since some day we would want to model this as a protobuf
1553
+ # extension.
1554
+ # Corresponds to the JSON property `deliveryControl`
1555
+ # @return [Google::Apis::AdexchangebuyerV1_4::DeliveryControl]
1556
+ attr_accessor :delivery_control
1557
+
1558
+ # The external deal id assigned to this deal once the deal is finalized. This is
1559
+ # the deal-id that shows up in serving/reporting etc. (readonly)
1560
+ # Corresponds to the JSON property `externalDealId`
1561
+ # @return [String]
1562
+ attr_accessor :external_deal_id
1563
+
1564
+ # Proposed flight end time of the deal (ms since epoch) This will generally be
1565
+ # stored in a granularity of a second. (updatable)
1566
+ # Corresponds to the JSON property `flightEndTimeMs`
1567
+ # @return [String]
1568
+ attr_accessor :flight_end_time_ms
1569
+
1570
+ # Proposed flight start time of the deal (ms since epoch) This will generally be
1571
+ # stored in a granularity of a second. (updatable)
1572
+ # Corresponds to the JSON property `flightStartTimeMs`
1573
+ # @return [String]
1574
+ attr_accessor :flight_start_time_ms
1575
+
1576
+ # Description for the deal terms. (updatable)
1577
+ # Corresponds to the JSON property `inventoryDescription`
1578
+ # @return [String]
1579
+ attr_accessor :inventory_description
1580
+
1581
+ # Identifies what kind of resource this is. Value: the fixed string "
1582
+ # adexchangebuyer#marketplaceDeal".
1583
+ # Corresponds to the JSON property `kind`
1584
+ # @return [String]
1585
+ attr_accessor :kind
1586
+
1587
+ # The time (ms since epoch) when the deal was last updated. (readonly)
1588
+ # Corresponds to the JSON property `lastUpdateTimeMs`
1589
+ # @return [String]
1590
+ attr_accessor :last_update_time_ms
1591
+
1592
+ # The name of the deal. (updatable)
1593
+ # Corresponds to the JSON property `name`
1594
+ # @return [String]
1595
+ attr_accessor :name
1596
+
1597
+ # The product-id from which this deal was created. (readonly, except on create)
1598
+ # Corresponds to the JSON property `productId`
1599
+ # @return [String]
1600
+ attr_accessor :product_id
1601
+
1602
+ # The revision number of the product that the deal was created from (readonly,
1603
+ # except on create)
1604
+ # Corresponds to the JSON property `productRevisionNumber`
1605
+ # @return [String]
1606
+ attr_accessor :product_revision_number
1607
+
1608
+ # Specifies the creative source for programmatic deals, PUBLISHER means creative
1609
+ # is provided by seller and ADVERTISR means creative is provided by buyer. (
1610
+ # buyer-readonly)
1611
+ # Corresponds to the JSON property `programmaticCreativeSource`
1612
+ # @return [String]
1613
+ attr_accessor :programmatic_creative_source
1614
+
1615
+ #
1616
+ # Corresponds to the JSON property `proposalId`
1617
+ # @return [String]
1618
+ attr_accessor :proposal_id
1619
+
1620
+ # Optional Seller contact information for the deal (buyer-readonly)
1621
+ # Corresponds to the JSON property `sellerContacts`
1622
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
1623
+ attr_accessor :seller_contacts
1624
+
1625
+ # The shared targeting visible to buyers and sellers. Each shared targeting
1626
+ # entity is AND'd together. (updatable)
1627
+ # Corresponds to the JSON property `sharedTargetings`
1628
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
1629
+ attr_accessor :shared_targetings
1630
+
1631
+ # The syndication product associated with the deal. (readonly, except on create)
1632
+ # Corresponds to the JSON property `syndicationProduct`
1633
+ # @return [String]
1634
+ attr_accessor :syndication_product
1635
+
1636
+ # The negotiable terms of the deal. (updatable)
1637
+ # Corresponds to the JSON property `terms`
1638
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
1639
+ attr_accessor :terms
1640
+
1641
+ #
1642
+ # Corresponds to the JSON property `webPropertyCode`
1643
+ # @return [String]
1644
+ attr_accessor :web_property_code
1645
+
1646
+ def initialize(**args)
1647
+ update!(**args)
1648
+ end
1649
+
1650
+ # Update properties of this object
1651
+ def update!(**args)
1652
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
1653
+ @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
1654
+ @creative_pre_approval_policy = args[:creative_pre_approval_policy] if args.key?(:creative_pre_approval_policy)
1655
+ @creative_safe_frame_compatibility = args[:creative_safe_frame_compatibility] if args.key?(:creative_safe_frame_compatibility)
1656
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1657
+ @deal_serving_metadata = args[:deal_serving_metadata] if args.key?(:deal_serving_metadata)
1658
+ @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
1659
+ @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
1660
+ @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
1661
+ @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
1662
+ @inventory_description = args[:inventory_description] if args.key?(:inventory_description)
1663
+ @kind = args[:kind] if args.key?(:kind)
1664
+ @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
1665
+ @name = args[:name] if args.key?(:name)
1666
+ @product_id = args[:product_id] if args.key?(:product_id)
1667
+ @product_revision_number = args[:product_revision_number] if args.key?(:product_revision_number)
1668
+ @programmatic_creative_source = args[:programmatic_creative_source] if args.key?(:programmatic_creative_source)
1669
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
1670
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
1671
+ @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
1672
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
1673
+ @terms = args[:terms] if args.key?(:terms)
1674
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
1675
+ end
1676
+ end
1677
+
1678
+ #
1679
+ class MarketplaceDealParty
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # The buyer/seller associated with the deal. One of buyer/seller is specified
1683
+ # for a deal-party.
1684
+ # Corresponds to the JSON property `buyer`
1685
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
1686
+ attr_accessor :buyer
1687
+
1688
+ # The buyer/seller associated with the deal. One of buyer/seller is specified
1689
+ # for a deal party.
1690
+ # Corresponds to the JSON property `seller`
1691
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
1692
+ attr_accessor :seller
1693
+
1694
+ def initialize(**args)
1695
+ update!(**args)
1696
+ end
1697
+
1698
+ # Update properties of this object
1699
+ def update!(**args)
1700
+ @buyer = args[:buyer] if args.key?(:buyer)
1701
+ @seller = args[:seller] if args.key?(:seller)
1702
+ end
1703
+ end
1704
+
1705
+ #
1706
+ class MarketplaceLabel
1707
+ include Google::Apis::Core::Hashable
1708
+
1709
+ # The accountId of the party that created the label.
1710
+ # Corresponds to the JSON property `accountId`
1711
+ # @return [String]
1712
+ attr_accessor :account_id
1713
+
1714
+ # The creation time (in ms since epoch) for the label.
1715
+ # Corresponds to the JSON property `createTimeMs`
1716
+ # @return [String]
1717
+ attr_accessor :create_time_ms
1718
+
1719
+ # Information about the party that created the label.
1720
+ # Corresponds to the JSON property `deprecatedMarketplaceDealParty`
1721
+ # @return [Google::Apis::AdexchangebuyerV1_4::MarketplaceDealParty]
1722
+ attr_accessor :deprecated_marketplace_deal_party
1723
+
1724
+ # The label to use.
1725
+ # Corresponds to the JSON property `label`
1726
+ # @return [String]
1727
+ attr_accessor :label
1728
+
1729
+ def initialize(**args)
1730
+ update!(**args)
1731
+ end
1732
+
1733
+ # Update properties of this object
1734
+ def update!(**args)
1735
+ @account_id = args[:account_id] if args.key?(:account_id)
1736
+ @create_time_ms = args[:create_time_ms] if args.key?(:create_time_ms)
1737
+ @deprecated_marketplace_deal_party = args[:deprecated_marketplace_deal_party] if args.key?(:deprecated_marketplace_deal_party)
1738
+ @label = args[:label] if args.key?(:label)
1739
+ end
1740
+ end
1741
+
1742
+ # A proposal is associated with a bunch of notes which may optionally be
1743
+ # associated with a deal and/or revision number.
1744
+ class MarketplaceNote
1745
+ include Google::Apis::Core::Hashable
1746
+
1747
+ # The role of the person (buyer/seller) creating the note. (readonly)
1748
+ # Corresponds to the JSON property `creatorRole`
1749
+ # @return [String]
1750
+ attr_accessor :creator_role
1751
+
1752
+ # Notes can optionally be associated with a deal. (readonly, except on create)
1753
+ # Corresponds to the JSON property `dealId`
1754
+ # @return [String]
1755
+ attr_accessor :deal_id
1756
+
1757
+ # Identifies what kind of resource this is. Value: the fixed string "
1758
+ # adexchangebuyer#marketplaceNote".
1759
+ # Corresponds to the JSON property `kind`
1760
+ # @return [String]
1761
+ attr_accessor :kind
1762
+
1763
+ # The actual note to attach. (readonly, except on create)
1764
+ # Corresponds to the JSON property `note`
1765
+ # @return [String]
1766
+ attr_accessor :note
1767
+
1768
+ # The unique id for the note. (readonly)
1769
+ # Corresponds to the JSON property `noteId`
1770
+ # @return [String]
1771
+ attr_accessor :note_id
1772
+
1773
+ # The proposalId that a note is attached to. (readonly)
1774
+ # Corresponds to the JSON property `proposalId`
1775
+ # @return [String]
1776
+ attr_accessor :proposal_id
1777
+
1778
+ # If the note is associated with a proposal revision number, then store that
1779
+ # here. (readonly, except on create)
1780
+ # Corresponds to the JSON property `proposalRevisionNumber`
1781
+ # @return [String]
1782
+ attr_accessor :proposal_revision_number
1783
+
1784
+ # The timestamp (ms since epoch) that this note was created. (readonly)
1785
+ # Corresponds to the JSON property `timestampMs`
1786
+ # @return [String]
1787
+ attr_accessor :timestamp_ms
1788
+
1789
+ def initialize(**args)
1790
+ update!(**args)
1791
+ end
1792
+
1793
+ # Update properties of this object
1794
+ def update!(**args)
1795
+ @creator_role = args[:creator_role] if args.key?(:creator_role)
1796
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1797
+ @kind = args[:kind] if args.key?(:kind)
1798
+ @note = args[:note] if args.key?(:note)
1799
+ @note_id = args[:note_id] if args.key?(:note_id)
1800
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
1801
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1802
+ @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms)
1803
+ end
1804
+ end
1805
+
1806
+ # The configuration data for an Ad Exchange performance report list.
1807
+ class PerformanceReport
1808
+ include Google::Apis::Core::Hashable
1809
+
1810
+ # The number of bid responses with an ad.
1811
+ # Corresponds to the JSON property `bidRate`
1812
+ # @return [Float]
1813
+ attr_accessor :bid_rate
1814
+
1815
+ # The number of bid requests sent to your bidder.
1816
+ # Corresponds to the JSON property `bidRequestRate`
1817
+ # @return [Float]
1818
+ attr_accessor :bid_request_rate
1819
+
1820
+ # Rate of various prefiltering statuses per match. Please refer to the callout-
1821
+ # status-codes.txt file for different statuses.
1822
+ # Corresponds to the JSON property `calloutStatusRate`
1823
+ # @return [Array<Object>]
1824
+ attr_accessor :callout_status_rate
1825
+
1826
+ # Average QPS for cookie matcher operations.
1827
+ # Corresponds to the JSON property `cookieMatcherStatusRate`
1828
+ # @return [Array<Object>]
1829
+ attr_accessor :cookie_matcher_status_rate
1830
+
1831
+ # Rate of ads with a given status. Please refer to the creative-status-codes.txt
1832
+ # file for different statuses.
1833
+ # Corresponds to the JSON property `creativeStatusRate`
1834
+ # @return [Array<Object>]
1835
+ attr_accessor :creative_status_rate
1836
+
1837
+ # The number of bid responses that were filtered due to a policy violation or
1838
+ # other errors.
1839
+ # Corresponds to the JSON property `filteredBidRate`
1840
+ # @return [Float]
1841
+ attr_accessor :filtered_bid_rate
1842
+
1843
+ # Average QPS for hosted match operations.
1844
+ # Corresponds to the JSON property `hostedMatchStatusRate`
1845
+ # @return [Array<Object>]
1846
+ attr_accessor :hosted_match_status_rate
1847
+
1848
+ # The number of potential queries based on your pretargeting settings.
1849
+ # Corresponds to the JSON property `inventoryMatchRate`
1850
+ # @return [Float]
1851
+ attr_accessor :inventory_match_rate
1852
+
1853
+ # Resource type.
1854
+ # Corresponds to the JSON property `kind`
1855
+ # @return [String]
1856
+ attr_accessor :kind
1857
+
1858
+ # The 50th percentile round trip latency(ms) as perceived from Google servers
1859
+ # for the duration period covered by the report.
1860
+ # Corresponds to the JSON property `latency50thPercentile`
1861
+ # @return [Float]
1862
+ attr_accessor :latency_50th_percentile
1863
+
1864
+ # The 85th percentile round trip latency(ms) as perceived from Google servers
1865
+ # for the duration period covered by the report.
1866
+ # Corresponds to the JSON property `latency85thPercentile`
1867
+ # @return [Float]
1868
+ attr_accessor :latency_85th_percentile
1869
+
1870
+ # The 95th percentile round trip latency(ms) as perceived from Google servers
1871
+ # for the duration period covered by the report.
1872
+ # Corresponds to the JSON property `latency95thPercentile`
1873
+ # @return [Float]
1874
+ attr_accessor :latency_95th_percentile
1875
+
1876
+ # Rate of various quota account statuses per quota check.
1877
+ # Corresponds to the JSON property `noQuotaInRegion`
1878
+ # @return [Float]
1879
+ attr_accessor :no_quota_in_region
1880
+
1881
+ # Rate of various quota account statuses per quota check.
1882
+ # Corresponds to the JSON property `outOfQuota`
1883
+ # @return [Float]
1884
+ attr_accessor :out_of_quota
1885
+
1886
+ # Average QPS for pixel match requests from clients.
1887
+ # Corresponds to the JSON property `pixelMatchRequests`
1888
+ # @return [Float]
1889
+ attr_accessor :pixel_match_requests
1890
+
1891
+ # Average QPS for pixel match responses from clients.
1892
+ # Corresponds to the JSON property `pixelMatchResponses`
1893
+ # @return [Float]
1894
+ attr_accessor :pixel_match_responses
1895
+
1896
+ # The configured quota limits for this account.
1897
+ # Corresponds to the JSON property `quotaConfiguredLimit`
1898
+ # @return [Float]
1899
+ attr_accessor :quota_configured_limit
1900
+
1901
+ # The throttled quota limits for this account.
1902
+ # Corresponds to the JSON property `quotaThrottledLimit`
1903
+ # @return [Float]
1904
+ attr_accessor :quota_throttled_limit
1905
+
1906
+ # The trading location of this data.
1907
+ # Corresponds to the JSON property `region`
1908
+ # @return [String]
1909
+ attr_accessor :region
1910
+
1911
+ # The number of properly formed bid responses received by our servers within the
1912
+ # deadline.
1913
+ # Corresponds to the JSON property `successfulRequestRate`
1914
+ # @return [Float]
1915
+ attr_accessor :successful_request_rate
1916
+
1917
+ # The unix timestamp of the starting time of this performance data.
1918
+ # Corresponds to the JSON property `timestamp`
1919
+ # @return [String]
1920
+ attr_accessor :timestamp
1921
+
1922
+ # The number of bid responses that were unsuccessful due to timeouts, incorrect
1923
+ # formatting, etc.
1924
+ # Corresponds to the JSON property `unsuccessfulRequestRate`
1925
+ # @return [Float]
1926
+ attr_accessor :unsuccessful_request_rate
1927
+
1928
+ def initialize(**args)
1929
+ update!(**args)
1930
+ end
1931
+
1932
+ # Update properties of this object
1933
+ def update!(**args)
1934
+ @bid_rate = args[:bid_rate] if args.key?(:bid_rate)
1935
+ @bid_request_rate = args[:bid_request_rate] if args.key?(:bid_request_rate)
1936
+ @callout_status_rate = args[:callout_status_rate] if args.key?(:callout_status_rate)
1937
+ @cookie_matcher_status_rate = args[:cookie_matcher_status_rate] if args.key?(:cookie_matcher_status_rate)
1938
+ @creative_status_rate = args[:creative_status_rate] if args.key?(:creative_status_rate)
1939
+ @filtered_bid_rate = args[:filtered_bid_rate] if args.key?(:filtered_bid_rate)
1940
+ @hosted_match_status_rate = args[:hosted_match_status_rate] if args.key?(:hosted_match_status_rate)
1941
+ @inventory_match_rate = args[:inventory_match_rate] if args.key?(:inventory_match_rate)
1942
+ @kind = args[:kind] if args.key?(:kind)
1943
+ @latency_50th_percentile = args[:latency_50th_percentile] if args.key?(:latency_50th_percentile)
1944
+ @latency_85th_percentile = args[:latency_85th_percentile] if args.key?(:latency_85th_percentile)
1945
+ @latency_95th_percentile = args[:latency_95th_percentile] if args.key?(:latency_95th_percentile)
1946
+ @no_quota_in_region = args[:no_quota_in_region] if args.key?(:no_quota_in_region)
1947
+ @out_of_quota = args[:out_of_quota] if args.key?(:out_of_quota)
1948
+ @pixel_match_requests = args[:pixel_match_requests] if args.key?(:pixel_match_requests)
1949
+ @pixel_match_responses = args[:pixel_match_responses] if args.key?(:pixel_match_responses)
1950
+ @quota_configured_limit = args[:quota_configured_limit] if args.key?(:quota_configured_limit)
1951
+ @quota_throttled_limit = args[:quota_throttled_limit] if args.key?(:quota_throttled_limit)
1952
+ @region = args[:region] if args.key?(:region)
1953
+ @successful_request_rate = args[:successful_request_rate] if args.key?(:successful_request_rate)
1954
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1955
+ @unsuccessful_request_rate = args[:unsuccessful_request_rate] if args.key?(:unsuccessful_request_rate)
1956
+ end
1957
+ end
1958
+
1959
+ # The configuration data for an Ad Exchange performance report list. https://
1960
+ # sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/
1961
+ # rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/
1962
+ # adx/tools/rtb_api/adxrtb.py
1963
+ class PerformanceReportList
1964
+ include Google::Apis::Core::Hashable
1965
+
1966
+ # Resource type.
1967
+ # Corresponds to the JSON property `kind`
1968
+ # @return [String]
1969
+ attr_accessor :kind
1970
+
1971
+ # A list of performance reports relevant for the account.
1972
+ # Corresponds to the JSON property `performanceReport`
1973
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PerformanceReport>]
1974
+ attr_accessor :performance_report
1975
+
1976
+ def initialize(**args)
1977
+ update!(**args)
1978
+ end
1979
+
1980
+ # Update properties of this object
1981
+ def update!(**args)
1982
+ @kind = args[:kind] if args.key?(:kind)
1983
+ @performance_report = args[:performance_report] if args.key?(:performance_report)
1984
+ end
1985
+ end
1986
+
1987
+ #
1988
+ class PretargetingConfig
1989
+ include Google::Apis::Core::Hashable
1990
+
1991
+ # The id for billing purposes, provided for reference. Leave this field blank
1992
+ # for insert requests; the id will be generated automatically.
1993
+ # Corresponds to the JSON property `billingId`
1994
+ # @return [String]
1995
+ attr_accessor :billing_id
1996
+
1997
+ # The config id; generated automatically. Leave this field blank for insert
1998
+ # requests.
1999
+ # Corresponds to the JSON property `configId`
2000
+ # @return [String]
2001
+ attr_accessor :config_id
2002
+
2003
+ # The name of the config. Must be unique. Required for all requests.
2004
+ # Corresponds to the JSON property `configName`
2005
+ # @return [String]
2006
+ attr_accessor :config_name
2007
+
2008
+ # List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
2009
+ # PRETARGETING_CREATIVE_TYPE_VIDEO.
2010
+ # Corresponds to the JSON property `creativeType`
2011
+ # @return [Array<String>]
2012
+ attr_accessor :creative_type
2013
+
2014
+ # Requests which allow one of these (width, height) pairs will match. All pairs
2015
+ # must be supported ad dimensions.
2016
+ # Corresponds to the JSON property `dimensions`
2017
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Dimension>]
2018
+ attr_accessor :dimensions
2019
+
2020
+ # Requests with any of these content labels will not match. Values are from
2021
+ # content-labels.txt in the downloadable files section.
2022
+ # Corresponds to the JSON property `excludedContentLabels`
2023
+ # @return [Array<String>]
2024
+ attr_accessor :excluded_content_labels
2025
+
2026
+ # Requests containing any of these geo criteria ids will not match.
2027
+ # Corresponds to the JSON property `excludedGeoCriteriaIds`
2028
+ # @return [Array<String>]
2029
+ attr_accessor :excluded_geo_criteria_ids
2030
+
2031
+ # Requests containing any of these placements will not match.
2032
+ # Corresponds to the JSON property `excludedPlacements`
2033
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::ExcludedPlacement>]
2034
+ attr_accessor :excluded_placements
2035
+
2036
+ # Requests containing any of these users list ids will not match.
2037
+ # Corresponds to the JSON property `excludedUserLists`
2038
+ # @return [Array<String>]
2039
+ attr_accessor :excluded_user_lists
2040
+
2041
+ # Requests containing any of these vertical ids will not match. Values are from
2042
+ # the publisher-verticals.txt file in the downloadable files section.
2043
+ # Corresponds to the JSON property `excludedVerticals`
2044
+ # @return [Array<String>]
2045
+ attr_accessor :excluded_verticals
2046
+
2047
+ # Requests containing any of these geo criteria ids will match.
2048
+ # Corresponds to the JSON property `geoCriteriaIds`
2049
+ # @return [Array<String>]
2050
+ attr_accessor :geo_criteria_ids
2051
+
2052
+ # Whether this config is active. Required for all requests.
2053
+ # Corresponds to the JSON property `isActive`
2054
+ # @return [Boolean]
2055
+ attr_accessor :is_active
2056
+ alias_method :is_active?, :is_active
2057
+
2058
+ # The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
2059
+ # Corresponds to the JSON property `kind`
2060
+ # @return [String]
2061
+ attr_accessor :kind
2062
+
2063
+ # Request containing any of these language codes will match.
2064
+ # Corresponds to the JSON property `languages`
2065
+ # @return [Array<String>]
2066
+ attr_accessor :languages
2067
+
2068
+ # Requests containing any of these mobile carrier ids will match. Values are
2069
+ # from mobile-carriers.csv in the downloadable files section.
2070
+ # Corresponds to the JSON property `mobileCarriers`
2071
+ # @return [Array<String>]
2072
+ attr_accessor :mobile_carriers
2073
+
2074
+ # Requests containing any of these mobile device ids will match. Values are from
2075
+ # mobile-devices.csv in the downloadable files section.
2076
+ # Corresponds to the JSON property `mobileDevices`
2077
+ # @return [Array<String>]
2078
+ attr_accessor :mobile_devices
2079
+
2080
+ # Requests containing any of these mobile operating system version ids will
2081
+ # match. Values are from mobile-os.csv in the downloadable files section.
2082
+ # Corresponds to the JSON property `mobileOperatingSystemVersions`
2083
+ # @return [Array<String>]
2084
+ attr_accessor :mobile_operating_system_versions
2085
+
2086
+ # Requests containing any of these placements will match.
2087
+ # Corresponds to the JSON property `placements`
2088
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Placement>]
2089
+ attr_accessor :placements
2090
+
2091
+ # Requests matching any of these platforms will match. Possible values are
2092
+ # PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
2093
+ # PRETARGETING_PLATFORM_TABLET.
2094
+ # Corresponds to the JSON property `platforms`
2095
+ # @return [Array<String>]
2096
+ attr_accessor :platforms
2097
+
2098
+ # Creative attributes should be declared here if all creatives corresponding to
2099
+ # this pretargeting configuration have that creative attribute. Values are from
2100
+ # pretargetable-creative-attributes.txt in the downloadable files section.
2101
+ # Corresponds to the JSON property `supportedCreativeAttributes`
2102
+ # @return [Array<String>]
2103
+ attr_accessor :supported_creative_attributes
2104
+
2105
+ # Requests containing any of these user list ids will match.
2106
+ # Corresponds to the JSON property `userLists`
2107
+ # @return [Array<String>]
2108
+ attr_accessor :user_lists
2109
+
2110
+ # Requests that allow any of these vendor ids will match. Values are from
2111
+ # vendors.txt in the downloadable files section.
2112
+ # Corresponds to the JSON property `vendorTypes`
2113
+ # @return [Array<String>]
2114
+ attr_accessor :vendor_types
2115
+
2116
+ # Requests containing any of these vertical ids will match.
2117
+ # Corresponds to the JSON property `verticals`
2118
+ # @return [Array<String>]
2119
+ attr_accessor :verticals
2120
+
2121
+ # Video requests satisfying any of these player size constraints will match.
2122
+ # Corresponds to the JSON property `videoPlayerSizes`
2123
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::VideoPlayerSize>]
2124
+ attr_accessor :video_player_sizes
2125
+
2126
+ def initialize(**args)
2127
+ update!(**args)
2128
+ end
2129
+
2130
+ # Update properties of this object
2131
+ def update!(**args)
2132
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
2133
+ @config_id = args[:config_id] if args.key?(:config_id)
2134
+ @config_name = args[:config_name] if args.key?(:config_name)
2135
+ @creative_type = args[:creative_type] if args.key?(:creative_type)
2136
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
2137
+ @excluded_content_labels = args[:excluded_content_labels] if args.key?(:excluded_content_labels)
2138
+ @excluded_geo_criteria_ids = args[:excluded_geo_criteria_ids] if args.key?(:excluded_geo_criteria_ids)
2139
+ @excluded_placements = args[:excluded_placements] if args.key?(:excluded_placements)
2140
+ @excluded_user_lists = args[:excluded_user_lists] if args.key?(:excluded_user_lists)
2141
+ @excluded_verticals = args[:excluded_verticals] if args.key?(:excluded_verticals)
2142
+ @geo_criteria_ids = args[:geo_criteria_ids] if args.key?(:geo_criteria_ids)
2143
+ @is_active = args[:is_active] if args.key?(:is_active)
2144
+ @kind = args[:kind] if args.key?(:kind)
2145
+ @languages = args[:languages] if args.key?(:languages)
2146
+ @mobile_carriers = args[:mobile_carriers] if args.key?(:mobile_carriers)
2147
+ @mobile_devices = args[:mobile_devices] if args.key?(:mobile_devices)
2148
+ @mobile_operating_system_versions = args[:mobile_operating_system_versions] if args.key?(:mobile_operating_system_versions)
2149
+ @placements = args[:placements] if args.key?(:placements)
2150
+ @platforms = args[:platforms] if args.key?(:platforms)
2151
+ @supported_creative_attributes = args[:supported_creative_attributes] if args.key?(:supported_creative_attributes)
2152
+ @user_lists = args[:user_lists] if args.key?(:user_lists)
2153
+ @vendor_types = args[:vendor_types] if args.key?(:vendor_types)
2154
+ @verticals = args[:verticals] if args.key?(:verticals)
2155
+ @video_player_sizes = args[:video_player_sizes] if args.key?(:video_player_sizes)
2156
+ end
2157
+
2158
+ #
2159
+ class Dimension
2160
+ include Google::Apis::Core::Hashable
2161
+
2162
+ # Height in pixels.
2163
+ # Corresponds to the JSON property `height`
2164
+ # @return [String]
2165
+ attr_accessor :height
2166
+
2167
+ # Width in pixels.
2168
+ # Corresponds to the JSON property `width`
2169
+ # @return [String]
2170
+ attr_accessor :width
2171
+
2172
+ def initialize(**args)
2173
+ update!(**args)
2174
+ end
2175
+
2176
+ # Update properties of this object
2177
+ def update!(**args)
2178
+ @height = args[:height] if args.key?(:height)
2179
+ @width = args[:width] if args.key?(:width)
2180
+ end
2181
+ end
2182
+
2183
+ #
2184
+ class ExcludedPlacement
2185
+ include Google::Apis::Core::Hashable
2186
+
2187
+ # The value of the placement. Interpretation depends on the placement type, e.g.
2188
+ # URL for a site placement, channel name for a channel placement, app id for a
2189
+ # mobile app placement.
2190
+ # Corresponds to the JSON property `token`
2191
+ # @return [String]
2192
+ attr_accessor :token
2193
+
2194
+ # The type of the placement.
2195
+ # Corresponds to the JSON property `type`
2196
+ # @return [String]
2197
+ attr_accessor :type
2198
+
2199
+ def initialize(**args)
2200
+ update!(**args)
2201
+ end
2202
+
2203
+ # Update properties of this object
2204
+ def update!(**args)
2205
+ @token = args[:token] if args.key?(:token)
2206
+ @type = args[:type] if args.key?(:type)
2207
+ end
2208
+ end
2209
+
2210
+ #
2211
+ class Placement
2212
+ include Google::Apis::Core::Hashable
2213
+
2214
+ # The value of the placement. Interpretation depends on the placement type, e.g.
2215
+ # URL for a site placement, channel name for a channel placement, app id for a
2216
+ # mobile app placement.
2217
+ # Corresponds to the JSON property `token`
2218
+ # @return [String]
2219
+ attr_accessor :token
2220
+
2221
+ # The type of the placement.
2222
+ # Corresponds to the JSON property `type`
2223
+ # @return [String]
2224
+ attr_accessor :type
2225
+
2226
+ def initialize(**args)
2227
+ update!(**args)
2228
+ end
2229
+
2230
+ # Update properties of this object
2231
+ def update!(**args)
2232
+ @token = args[:token] if args.key?(:token)
2233
+ @type = args[:type] if args.key?(:type)
2234
+ end
2235
+ end
2236
+
2237
+ #
2238
+ class VideoPlayerSize
2239
+ include Google::Apis::Core::Hashable
2240
+
2241
+ # The type of aspect ratio. Leave this field blank to match all aspect ratios.
2242
+ # Corresponds to the JSON property `aspectRatio`
2243
+ # @return [String]
2244
+ attr_accessor :aspect_ratio
2245
+
2246
+ # The minimum player height in pixels. Leave this field blank to match any
2247
+ # player height.
2248
+ # Corresponds to the JSON property `minHeight`
2249
+ # @return [String]
2250
+ attr_accessor :min_height
2251
+
2252
+ # The minimum player width in pixels. Leave this field blank to match any player
2253
+ # width.
2254
+ # Corresponds to the JSON property `minWidth`
2255
+ # @return [String]
2256
+ attr_accessor :min_width
2257
+
2258
+ def initialize(**args)
2259
+ update!(**args)
2260
+ end
2261
+
2262
+ # Update properties of this object
2263
+ def update!(**args)
2264
+ @aspect_ratio = args[:aspect_ratio] if args.key?(:aspect_ratio)
2265
+ @min_height = args[:min_height] if args.key?(:min_height)
2266
+ @min_width = args[:min_width] if args.key?(:min_width)
2267
+ end
2268
+ end
2269
+ end
2270
+
2271
+ #
2272
+ class PretargetingConfigList
2273
+ include Google::Apis::Core::Hashable
2274
+
2275
+ # A list of pretargeting configs
2276
+ # Corresponds to the JSON property `items`
2277
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig>]
2278
+ attr_accessor :items
2279
+
2280
+ # Resource type.
2281
+ # Corresponds to the JSON property `kind`
2282
+ # @return [String]
2283
+ attr_accessor :kind
2284
+
2285
+ def initialize(**args)
2286
+ update!(**args)
2287
+ end
2288
+
2289
+ # Update properties of this object
2290
+ def update!(**args)
2291
+ @items = args[:items] if args.key?(:items)
2292
+ @kind = args[:kind] if args.key?(:kind)
2293
+ end
2294
+ end
2295
+
2296
+ #
2297
+ class Price
2298
+ include Google::Apis::Core::Hashable
2299
+
2300
+ # The price value in micros.
2301
+ # Corresponds to the JSON property `amountMicros`
2302
+ # @return [Float]
2303
+ attr_accessor :amount_micros
2304
+
2305
+ # The currency code for the price.
2306
+ # Corresponds to the JSON property `currencyCode`
2307
+ # @return [String]
2308
+ attr_accessor :currency_code
2309
+
2310
+ # The pricing type for the deal/product.
2311
+ # Corresponds to the JSON property `pricingType`
2312
+ # @return [String]
2313
+ attr_accessor :pricing_type
2314
+
2315
+ def initialize(**args)
2316
+ update!(**args)
2317
+ end
2318
+
2319
+ # Update properties of this object
2320
+ def update!(**args)
2321
+ @amount_micros = args[:amount_micros] if args.key?(:amount_micros)
2322
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2323
+ @pricing_type = args[:pricing_type] if args.key?(:pricing_type)
2324
+ end
2325
+ end
2326
+
2327
+ # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an
2328
+ # product can become [0,1] deals. To check if there is a PricePerBuyer for a
2329
+ # particular buyer or buyer/advertiser pair, we look for the most specific
2330
+ # matching rule - we first look for a rule matching the buyer and advertiser,
2331
+ # next a rule with the buyer but an empty advertiser list, and otherwise look
2332
+ # for a matching rule where no buyer is set.
2333
+ class PricePerBuyer
2334
+ include Google::Apis::Core::Hashable
2335
+
2336
+ # The buyer who will pay this price. If unset, all buyers can pay this price (if
2337
+ # the advertisers match, and there's no more specific rule matching the buyer).
2338
+ # Corresponds to the JSON property `buyer`
2339
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2340
+ attr_accessor :buyer
2341
+
2342
+ # The specified price
2343
+ # Corresponds to the JSON property `price`
2344
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
2345
+ attr_accessor :price
2346
+
2347
+ def initialize(**args)
2348
+ update!(**args)
2349
+ end
2350
+
2351
+ # Update properties of this object
2352
+ def update!(**args)
2353
+ @buyer = args[:buyer] if args.key?(:buyer)
2354
+ @price = args[:price] if args.key?(:price)
2355
+ end
2356
+ end
2357
+
2358
+ #
2359
+ class PrivateData
2360
+ include Google::Apis::Core::Hashable
2361
+
2362
+ #
2363
+ # Corresponds to the JSON property `referenceId`
2364
+ # @return [String]
2365
+ attr_accessor :reference_id
2366
+
2367
+ #
2368
+ # Corresponds to the JSON property `referencePayload`
2369
+ # @return [String]
2370
+ attr_accessor :reference_payload
2371
+
2372
+ def initialize(**args)
2373
+ update!(**args)
2374
+ end
2375
+
2376
+ # Update properties of this object
2377
+ def update!(**args)
2378
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
2379
+ @reference_payload = args[:reference_payload] if args.key?(:reference_payload)
2380
+ end
2381
+ end
2382
+
2383
+ # A product is segment of inventory that a seller wishes to sell. It is
2384
+ # associated with certain terms and targeting information which helps buyer know
2385
+ # more about the inventory. Each field in a product can have one of the
2386
+ # following setting:
2387
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
2388
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
2389
+ # field. (updatable) - The field is updatable at all times by either buyer or
2390
+ # the seller.
2391
+ class Product
2392
+ include Google::Apis::Core::Hashable
2393
+
2394
+ # Creation time in ms. since epoch (readonly)
2395
+ # Corresponds to the JSON property `creationTimeMs`
2396
+ # @return [String]
2397
+ attr_accessor :creation_time_ms
2398
+
2399
+ # Optional contact information for the creator of this product. (buyer-readonly)
2400
+ # Corresponds to the JSON property `creatorContacts`
2401
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2402
+ attr_accessor :creator_contacts
2403
+
2404
+ # The set of fields around delivery control that are interesting for a buyer to
2405
+ # see but are non-negotiable. These are set by the publisher. This message is
2406
+ # assigned an id of 100 since some day we would want to model this as a protobuf
2407
+ # extension.
2408
+ # Corresponds to the JSON property `deliveryControl`
2409
+ # @return [Google::Apis::AdexchangebuyerV1_4::DeliveryControl]
2410
+ attr_accessor :delivery_control
2411
+
2412
+ # The proposed end time for the deal (ms since epoch) (buyer-readonly)
2413
+ # Corresponds to the JSON property `flightEndTimeMs`
2414
+ # @return [String]
2415
+ attr_accessor :flight_end_time_ms
2416
+
2417
+ # Inventory availability dates. (times are in ms since epoch) The granularity is
2418
+ # generally in the order of seconds. (buyer-readonly)
2419
+ # Corresponds to the JSON property `flightStartTimeMs`
2420
+ # @return [String]
2421
+ attr_accessor :flight_start_time_ms
2422
+
2423
+ # If the creator has already signed off on the product, then the buyer can
2424
+ # finalize the deal by accepting the product as is. When copying to a proposal,
2425
+ # if any of the terms are changed, then auto_finalize is automatically set to
2426
+ # false.
2427
+ # Corresponds to the JSON property `hasCreatorSignedOff`
2428
+ # @return [Boolean]
2429
+ attr_accessor :has_creator_signed_off
2430
+ alias_method :has_creator_signed_off?, :has_creator_signed_off
2431
+
2432
+ # What exchange will provide this inventory (readonly, except on create).
2433
+ # Corresponds to the JSON property `inventorySource`
2434
+ # @return [String]
2435
+ attr_accessor :inventory_source
2436
+
2437
+ # Identifies what kind of resource this is. Value: the fixed string "
2438
+ # adexchangebuyer#product".
2439
+ # Corresponds to the JSON property `kind`
2440
+ # @return [String]
2441
+ attr_accessor :kind
2442
+
2443
+ # Optional List of labels for the product (optional, buyer-readonly).
2444
+ # Corresponds to the JSON property `labels`
2445
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
2446
+ attr_accessor :labels
2447
+
2448
+ # Time of last update in ms. since epoch (readonly)
2449
+ # Corresponds to the JSON property `lastUpdateTimeMs`
2450
+ # @return [String]
2451
+ attr_accessor :last_update_time_ms
2452
+
2453
+ # Optional legacy offer id if this offer is a preferred deal offer.
2454
+ # Corresponds to the JSON property `legacyOfferId`
2455
+ # @return [String]
2456
+ attr_accessor :legacy_offer_id
2457
+
2458
+ # The name for this product as set by the seller. (buyer-readonly)
2459
+ # Corresponds to the JSON property `name`
2460
+ # @return [String]
2461
+ attr_accessor :name
2462
+
2463
+ # Optional private auction id if this offer is a private auction offer.
2464
+ # Corresponds to the JSON property `privateAuctionId`
2465
+ # @return [String]
2466
+ attr_accessor :private_auction_id
2467
+
2468
+ # The unique id for the product (readonly)
2469
+ # Corresponds to the JSON property `productId`
2470
+ # @return [String]
2471
+ attr_accessor :product_id
2472
+
2473
+ # The revision number of the product. (readonly)
2474
+ # Corresponds to the JSON property `revisionNumber`
2475
+ # @return [String]
2476
+ attr_accessor :revision_number
2477
+
2478
+ # Information about the seller that created this product (readonly, except on
2479
+ # create)
2480
+ # Corresponds to the JSON property `seller`
2481
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
2482
+ attr_accessor :seller
2483
+
2484
+ # Targeting that is shared between the buyer and the seller. Each targeting
2485
+ # criteria has a specified key and for each key there is a list of inclusion
2486
+ # value or exclusion values. (buyer-readonly)
2487
+ # Corresponds to the JSON property `sharedTargetings`
2488
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
2489
+ attr_accessor :shared_targetings
2490
+
2491
+ # The state of the product. (buyer-readonly)
2492
+ # Corresponds to the JSON property `state`
2493
+ # @return [String]
2494
+ attr_accessor :state
2495
+
2496
+ # The syndication product associated with the deal. (readonly, except on create)
2497
+ # Corresponds to the JSON property `syndicationProduct`
2498
+ # @return [String]
2499
+ attr_accessor :syndication_product
2500
+
2501
+ # The negotiable terms of the deal (buyer-readonly)
2502
+ # Corresponds to the JSON property `terms`
2503
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
2504
+ attr_accessor :terms
2505
+
2506
+ #
2507
+ # Corresponds to the JSON property `webPropertyCode`
2508
+ # @return [String]
2509
+ attr_accessor :web_property_code
2510
+
2511
+ def initialize(**args)
2512
+ update!(**args)
2513
+ end
2514
+
2515
+ # Update properties of this object
2516
+ def update!(**args)
2517
+ @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
2518
+ @creator_contacts = args[:creator_contacts] if args.key?(:creator_contacts)
2519
+ @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
2520
+ @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
2521
+ @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
2522
+ @has_creator_signed_off = args[:has_creator_signed_off] if args.key?(:has_creator_signed_off)
2523
+ @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
2524
+ @kind = args[:kind] if args.key?(:kind)
2525
+ @labels = args[:labels] if args.key?(:labels)
2526
+ @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
2527
+ @legacy_offer_id = args[:legacy_offer_id] if args.key?(:legacy_offer_id)
2528
+ @name = args[:name] if args.key?(:name)
2529
+ @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
2530
+ @product_id = args[:product_id] if args.key?(:product_id)
2531
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
2532
+ @seller = args[:seller] if args.key?(:seller)
2533
+ @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
2534
+ @state = args[:state] if args.key?(:state)
2535
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
2536
+ @terms = args[:terms] if args.key?(:terms)
2537
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
2538
+ end
2539
+ end
2540
+
2541
+ # Represents a proposal in the marketplace. A proposal is the unit of
2542
+ # negotiation between a seller and a buyer and contains deals which are served.
2543
+ # Each field in a proposal can have one of the following setting:
2544
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
2545
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
2546
+ # field. (updatable) - The field is updatable at all times by either buyer or
2547
+ # the seller.
2548
+ class Proposal
2549
+ include Google::Apis::Core::Hashable
2550
+
2551
+ # Reference to the buyer that will get billed for this proposal. (readonly)
2552
+ # Corresponds to the JSON property `billedBuyer`
2553
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2554
+ attr_accessor :billed_buyer
2555
+
2556
+ # Reference to the buyer on the proposal. (readonly, except on create)
2557
+ # Corresponds to the JSON property `buyer`
2558
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2559
+ attr_accessor :buyer
2560
+
2561
+ # Optional contact information fort the buyer. (seller-readonly)
2562
+ # Corresponds to the JSON property `buyerContacts`
2563
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2564
+ attr_accessor :buyer_contacts
2565
+
2566
+ # Private data for buyer. (hidden from seller).
2567
+ # Corresponds to the JSON property `buyerPrivateData`
2568
+ # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
2569
+ attr_accessor :buyer_private_data
2570
+
2571
+ # When an proposal is in an accepted state, indicates whether the buyer has
2572
+ # signed off Once both sides have signed off on a deal, the proposal can be
2573
+ # finalized by the seller. (seller-readonly)
2574
+ # Corresponds to the JSON property `hasBuyerSignedOff`
2575
+ # @return [Boolean]
2576
+ attr_accessor :has_buyer_signed_off
2577
+ alias_method :has_buyer_signed_off?, :has_buyer_signed_off
2578
+
2579
+ # When an proposal is in an accepted state, indicates whether the buyer has
2580
+ # signed off Once both sides have signed off on a deal, the proposal can be
2581
+ # finalized by the seller. (buyer-readonly)
2582
+ # Corresponds to the JSON property `hasSellerSignedOff`
2583
+ # @return [Boolean]
2584
+ attr_accessor :has_seller_signed_off
2585
+ alias_method :has_seller_signed_off?, :has_seller_signed_off
2586
+
2587
+ # What exchange will provide this inventory (readonly, except on create).
2588
+ # Corresponds to the JSON property `inventorySource`
2589
+ # @return [String]
2590
+ attr_accessor :inventory_source
2591
+
2592
+ # True if the proposal is being renegotiated (readonly).
2593
+ # Corresponds to the JSON property `isRenegotiating`
2594
+ # @return [Boolean]
2595
+ attr_accessor :is_renegotiating
2596
+ alias_method :is_renegotiating?, :is_renegotiating
2597
+
2598
+ # True, if the buyside inventory setup is complete for this proposal. (readonly,
2599
+ # except via OrderSetupCompleted action)
2600
+ # Corresponds to the JSON property `isSetupComplete`
2601
+ # @return [Boolean]
2602
+ attr_accessor :is_setup_complete
2603
+ alias_method :is_setup_complete?, :is_setup_complete
2604
+
2605
+ # Identifies what kind of resource this is. Value: the fixed string "
2606
+ # adexchangebuyer#proposal".
2607
+ # Corresponds to the JSON property `kind`
2608
+ # @return [String]
2609
+ attr_accessor :kind
2610
+
2611
+ # List of labels associated with the proposal. (readonly)
2612
+ # Corresponds to the JSON property `labels`
2613
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
2614
+ attr_accessor :labels
2615
+
2616
+ # The role of the last user that either updated the proposal or left a comment. (
2617
+ # readonly)
2618
+ # Corresponds to the JSON property `lastUpdaterOrCommentorRole`
2619
+ # @return [String]
2620
+ attr_accessor :last_updater_or_commentor_role
2621
+
2622
+ #
2623
+ # Corresponds to the JSON property `lastUpdaterRole`
2624
+ # @return [String]
2625
+ attr_accessor :last_updater_role
2626
+
2627
+ # The name for the proposal (updatable)
2628
+ # Corresponds to the JSON property `name`
2629
+ # @return [String]
2630
+ attr_accessor :name
2631
+
2632
+ # Optional negotiation id if this proposal is a preferred deal proposal.
2633
+ # Corresponds to the JSON property `negotiationId`
2634
+ # @return [String]
2635
+ attr_accessor :negotiation_id
2636
+
2637
+ # Indicates whether the buyer/seller created the proposal.(readonly)
2638
+ # Corresponds to the JSON property `originatorRole`
2639
+ # @return [String]
2640
+ attr_accessor :originator_role
2641
+
2642
+ # Optional private auction id if this proposal is a private auction proposal.
2643
+ # Corresponds to the JSON property `privateAuctionId`
2644
+ # @return [String]
2645
+ attr_accessor :private_auction_id
2646
+
2647
+ # The unique id of the proposal. (readonly).
2648
+ # Corresponds to the JSON property `proposalId`
2649
+ # @return [String]
2650
+ attr_accessor :proposal_id
2651
+
2652
+ # The current state of the proposal. (readonly)
2653
+ # Corresponds to the JSON property `proposalState`
2654
+ # @return [String]
2655
+ attr_accessor :proposal_state
2656
+
2657
+ # The revision number for the proposal (readonly).
2658
+ # Corresponds to the JSON property `revisionNumber`
2659
+ # @return [String]
2660
+ attr_accessor :revision_number
2661
+
2662
+ # The time (ms since epoch) when the proposal was last revised (readonly).
2663
+ # Corresponds to the JSON property `revisionTimeMs`
2664
+ # @return [String]
2665
+ attr_accessor :revision_time_ms
2666
+
2667
+ # Reference to the seller on the proposal. (readonly, except on create)
2668
+ # Corresponds to the JSON property `seller`
2669
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
2670
+ attr_accessor :seller
2671
+
2672
+ # Optional contact information for the seller (buyer-readonly).
2673
+ # Corresponds to the JSON property `sellerContacts`
2674
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2675
+ attr_accessor :seller_contacts
2676
+
2677
+ def initialize(**args)
2678
+ update!(**args)
2679
+ end
2680
+
2681
+ # Update properties of this object
2682
+ def update!(**args)
2683
+ @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
2684
+ @buyer = args[:buyer] if args.key?(:buyer)
2685
+ @buyer_contacts = args[:buyer_contacts] if args.key?(:buyer_contacts)
2686
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
2687
+ @has_buyer_signed_off = args[:has_buyer_signed_off] if args.key?(:has_buyer_signed_off)
2688
+ @has_seller_signed_off = args[:has_seller_signed_off] if args.key?(:has_seller_signed_off)
2689
+ @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
2690
+ @is_renegotiating = args[:is_renegotiating] if args.key?(:is_renegotiating)
2691
+ @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
2692
+ @kind = args[:kind] if args.key?(:kind)
2693
+ @labels = args[:labels] if args.key?(:labels)
2694
+ @last_updater_or_commentor_role = args[:last_updater_or_commentor_role] if args.key?(:last_updater_or_commentor_role)
2695
+ @last_updater_role = args[:last_updater_role] if args.key?(:last_updater_role)
2696
+ @name = args[:name] if args.key?(:name)
2697
+ @negotiation_id = args[:negotiation_id] if args.key?(:negotiation_id)
2698
+ @originator_role = args[:originator_role] if args.key?(:originator_role)
2699
+ @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
2700
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
2701
+ @proposal_state = args[:proposal_state] if args.key?(:proposal_state)
2702
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
2703
+ @revision_time_ms = args[:revision_time_ms] if args.key?(:revision_time_ms)
2704
+ @seller = args[:seller] if args.key?(:seller)
2705
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
2706
+ end
2707
+ end
2708
+
2709
+ #
2710
+ class PublisherProfileApiProto
2711
+ include Google::Apis::Core::Hashable
2712
+
2713
+ # A pitch statement for the buyer
2714
+ # Corresponds to the JSON property `buyerPitchStatement`
2715
+ # @return [String]
2716
+ attr_accessor :buyer_pitch_statement
2717
+
2718
+ # Link to publisher's Google+ page.
2719
+ # Corresponds to the JSON property `googlePlusLink`
2720
+ # @return [String]
2721
+ attr_accessor :google_plus_link
2722
+
2723
+ # True, if this is the parent profile, which represents all domains owned by the
2724
+ # publisher.
2725
+ # Corresponds to the JSON property `isParent`
2726
+ # @return [Boolean]
2727
+ attr_accessor :is_parent
2728
+ alias_method :is_parent?, :is_parent
2729
+
2730
+ # Identifies what kind of resource this is. Value: the fixed string "
2731
+ # adexchangebuyer#publisherProfileApiProto".
2732
+ # Corresponds to the JSON property `kind`
2733
+ # @return [String]
2734
+ attr_accessor :kind
2735
+
2736
+ # The url to the logo for the publisher.
2737
+ # Corresponds to the JSON property `logoUrl`
2738
+ # @return [String]
2739
+ attr_accessor :logo_url
2740
+
2741
+ # The url for additional marketing and sales materials.
2742
+ # Corresponds to the JSON property `mediaKitLink`
2743
+ # @return [String]
2744
+ attr_accessor :media_kit_link
2745
+
2746
+ #
2747
+ # Corresponds to the JSON property `name`
2748
+ # @return [String]
2749
+ attr_accessor :name
2750
+
2751
+ # Publisher provided overview.
2752
+ # Corresponds to the JSON property `overview`
2753
+ # @return [String]
2754
+ attr_accessor :overview
2755
+
2756
+ # Unique id for the publisher profile
2757
+ # Corresponds to the JSON property `profileId`
2758
+ # @return [Fixnum]
2759
+ attr_accessor :profile_id
2760
+
2761
+ # The list of domains represented in this publisher profile. Empty if this is a
2762
+ # parent profile.
2763
+ # Corresponds to the JSON property `publisherDomains`
2764
+ # @return [Array<String>]
2765
+ attr_accessor :publisher_domains
2766
+
2767
+ # Link to publisher rate card
2768
+ # Corresponds to the JSON property `rateCardInfoLink`
2769
+ # @return [String]
2770
+ attr_accessor :rate_card_info_link
2771
+
2772
+ # Link for a sample content page.
2773
+ # Corresponds to the JSON property `samplePageLink`
2774
+ # @return [String]
2775
+ attr_accessor :sample_page_link
2776
+
2777
+ # Publisher provided key metrics and rankings.
2778
+ # Corresponds to the JSON property `topHeadlines`
2779
+ # @return [Array<String>]
2780
+ attr_accessor :top_headlines
2781
+
2782
+ def initialize(**args)
2783
+ update!(**args)
2784
+ end
2785
+
2786
+ # Update properties of this object
2787
+ def update!(**args)
2788
+ @buyer_pitch_statement = args[:buyer_pitch_statement] if args.key?(:buyer_pitch_statement)
2789
+ @google_plus_link = args[:google_plus_link] if args.key?(:google_plus_link)
2790
+ @is_parent = args[:is_parent] if args.key?(:is_parent)
2791
+ @kind = args[:kind] if args.key?(:kind)
2792
+ @logo_url = args[:logo_url] if args.key?(:logo_url)
2793
+ @media_kit_link = args[:media_kit_link] if args.key?(:media_kit_link)
2794
+ @name = args[:name] if args.key?(:name)
2795
+ @overview = args[:overview] if args.key?(:overview)
2796
+ @profile_id = args[:profile_id] if args.key?(:profile_id)
2797
+ @publisher_domains = args[:publisher_domains] if args.key?(:publisher_domains)
2798
+ @rate_card_info_link = args[:rate_card_info_link] if args.key?(:rate_card_info_link)
2799
+ @sample_page_link = args[:sample_page_link] if args.key?(:sample_page_link)
2800
+ @top_headlines = args[:top_headlines] if args.key?(:top_headlines)
2801
+ end
2802
+ end
2803
+
2804
+ #
2805
+ class Seller
2806
+ include Google::Apis::Core::Hashable
2807
+
2808
+ # The unique id for the seller. The seller fills in this field. The seller
2809
+ # account id is then available to buyer in the product.
2810
+ # Corresponds to the JSON property `accountId`
2811
+ # @return [String]
2812
+ attr_accessor :account_id
2813
+
2814
+ # Optional sub-account id for the seller.
2815
+ # Corresponds to the JSON property `subAccountId`
2816
+ # @return [String]
2817
+ attr_accessor :sub_account_id
2818
+
2819
+ def initialize(**args)
2820
+ update!(**args)
2821
+ end
2822
+
2823
+ # Update properties of this object
2824
+ def update!(**args)
2825
+ @account_id = args[:account_id] if args.key?(:account_id)
2826
+ @sub_account_id = args[:sub_account_id] if args.key?(:sub_account_id)
2827
+ end
2828
+ end
2829
+
2830
+ #
2831
+ class SharedTargeting
2832
+ include Google::Apis::Core::Hashable
2833
+
2834
+ # The list of values to exclude from targeting. Each value is AND'd together.
2835
+ # Corresponds to the JSON property `exclusions`
2836
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
2837
+ attr_accessor :exclusions
2838
+
2839
+ # The list of value to include as part of the targeting. Each value is OR'd
2840
+ # together.
2841
+ # Corresponds to the JSON property `inclusions`
2842
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
2843
+ attr_accessor :inclusions
2844
+
2845
+ # The key representing the shared targeting criterion.
2846
+ # Corresponds to the JSON property `key`
2847
+ # @return [String]
2848
+ attr_accessor :key
2849
+
2850
+ def initialize(**args)
2851
+ update!(**args)
2852
+ end
2853
+
2854
+ # Update properties of this object
2855
+ def update!(**args)
2856
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
2857
+ @inclusions = args[:inclusions] if args.key?(:inclusions)
2858
+ @key = args[:key] if args.key?(:key)
2859
+ end
2860
+ end
2861
+
2862
+ #
2863
+ class TargetingValue
2864
+ include Google::Apis::Core::Hashable
2865
+
2866
+ # The creative size value to exclude/include.
2867
+ # Corresponds to the JSON property `creativeSizeValue`
2868
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueCreativeSize]
2869
+ attr_accessor :creative_size_value
2870
+
2871
+ # The daypart targeting to include / exclude. Filled in when the key is
2872
+ # GOOG_DAYPART_TARGETING.
2873
+ # Corresponds to the JSON property `dayPartTargetingValue`
2874
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargeting]
2875
+ attr_accessor :day_part_targeting_value
2876
+
2877
+ # The long value to exclude/include.
2878
+ # Corresponds to the JSON property `longValue`
2879
+ # @return [String]
2880
+ attr_accessor :long_value
2881
+
2882
+ # The string value to exclude/include.
2883
+ # Corresponds to the JSON property `stringValue`
2884
+ # @return [String]
2885
+ attr_accessor :string_value
2886
+
2887
+ def initialize(**args)
2888
+ update!(**args)
2889
+ end
2890
+
2891
+ # Update properties of this object
2892
+ def update!(**args)
2893
+ @creative_size_value = args[:creative_size_value] if args.key?(:creative_size_value)
2894
+ @day_part_targeting_value = args[:day_part_targeting_value] if args.key?(:day_part_targeting_value)
2895
+ @long_value = args[:long_value] if args.key?(:long_value)
2896
+ @string_value = args[:string_value] if args.key?(:string_value)
2897
+ end
2898
+ end
2899
+
2900
+ #
2901
+ class TargetingValueCreativeSize
2902
+ include Google::Apis::Core::Hashable
2903
+
2904
+ # For video size type, the list of companion sizes.
2905
+ # Corresponds to the JSON property `companionSizes`
2906
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueSize>]
2907
+ attr_accessor :companion_sizes
2908
+
2909
+ # The Creative size type.
2910
+ # Corresponds to the JSON property `creativeSizeType`
2911
+ # @return [String]
2912
+ attr_accessor :creative_size_type
2913
+
2914
+ # For regular or video creative size type, specifies the size of the creative.
2915
+ # Corresponds to the JSON property `size`
2916
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueSize]
2917
+ attr_accessor :size
2918
+
2919
+ def initialize(**args)
2920
+ update!(**args)
2921
+ end
2922
+
2923
+ # Update properties of this object
2924
+ def update!(**args)
2925
+ @companion_sizes = args[:companion_sizes] if args.key?(:companion_sizes)
2926
+ @creative_size_type = args[:creative_size_type] if args.key?(:creative_size_type)
2927
+ @size = args[:size] if args.key?(:size)
2928
+ end
2929
+ end
2930
+
2931
+ #
2932
+ class TargetingValueDayPartTargeting
2933
+ include Google::Apis::Core::Hashable
2934
+
2935
+ #
2936
+ # Corresponds to the JSON property `dayParts`
2937
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargetingDayPart>]
2938
+ attr_accessor :day_parts
2939
+
2940
+ #
2941
+ # Corresponds to the JSON property `timeZoneType`
2942
+ # @return [String]
2943
+ attr_accessor :time_zone_type
2944
+
2945
+ def initialize(**args)
2946
+ update!(**args)
2947
+ end
2948
+
2949
+ # Update properties of this object
2950
+ def update!(**args)
2951
+ @day_parts = args[:day_parts] if args.key?(:day_parts)
2952
+ @time_zone_type = args[:time_zone_type] if args.key?(:time_zone_type)
2953
+ end
2954
+ end
2955
+
2956
+ #
2957
+ class TargetingValueDayPartTargetingDayPart
2958
+ include Google::Apis::Core::Hashable
2959
+
2960
+ #
2961
+ # Corresponds to the JSON property `dayOfWeek`
2962
+ # @return [String]
2963
+ attr_accessor :day_of_week
2964
+
2965
+ #
2966
+ # Corresponds to the JSON property `endHour`
2967
+ # @return [Fixnum]
2968
+ attr_accessor :end_hour
2969
+
2970
+ #
2971
+ # Corresponds to the JSON property `endMinute`
2972
+ # @return [Fixnum]
2973
+ attr_accessor :end_minute
2974
+
2975
+ #
2976
+ # Corresponds to the JSON property `startHour`
2977
+ # @return [Fixnum]
2978
+ attr_accessor :start_hour
2979
+
2980
+ #
2981
+ # Corresponds to the JSON property `startMinute`
2982
+ # @return [Fixnum]
2983
+ attr_accessor :start_minute
2984
+
2985
+ def initialize(**args)
2986
+ update!(**args)
2987
+ end
2988
+
2989
+ # Update properties of this object
2990
+ def update!(**args)
2991
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
2992
+ @end_hour = args[:end_hour] if args.key?(:end_hour)
2993
+ @end_minute = args[:end_minute] if args.key?(:end_minute)
2994
+ @start_hour = args[:start_hour] if args.key?(:start_hour)
2995
+ @start_minute = args[:start_minute] if args.key?(:start_minute)
2996
+ end
2997
+ end
2998
+
2999
+ #
3000
+ class TargetingValueSize
3001
+ include Google::Apis::Core::Hashable
3002
+
3003
+ # The height of the creative.
3004
+ # Corresponds to the JSON property `height`
3005
+ # @return [Fixnum]
3006
+ attr_accessor :height
3007
+
3008
+ # The width of the creative.
3009
+ # Corresponds to the JSON property `width`
3010
+ # @return [Fixnum]
3011
+ attr_accessor :width
3012
+
3013
+ def initialize(**args)
3014
+ update!(**args)
3015
+ end
3016
+
3017
+ # Update properties of this object
3018
+ def update!(**args)
3019
+ @height = args[:height] if args.key?(:height)
3020
+ @width = args[:width] if args.key?(:width)
3021
+ end
3022
+ end
3023
+ end
3024
+ end
3025
+ end