lemboy-google-api-client 0.9.26

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 (555) hide show
  1. checksums.yaml +7 -0
  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 +27 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +309 -0
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +53 -0
  11. data/LICENSE +202 -0
  12. data/MIGRATING.md +171 -0
  13. data/README.md +327 -0
  14. data/Rakefile +2 -0
  15. data/api_names.yaml +36215 -0
  16. data/bin/generate-api +109 -0
  17. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +298 -0
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +122 -0
  20. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +458 -0
  21. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  22. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  23. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  24. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  25. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  26. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +3550 -0
  27. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1421 -0
  28. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1538 -0
  29. data/generated/google/apis/adexchangeseller_v2_0.rb +37 -0
  30. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  31. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +347 -0
  32. data/generated/google/apis/adexchangeseller_v2_0/service.rb +667 -0
  33. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  34. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  35. data/generated/google/apis/admin_datatransfer_v1/representations.rb +130 -0
  36. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  37. data/generated/google/apis/admin_directory_v1.rb +113 -0
  38. data/generated/google/apis/admin_directory_v1/classes.rb +3241 -0
  39. data/generated/google/apis/admin_directory_v1/representations.rb +1172 -0
  40. data/generated/google/apis/admin_directory_v1/service.rb +3857 -0
  41. data/generated/google/apis/admin_reports_v1.rb +38 -0
  42. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  43. data/generated/google/apis/admin_reports_v1/representations.rb +257 -0
  44. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  45. data/generated/google/apis/adsense_v1_4.rb +37 -0
  46. data/generated/google/apis/adsense_v1_4/classes.rb +1280 -0
  47. data/generated/google/apis/adsense_v1_4/representations.rb +555 -0
  48. data/generated/google/apis/adsense_v1_4/service.rb +1713 -0
  49. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  50. data/generated/google/apis/adsensehost_v4_1/classes.rb +836 -0
  51. data/generated/google/apis/adsensehost_v4_1/representations.rb +367 -0
  52. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  53. data/generated/google/apis/analytics_v3.rb +49 -0
  54. data/generated/google/apis/analytics_v3/classes.rb +5536 -0
  55. data/generated/google/apis/analytics_v3/representations.rb +1992 -0
  56. data/generated/google/apis/analytics_v3/service.rb +3785 -0
  57. data/generated/google/apis/analyticsreporting_v4.rb +37 -0
  58. data/generated/google/apis/analyticsreporting_v4/classes.rb +1420 -0
  59. data/generated/google/apis/analyticsreporting_v4/representations.rb +598 -0
  60. data/generated/google/apis/analyticsreporting_v4/service.rb +88 -0
  61. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  62. data/generated/google/apis/androidenterprise_v1/classes.rb +2250 -0
  63. data/generated/google/apis/androidenterprise_v1/representations.rb +970 -0
  64. data/generated/google/apis/androidenterprise_v1/service.rb +3267 -0
  65. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  66. data/generated/google/apis/androidpublisher_v2/classes.rb +1941 -0
  67. data/generated/google/apis/androidpublisher_v2/representations.rb +975 -0
  68. data/generated/google/apis/androidpublisher_v2/service.rb +2572 -0
  69. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  70. data/generated/google/apis/appengine_v1beta4/classes.rb +1585 -0
  71. data/generated/google/apis/appengine_v1beta4/representations.rb +542 -0
  72. data/generated/google/apis/appengine_v1beta4/service.rb +477 -0
  73. data/generated/google/apis/appengine_v1beta5.rb +40 -0
  74. data/generated/google/apis/appengine_v1beta5/classes.rb +1984 -0
  75. data/generated/google/apis/appengine_v1beta5/representations.rb +765 -0
  76. data/generated/google/apis/appengine_v1beta5/service.rb +864 -0
  77. data/generated/google/apis/appsactivity_v1.rb +46 -0
  78. data/generated/google/apis/appsactivity_v1/classes.rb +415 -0
  79. data/generated/google/apis/appsactivity_v1/representations.rb +209 -0
  80. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  81. data/generated/google/apis/appstate_v1.rb +34 -0
  82. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  83. data/generated/google/apis/appstate_v1/representations.rb +87 -0
  84. data/generated/google/apis/appstate_v1/service.rb +260 -0
  85. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  86. data/generated/google/apis/autoscaler_v1beta2/classes.rb +710 -0
  87. data/generated/google/apis/autoscaler_v1beta2/representations.rb +296 -0
  88. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  89. data/generated/google/apis/bigquery_v2.rb +52 -0
  90. data/generated/google/apis/bigquery_v2/classes.rb +3081 -0
  91. data/generated/google/apis/bigquery_v2/representations.rb +1094 -0
  92. data/generated/google/apis/bigquery_v2/service.rb +988 -0
  93. data/generated/google/apis/blogger_v3.rb +37 -0
  94. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  95. data/generated/google/apis/blogger_v3/representations.rb +632 -0
  96. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  97. data/generated/google/apis/books_v1.rb +34 -0
  98. data/generated/google/apis/books_v1/classes.rb +4160 -0
  99. data/generated/google/apis/books_v1/representations.rb +1799 -0
  100. data/generated/google/apis/books_v1/service.rb +2300 -0
  101. data/generated/google/apis/calendar_v3.rb +37 -0
  102. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  103. data/generated/google/apis/calendar_v3/representations.rb +631 -0
  104. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  105. data/generated/google/apis/civicinfo_v2.rb +32 -0
  106. data/generated/google/apis/civicinfo_v2/classes.rb +1499 -0
  107. data/generated/google/apis/civicinfo_v2/representations.rb +572 -0
  108. data/generated/google/apis/civicinfo_v2/service.rb +300 -0
  109. data/generated/google/apis/classroom_v1.rb +70 -0
  110. data/generated/google/apis/classroom_v1/classes.rb +1572 -0
  111. data/generated/google/apis/classroom_v1/representations.rb +729 -0
  112. data/generated/google/apis/classroom_v1/service.rb +1945 -0
  113. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  114. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  115. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  116. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  117. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  118. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  119. data/generated/google/apis/cloudbilling_v1/representations.rb +87 -0
  120. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  121. data/generated/google/apis/cloudbuild_v1.rb +34 -0
  122. data/generated/google/apis/cloudbuild_v1/classes.rb +919 -0
  123. data/generated/google/apis/cloudbuild_v1/representations.rb +364 -0
  124. data/generated/google/apis/cloudbuild_v1/service.rb +492 -0
  125. data/generated/google/apis/clouddebugger_v2.rb +38 -0
  126. data/generated/google/apis/clouddebugger_v2/classes.rb +1081 -0
  127. data/generated/google/apis/clouddebugger_v2/representations.rb +465 -0
  128. data/generated/google/apis/clouddebugger_v2/service.rb +396 -0
  129. data/generated/google/apis/cloudkms_v1beta1.rb +34 -0
  130. data/generated/google/apis/cloudkms_v1beta1/classes.rb +999 -0
  131. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  132. data/generated/google/apis/cloudkms_v1beta1/service.rb +932 -0
  133. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  134. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  135. data/generated/google/apis/cloudlatencytest_v2/representations.rb +127 -0
  136. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  137. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  138. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  139. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +353 -0
  140. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +38 -0
  142. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +886 -0
  143. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +359 -0
  144. data/generated/google/apis/cloudresourcemanager_v1/service.rb +686 -0
  145. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  146. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +682 -0
  147. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +312 -0
  148. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +710 -0
  149. data/generated/google/apis/cloudtrace_v1.rb +43 -0
  150. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  151. data/generated/google/apis/cloudtrace_v1/representations.rb +102 -0
  152. data/generated/google/apis/cloudtrace_v1/service.rb +192 -0
  153. data/generated/google/apis/clouduseraccounts_beta.rb +44 -0
  154. data/generated/google/apis/clouduseraccounts_beta/classes.rb +845 -0
  155. data/generated/google/apis/clouduseraccounts_beta/representations.rb +352 -0
  156. data/generated/google/apis/clouduseraccounts_beta/service.rb +907 -0
  157. data/generated/google/apis/compute_beta.rb +49 -0
  158. data/generated/google/apis/compute_beta/classes.rb +12261 -0
  159. data/generated/google/apis/compute_beta/representations.rb +4615 -0
  160. data/generated/google/apis/compute_beta/service.rb +15330 -0
  161. data/generated/google/apis/compute_v1.rb +49 -0
  162. data/generated/google/apis/compute_v1/classes.rb +11179 -0
  163. data/generated/google/apis/compute_v1/representations.rb +4203 -0
  164. data/generated/google/apis/compute_v1/service.rb +12937 -0
  165. data/generated/google/apis/container_v1.rb +35 -0
  166. data/generated/google/apis/container_v1/classes.rb +1040 -0
  167. data/generated/google/apis/container_v1/representations.rb +415 -0
  168. data/generated/google/apis/container_v1/service.rb +659 -0
  169. data/generated/google/apis/container_v1beta1.rb +35 -0
  170. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  171. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  172. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  173. data/generated/google/apis/content_v2.rb +35 -0
  174. data/generated/google/apis/content_v2/classes.rb +6887 -0
  175. data/generated/google/apis/content_v2/representations.rb +2963 -0
  176. data/generated/google/apis/content_v2/service.rb +2653 -0
  177. data/generated/google/apis/coordinate_v1.rb +37 -0
  178. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  179. data/generated/google/apis/coordinate_v1/representations.rb +321 -0
  180. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  181. data/generated/google/apis/customsearch_v1.rb +31 -0
  182. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  183. data/generated/google/apis/customsearch_v1/representations.rb +302 -0
  184. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  185. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  186. data/generated/google/apis/dataflow_v1b3/classes.rb +4225 -0
  187. data/generated/google/apis/dataflow_v1b3/representations.rb +1809 -0
  188. data/generated/google/apis/dataflow_v1b3/service.rb +874 -0
  189. data/generated/google/apis/dataproc_v1.rb +34 -0
  190. data/generated/google/apis/dataproc_v1/classes.rb +1716 -0
  191. data/generated/google/apis/dataproc_v1/representations.rb +678 -0
  192. data/generated/google/apis/dataproc_v1/service.rb +670 -0
  193. data/generated/google/apis/datastore_v1.rb +38 -0
  194. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  195. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  196. data/generated/google/apis/datastore_v1/service.rb +259 -0
  197. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  198. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  199. data/generated/google/apis/datastore_v1beta2/representations.rb +594 -0
  200. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  201. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  202. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  203. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  204. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  205. data/generated/google/apis/deploymentmanager_v2.rb +43 -0
  206. data/generated/google/apis/deploymentmanager_v2/classes.rb +1582 -0
  207. data/generated/google/apis/deploymentmanager_v2/representations.rb +686 -0
  208. data/generated/google/apis/deploymentmanager_v2/service.rb +1026 -0
  209. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  210. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  211. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  212. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  213. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  214. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  215. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  216. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  217. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  218. data/generated/google/apis/dfareporting_v2_3/classes.rb +10839 -0
  219. data/generated/google/apis/dfareporting_v2_3/representations.rb +3829 -0
  220. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  221. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  222. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  223. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  224. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  225. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  226. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  227. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  228. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  229. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  230. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  231. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  232. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  233. data/generated/google/apis/discovery_v1.rb +32 -0
  234. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  235. data/generated/google/apis/discovery_v1/representations.rb +397 -0
  236. data/generated/google/apis/discovery_v1/service.rb +142 -0
  237. data/generated/google/apis/dns_v1.rb +43 -0
  238. data/generated/google/apis/dns_v1/classes.rb +406 -0
  239. data/generated/google/apis/dns_v1/representations.rb +167 -0
  240. data/generated/google/apis/dns_v1/service.rb +453 -0
  241. data/generated/google/apis/dns_v2beta1.rb +43 -0
  242. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  243. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  244. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  245. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  246. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +795 -0
  247. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +368 -0
  248. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +376 -0
  249. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  250. data/generated/google/apis/doubleclicksearch_v2/classes.rb +960 -0
  251. data/generated/google/apis/doubleclicksearch_v2/representations.rb +350 -0
  252. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  253. data/generated/google/apis/drive_v2.rb +59 -0
  254. data/generated/google/apis/drive_v2/classes.rb +2633 -0
  255. data/generated/google/apis/drive_v2/representations.rb +885 -0
  256. data/generated/google/apis/drive_v2/service.rb +2754 -0
  257. data/generated/google/apis/drive_v3.rb +56 -0
  258. data/generated/google/apis/drive_v3/classes.rb +1611 -0
  259. data/generated/google/apis/drive_v3/representations.rb +555 -0
  260. data/generated/google/apis/drive_v3/service.rb +1553 -0
  261. data/generated/google/apis/fitness_v1.rb +85 -0
  262. data/generated/google/apis/fitness_v1/classes.rb +943 -0
  263. data/generated/google/apis/fitness_v1/representations.rb +380 -0
  264. data/generated/google/apis/fitness_v1/service.rb +674 -0
  265. data/generated/google/apis/fusiontables_v2.rb +37 -0
  266. data/generated/google/apis/fusiontables_v2/classes.rb +1049 -0
  267. data/generated/google/apis/fusiontables_v2/representations.rb +457 -0
  268. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  269. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  270. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  271. data/generated/google/apis/games_configuration_v1configuration/representations.rb +228 -0
  272. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  273. data/generated/google/apis/games_management_v1management.rb +37 -0
  274. data/generated/google/apis/games_management_v1management/classes.rb +567 -0
  275. data/generated/google/apis/games_management_v1management/representations.rb +278 -0
  276. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  277. data/generated/google/apis/games_v1.rb +40 -0
  278. data/generated/google/apis/games_v1/classes.rb +4667 -0
  279. data/generated/google/apis/games_v1/representations.rb +1800 -0
  280. data/generated/google/apis/games_v1/service.rb +2449 -0
  281. data/generated/google/apis/gan_v1beta1.rb +31 -0
  282. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  283. data/generated/google/apis/gan_v1beta1/representations.rb +462 -0
  284. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  285. data/generated/google/apis/genomics_v1.rb +46 -0
  286. data/generated/google/apis/genomics_v1/classes.rb +3477 -0
  287. data/generated/google/apis/genomics_v1/representations.rb +1284 -0
  288. data/generated/google/apis/genomics_v1/service.rb +2207 -0
  289. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  290. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  291. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  292. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  293. data/generated/google/apis/gmail_v1.rb +61 -0
  294. data/generated/google/apis/gmail_v1/classes.rb +1382 -0
  295. data/generated/google/apis/gmail_v1/representations.rb +624 -0
  296. data/generated/google/apis/gmail_v1/service.rb +2447 -0
  297. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  298. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  299. data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
  300. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  301. data/generated/google/apis/groupssettings_v1.rb +34 -0
  302. data/generated/google/apis/groupssettings_v1/classes.rb +240 -0
  303. data/generated/google/apis/groupssettings_v1/representations.rb +69 -0
  304. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  305. data/generated/google/apis/iam_v1.rb +36 -0
  306. data/generated/google/apis/iam_v1/classes.rb +640 -0
  307. data/generated/google/apis/iam_v1/representations.rb +316 -0
  308. data/generated/google/apis/iam_v1/service.rb +554 -0
  309. data/generated/google/apis/identitytoolkit_v3.rb +37 -0
  310. data/generated/google/apis/identitytoolkit_v3/classes.rb +2182 -0
  311. data/generated/google/apis/identitytoolkit_v3/representations.rb +742 -0
  312. data/generated/google/apis/identitytoolkit_v3/service.rb +657 -0
  313. data/generated/google/apis/kgsearch_v1.rb +31 -0
  314. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  315. data/generated/google/apis/kgsearch_v1/representations.rb +41 -0
  316. data/generated/google/apis/kgsearch_v1/service.rb +113 -0
  317. data/generated/google/apis/language_v1beta1.rb +36 -0
  318. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  319. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  320. data/generated/google/apis/language_v1beta1/service.rb +184 -0
  321. data/generated/google/apis/licensing_v1.rb +34 -0
  322. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  323. data/generated/google/apis/licensing_v1/representations.rb +74 -0
  324. data/generated/google/apis/licensing_v1/service.rb +369 -0
  325. data/generated/google/apis/logging_v1beta3.rb +47 -0
  326. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  327. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  328. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  329. data/generated/google/apis/logging_v2beta1.rb +46 -0
  330. data/generated/google/apis/logging_v2beta1/classes.rb +1254 -0
  331. data/generated/google/apis/logging_v2beta1/representations.rb +421 -0
  332. data/generated/google/apis/logging_v2beta1/service.rb +788 -0
  333. data/generated/google/apis/manager_v1beta2.rb +53 -0
  334. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  335. data/generated/google/apis/manager_v1beta2/representations.rb +606 -0
  336. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  337. data/generated/google/apis/manufacturers_v1.rb +34 -0
  338. data/generated/google/apis/manufacturers_v1/classes.rb +258 -0
  339. data/generated/google/apis/manufacturers_v1/representations.rb +103 -0
  340. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  341. data/generated/google/apis/mirror_v1.rb +37 -0
  342. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  343. data/generated/google/apis/mirror_v1/representations.rb +390 -0
  344. data/generated/google/apis/mirror_v1/service.rb +977 -0
  345. data/generated/google/apis/monitoring_v3.rb +45 -0
  346. data/generated/google/apis/monitoring_v3/classes.rb +1335 -0
  347. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  348. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  349. data/generated/google/apis/mybusiness_v3.rb +32 -0
  350. data/generated/google/apis/mybusiness_v3/classes.rb +1864 -0
  351. data/generated/google/apis/mybusiness_v3/representations.rb +741 -0
  352. data/generated/google/apis/mybusiness_v3/service.rb +960 -0
  353. data/generated/google/apis/oauth2_v2.rb +43 -0
  354. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  355. data/generated/google/apis/oauth2_v2/representations.rb +102 -0
  356. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  357. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  358. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  359. data/generated/google/apis/pagespeedonline_v2/representations.rb +272 -0
  360. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  361. data/generated/google/apis/partners_v2.rb +32 -0
  362. data/generated/google/apis/partners_v2/classes.rb +942 -0
  363. data/generated/google/apis/partners_v2/representations.rb +454 -0
  364. data/generated/google/apis/partners_v2/service.rb +400 -0
  365. data/generated/google/apis/people_v1.rb +59 -0
  366. data/generated/google/apis/people_v1/classes.rb +1521 -0
  367. data/generated/google/apis/people_v1/representations.rb +663 -0
  368. data/generated/google/apis/people_v1/service.rb +189 -0
  369. data/generated/google/apis/plus_domains_v1.rb +61 -0
  370. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  371. data/generated/google/apis/plus_domains_v1/representations.rb +1111 -0
  372. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  373. data/generated/google/apis/plus_v1.rb +43 -0
  374. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  375. data/generated/google/apis/plus_v1/representations.rb +907 -0
  376. data/generated/google/apis/plus_v1/service.rb +470 -0
  377. data/generated/google/apis/prediction_v1_6.rb +47 -0
  378. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  379. data/generated/google/apis/prediction_v1_6/representations.rb +369 -0
  380. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  381. data/generated/google/apis/proximitybeacon_v1beta1.rb +34 -0
  382. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +786 -0
  383. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +347 -0
  384. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +806 -0
  385. data/generated/google/apis/pubsub_v1.rb +37 -0
  386. data/generated/google/apis/pubsub_v1/classes.rb +676 -0
  387. data/generated/google/apis/pubsub_v1/representations.rb +323 -0
  388. data/generated/google/apis/pubsub_v1/service.rb +900 -0
  389. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  390. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  391. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  392. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  393. data/generated/google/apis/qpx_express_v1.rb +31 -0
  394. data/generated/google/apis/qpx_express_v1/classes.rb +1274 -0
  395. data/generated/google/apis/qpx_express_v1/representations.rb +473 -0
  396. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  397. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  398. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  399. data/generated/google/apis/replicapool_v1beta2/representations.rb +264 -0
  400. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  401. data/generated/google/apis/replicapoolupdater_v1beta1.rb +45 -0
  402. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  403. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +294 -0
  404. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +509 -0
  405. data/generated/google/apis/reseller_v1.rb +37 -0
  406. data/generated/google/apis/reseller_v1/classes.rb +540 -0
  407. data/generated/google/apis/reseller_v1/representations.rb +225 -0
  408. data/generated/google/apis/reseller_v1/service.rb +623 -0
  409. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  410. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  411. data/generated/google/apis/resourceviews_v1beta2/representations.rb +301 -0
  412. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  413. data/generated/google/apis/script_v1.rb +64 -0
  414. data/generated/google/apis/script_v1/classes.rb +265 -0
  415. data/generated/google/apis/script_v1/representations.rb +119 -0
  416. data/generated/google/apis/script_v1/service.rb +98 -0
  417. data/generated/google/apis/sheets_v4.rb +43 -0
  418. data/generated/google/apis/sheets_v4/classes.rb +6368 -0
  419. data/generated/google/apis/sheets_v4/representations.rb +2289 -0
  420. data/generated/google/apis/sheets_v4/service.rb +569 -0
  421. data/generated/google/apis/site_verification_v1.rb +37 -0
  422. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  423. data/generated/google/apis/site_verification_v1/representations.rb +113 -0
  424. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  425. data/generated/google/apis/slides_v1.rb +49 -0
  426. data/generated/google/apis/slides_v1/classes.rb +4044 -0
  427. data/generated/google/apis/slides_v1/representations.rb +1765 -0
  428. data/generated/google/apis/slides_v1/service.rb +202 -0
  429. data/generated/google/apis/speech_v1beta1.rb +34 -0
  430. data/generated/google/apis/speech_v1beta1/classes.rb +513 -0
  431. data/generated/google/apis/speech_v1beta1/representations.rb +218 -0
  432. data/generated/google/apis/speech_v1beta1/service.rb +273 -0
  433. data/generated/google/apis/sqladmin_v1beta4.rb +38 -0
  434. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2142 -0
  435. data/generated/google/apis/sqladmin_v1beta4/representations.rb +893 -0
  436. data/generated/google/apis/sqladmin_v1beta4/service.rb +1709 -0
  437. data/generated/google/apis/storage_v1.rb +46 -0
  438. data/generated/google/apis/storage_v1/classes.rb +1255 -0
  439. data/generated/google/apis/storage_v1/representations.rb +502 -0
  440. data/generated/google/apis/storage_v1/service.rb +1906 -0
  441. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  442. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  443. data/generated/google/apis/storagetransfer_v1/representations.rb +418 -0
  444. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  445. data/generated/google/apis/tagmanager_v1.rb +52 -0
  446. data/generated/google/apis/tagmanager_v1/classes.rb +1494 -0
  447. data/generated/google/apis/tagmanager_v1/representations.rb +611 -0
  448. data/generated/google/apis/tagmanager_v1/service.rb +2119 -0
  449. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  450. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  451. data/generated/google/apis/taskqueue_v1beta2/representations.rb +126 -0
  452. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  453. data/generated/google/apis/tasks_v1.rb +37 -0
  454. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  455. data/generated/google/apis/tasks_v1/representations.rb +125 -0
  456. data/generated/google/apis/tasks_v1/service.rb +643 -0
  457. data/generated/google/apis/translate_v2.rb +31 -0
  458. data/generated/google/apis/translate_v2/classes.rb +168 -0
  459. data/generated/google/apis/translate_v2/representations.rb +121 -0
  460. data/generated/google/apis/translate_v2/service.rb +182 -0
  461. data/generated/google/apis/urlshortener_v1.rb +34 -0
  462. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  463. data/generated/google/apis/urlshortener_v1/representations.rb +121 -0
  464. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  465. data/generated/google/apis/vision_v1.rb +36 -0
  466. data/generated/google/apis/vision_v1/classes.rb +1267 -0
  467. data/generated/google/apis/vision_v1/representations.rb +418 -0
  468. data/generated/google/apis/vision_v1/service.rb +90 -0
  469. data/generated/google/apis/webmasters_v3.rb +37 -0
  470. data/generated/google/apis/webmasters_v3/classes.rb +570 -0
  471. data/generated/google/apis/webmasters_v3/representations.rb +283 -0
  472. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  473. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  474. data/generated/google/apis/youtube_analytics_v1/classes.rb +337 -0
  475. data/generated/google/apis/youtube_analytics_v1/representations.rb +174 -0
  476. data/generated/google/apis/youtube_analytics_v1/service.rb +486 -0
  477. data/generated/google/apis/youtube_partner_v1.rb +37 -0
  478. data/generated/google/apis/youtube_partner_v1/classes.rb +3854 -0
  479. data/generated/google/apis/youtube_partner_v1/representations.rb +1537 -0
  480. data/generated/google/apis/youtube_partner_v1/service.rb +3269 -0
  481. data/generated/google/apis/youtube_v3.rb +50 -0
  482. data/generated/google/apis/youtube_v3/classes.rb +8375 -0
  483. data/generated/google/apis/youtube_v3/representations.rb +3273 -0
  484. data/generated/google/apis/youtube_v3/service.rb +4440 -0
  485. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  486. data/generated/google/apis/youtubereporting_v1/classes.rb +302 -0
  487. data/generated/google/apis/youtubereporting_v1/representations.rb +149 -0
  488. data/generated/google/apis/youtubereporting_v1/service.rb +385 -0
  489. data/google-api-client.gemspec +33 -0
  490. data/lib/cacerts.pem +2183 -0
  491. data/lib/google/api_client/auth/installed_app.rb +128 -0
  492. data/lib/google/api_client/auth/key_utils.rb +94 -0
  493. data/lib/google/api_client/auth/storage.rb +104 -0
  494. data/lib/google/api_client/auth/storages/file_store.rb +57 -0
  495. data/lib/google/api_client/auth/storages/redis_store.rb +59 -0
  496. data/lib/google/api_client/client_secrets.rb +177 -0
  497. data/lib/google/apis.rb +58 -0
  498. data/lib/google/apis/core/api_command.rb +146 -0
  499. data/lib/google/apis/core/base_service.rb +401 -0
  500. data/lib/google/apis/core/batch.rb +239 -0
  501. data/lib/google/apis/core/download.rb +108 -0
  502. data/lib/google/apis/core/hashable.rb +44 -0
  503. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  504. data/lib/google/apis/core/http_command.rb +332 -0
  505. data/lib/google/apis/core/json_representation.rb +145 -0
  506. data/lib/google/apis/core/logging.rb +30 -0
  507. data/lib/google/apis/core/multipart.rb +187 -0
  508. data/lib/google/apis/core/upload.rb +295 -0
  509. data/lib/google/apis/errors.rb +80 -0
  510. data/lib/google/apis/generator.rb +70 -0
  511. data/lib/google/apis/generator/annotator.rb +301 -0
  512. data/lib/google/apis/generator/helpers.rb +74 -0
  513. data/lib/google/apis/generator/model.rb +143 -0
  514. data/lib/google/apis/generator/template.rb +124 -0
  515. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  516. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  517. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  518. data/lib/google/apis/generator/templates/_representation_stub.tmpl +17 -0
  519. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  520. data/lib/google/apis/generator/templates/classes.rb.tmpl +29 -0
  521. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  522. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  523. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  524. data/lib/google/apis/options.rb +85 -0
  525. data/lib/google/apis/version.rb +39 -0
  526. data/rakelib/metrics.rake +22 -0
  527. data/rakelib/rubocop.rake +10 -0
  528. data/rakelib/spec.rake +11 -0
  529. data/rakelib/yard.rake +11 -0
  530. data/samples/cli/.env +4 -0
  531. data/samples/cli/Gemfile +7 -0
  532. data/samples/cli/README.md +51 -0
  533. data/samples/cli/google-api-samples +32 -0
  534. data/samples/cli/lib/base_cli.rb +95 -0
  535. data/samples/cli/lib/samples/analytics.rb +62 -0
  536. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  537. data/samples/cli/lib/samples/bigquery.rb +101 -0
  538. data/samples/cli/lib/samples/calendar.rb +83 -0
  539. data/samples/cli/lib/samples/drive.rb +82 -0
  540. data/samples/cli/lib/samples/gmail.rb +124 -0
  541. data/samples/cli/lib/samples/pubsub.rb +114 -0
  542. data/samples/cli/lib/samples/sheets.rb +61 -0
  543. data/samples/cli/lib/samples/translate.rb +44 -0
  544. data/samples/cli/lib/samples/you_tube.rb +44 -0
  545. data/samples/web/.env +2 -0
  546. data/samples/web/Gemfile +7 -0
  547. data/samples/web/README.md +44 -0
  548. data/samples/web/app.rb +120 -0
  549. data/samples/web/views/calendar.erb +34 -0
  550. data/samples/web/views/drive.erb +33 -0
  551. data/samples/web/views/home.erb +34 -0
  552. data/samples/web/views/layout.erb +40 -0
  553. data/sync.rb +71 -0
  554. data/third_party/hurley_patches.rb +103 -0
  555. metadata +735 -0
@@ -0,0 +1,35 @@
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 'google/apis/adexchangebuyer_v1_4/service.rb'
16
+ require 'google/apis/adexchangebuyer_v1_4/classes.rb'
17
+ require 'google/apis/adexchangebuyer_v1_4/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Ad Exchange Buyer API
22
+ #
23
+ # Accesses your bidding-account information, submits creatives for validation,
24
+ # finds available direct deals, and retrieves performance reports.
25
+ #
26
+ # @see https://developers.google.com/ad-exchange/buyer-rest
27
+ module AdexchangebuyerV1_4
28
+ VERSION = 'V1_4'
29
+ REVISION = '20170118'
30
+
31
+ # Manage your Ad Exchange buyer account configuration
32
+ AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,3550 @@
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. OpenRTB protocols with prefix
95
+ # PROTOCOL_OPENRTB_PROTOBUF use proto buffer, otherwise use JSON. Allowed
96
+ # values:
97
+ # - PROTOCOL_ADX
98
+ # - PROTOCOL_OPENRTB_2_2
99
+ # - PROTOCOL_OPENRTB_2_3
100
+ # - PROTOCOL_OPENRTB_2_4
101
+ # - PROTOCOL_OPENRTB_PROTOBUF_2_3
102
+ # - PROTOCOL_OPENRTB_PROTOBUF_2_4
103
+ # Corresponds to the JSON property `bidProtocol`
104
+ # @return [String]
105
+ attr_accessor :bid_protocol
106
+
107
+ # The maximum queries per second the Ad Exchange will send.
108
+ # Corresponds to the JSON property `maximumQps`
109
+ # @return [Fixnum]
110
+ attr_accessor :maximum_qps
111
+
112
+ # The geographical region the Ad Exchange should send requests from. Only used
113
+ # by some quota systems, but always setting the value is recommended. Allowed
114
+ # values:
115
+ # - ASIA
116
+ # - EUROPE
117
+ # - US_EAST
118
+ # - US_WEST
119
+ # Corresponds to the JSON property `region`
120
+ # @return [String]
121
+ attr_accessor :region
122
+
123
+ # The URL to which the Ad Exchange will send bid requests.
124
+ # Corresponds to the JSON property `url`
125
+ # @return [String]
126
+ attr_accessor :url
127
+
128
+ def initialize(**args)
129
+ update!(**args)
130
+ end
131
+
132
+ # Update properties of this object
133
+ def update!(**args)
134
+ @bid_protocol = args[:bid_protocol] if args.key?(:bid_protocol)
135
+ @maximum_qps = args[:maximum_qps] if args.key?(:maximum_qps)
136
+ @region = args[:region] if args.key?(:region)
137
+ @url = args[:url] if args.key?(:url)
138
+ end
139
+ end
140
+ end
141
+
142
+ # An account feed lists Ad Exchange buyer accounts that the user has access to.
143
+ # Each entry in the feed corresponds to a single buyer account.
144
+ class AccountsList
145
+ include Google::Apis::Core::Hashable
146
+
147
+ # A list of accounts.
148
+ # Corresponds to the JSON property `items`
149
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Account>]
150
+ attr_accessor :items
151
+
152
+ # Resource type.
153
+ # Corresponds to the JSON property `kind`
154
+ # @return [String]
155
+ attr_accessor :kind
156
+
157
+ def initialize(**args)
158
+ update!(**args)
159
+ end
160
+
161
+ # Update properties of this object
162
+ def update!(**args)
163
+ @items = args[:items] if args.key?(:items)
164
+ @kind = args[:kind] if args.key?(:kind)
165
+ end
166
+ end
167
+
168
+ #
169
+ class AddOrderDealsRequest
170
+ include Google::Apis::Core::Hashable
171
+
172
+ # The list of deals to add
173
+ # Corresponds to the JSON property `deals`
174
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
175
+ attr_accessor :deals
176
+
177
+ # The last known proposal revision number.
178
+ # Corresponds to the JSON property `proposalRevisionNumber`
179
+ # @return [String]
180
+ attr_accessor :proposal_revision_number
181
+
182
+ # Indicates an optional action to take on the proposal
183
+ # Corresponds to the JSON property `updateAction`
184
+ # @return [String]
185
+ attr_accessor :update_action
186
+
187
+ def initialize(**args)
188
+ update!(**args)
189
+ end
190
+
191
+ # Update properties of this object
192
+ def update!(**args)
193
+ @deals = args[:deals] if args.key?(:deals)
194
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
195
+ @update_action = args[:update_action] if args.key?(:update_action)
196
+ end
197
+ end
198
+
199
+ #
200
+ class AddOrderDealsResponse
201
+ include Google::Apis::Core::Hashable
202
+
203
+ # List of deals added (in the same proposal as passed in the request)
204
+ # Corresponds to the JSON property `deals`
205
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
206
+ attr_accessor :deals
207
+
208
+ # The updated revision number for the proposal.
209
+ # Corresponds to the JSON property `proposalRevisionNumber`
210
+ # @return [String]
211
+ attr_accessor :proposal_revision_number
212
+
213
+ def initialize(**args)
214
+ update!(**args)
215
+ end
216
+
217
+ # Update properties of this object
218
+ def update!(**args)
219
+ @deals = args[:deals] if args.key?(:deals)
220
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
221
+ end
222
+ end
223
+
224
+ #
225
+ class AddOrderNotesRequest
226
+ include Google::Apis::Core::Hashable
227
+
228
+ # The list of notes to add.
229
+ # Corresponds to the JSON property `notes`
230
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
231
+ attr_accessor :notes
232
+
233
+ def initialize(**args)
234
+ update!(**args)
235
+ end
236
+
237
+ # Update properties of this object
238
+ def update!(**args)
239
+ @notes = args[:notes] if args.key?(:notes)
240
+ end
241
+ end
242
+
243
+ #
244
+ class AddOrderNotesResponse
245
+ include Google::Apis::Core::Hashable
246
+
247
+ #
248
+ # Corresponds to the JSON property `notes`
249
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
250
+ attr_accessor :notes
251
+
252
+ def initialize(**args)
253
+ update!(**args)
254
+ end
255
+
256
+ # Update properties of this object
257
+ def update!(**args)
258
+ @notes = args[:notes] if args.key?(:notes)
259
+ end
260
+ end
261
+
262
+ # The configuration data for an Ad Exchange billing info.
263
+ class BillingInfo
264
+ include Google::Apis::Core::Hashable
265
+
266
+ # Account id.
267
+ # Corresponds to the JSON property `accountId`
268
+ # @return [Fixnum]
269
+ attr_accessor :account_id
270
+
271
+ # Account name.
272
+ # Corresponds to the JSON property `accountName`
273
+ # @return [String]
274
+ attr_accessor :account_name
275
+
276
+ # A list of adgroup IDs associated with this particular account. These IDs may
277
+ # show up as part of a realtime bidding BidRequest, which indicates a bid
278
+ # request for this account.
279
+ # Corresponds to the JSON property `billingId`
280
+ # @return [Array<String>]
281
+ attr_accessor :billing_id
282
+
283
+ # Resource type.
284
+ # Corresponds to the JSON property `kind`
285
+ # @return [String]
286
+ attr_accessor :kind
287
+
288
+ def initialize(**args)
289
+ update!(**args)
290
+ end
291
+
292
+ # Update properties of this object
293
+ def update!(**args)
294
+ @account_id = args[:account_id] if args.key?(:account_id)
295
+ @account_name = args[:account_name] if args.key?(:account_name)
296
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
297
+ @kind = args[:kind] if args.key?(:kind)
298
+ end
299
+ end
300
+
301
+ # A billing info feed lists Billing Info the Ad Exchange buyer account has
302
+ # access to. Each entry in the feed corresponds to a single billing info.
303
+ class BillingInfoList
304
+ include Google::Apis::Core::Hashable
305
+
306
+ # A list of billing info relevant for your account.
307
+ # Corresponds to the JSON property `items`
308
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::BillingInfo>]
309
+ attr_accessor :items
310
+
311
+ # Resource type.
312
+ # Corresponds to the JSON property `kind`
313
+ # @return [String]
314
+ attr_accessor :kind
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ @items = args[:items] if args.key?(:items)
323
+ @kind = args[:kind] if args.key?(:kind)
324
+ end
325
+ end
326
+
327
+ # The configuration data for Ad Exchange RTB - Budget API.
328
+ class Budget
329
+ include Google::Apis::Core::Hashable
330
+
331
+ # The id of the account. This is required for get and update requests.
332
+ # Corresponds to the JSON property `accountId`
333
+ # @return [String]
334
+ attr_accessor :account_id
335
+
336
+ # The billing id to determine which adgroup to provide budget information for.
337
+ # This is required for get and update requests.
338
+ # Corresponds to the JSON property `billingId`
339
+ # @return [String]
340
+ attr_accessor :billing_id
341
+
342
+ # The daily budget amount in unit amount of the account currency to apply for
343
+ # the billingId provided. This is required for update requests.
344
+ # Corresponds to the JSON property `budgetAmount`
345
+ # @return [String]
346
+ attr_accessor :budget_amount
347
+
348
+ # The currency code for the buyer. This cannot be altered here.
349
+ # Corresponds to the JSON property `currencyCode`
350
+ # @return [String]
351
+ attr_accessor :currency_code
352
+
353
+ # The unique id that describes this item.
354
+ # Corresponds to the JSON property `id`
355
+ # @return [String]
356
+ attr_accessor :id
357
+
358
+ # The kind of the resource, i.e. "adexchangebuyer#budget".
359
+ # Corresponds to the JSON property `kind`
360
+ # @return [String]
361
+ attr_accessor :kind
362
+
363
+ def initialize(**args)
364
+ update!(**args)
365
+ end
366
+
367
+ # Update properties of this object
368
+ def update!(**args)
369
+ @account_id = args[:account_id] if args.key?(:account_id)
370
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
371
+ @budget_amount = args[:budget_amount] if args.key?(:budget_amount)
372
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
373
+ @id = args[:id] if args.key?(:id)
374
+ @kind = args[:kind] if args.key?(:kind)
375
+ end
376
+ end
377
+
378
+ #
379
+ class Buyer
380
+ include Google::Apis::Core::Hashable
381
+
382
+ # Adx account id of the buyer.
383
+ # Corresponds to the JSON property `accountId`
384
+ # @return [String]
385
+ attr_accessor :account_id
386
+
387
+ def initialize(**args)
388
+ update!(**args)
389
+ end
390
+
391
+ # Update properties of this object
392
+ def update!(**args)
393
+ @account_id = args[:account_id] if args.key?(:account_id)
394
+ end
395
+ end
396
+
397
+ #
398
+ class ContactInformation
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # Email address of the contact.
402
+ # Corresponds to the JSON property `email`
403
+ # @return [String]
404
+ attr_accessor :email
405
+
406
+ # The name of the contact.
407
+ # Corresponds to the JSON property `name`
408
+ # @return [String]
409
+ attr_accessor :name
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @email = args[:email] if args.key?(:email)
418
+ @name = args[:name] if args.key?(:name)
419
+ end
420
+ end
421
+
422
+ #
423
+ class CreateOrdersRequest
424
+ include Google::Apis::Core::Hashable
425
+
426
+ # The list of proposals to create.
427
+ # Corresponds to the JSON property `proposals`
428
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
429
+ attr_accessor :proposals
430
+
431
+ # Web property id of the seller creating these orders
432
+ # Corresponds to the JSON property `webPropertyCode`
433
+ # @return [String]
434
+ attr_accessor :web_property_code
435
+
436
+ def initialize(**args)
437
+ update!(**args)
438
+ end
439
+
440
+ # Update properties of this object
441
+ def update!(**args)
442
+ @proposals = args[:proposals] if args.key?(:proposals)
443
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
444
+ end
445
+ end
446
+
447
+ #
448
+ class CreateOrdersResponse
449
+ include Google::Apis::Core::Hashable
450
+
451
+ # The list of proposals successfully created.
452
+ # Corresponds to the JSON property `proposals`
453
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
454
+ attr_accessor :proposals
455
+
456
+ def initialize(**args)
457
+ update!(**args)
458
+ end
459
+
460
+ # Update properties of this object
461
+ def update!(**args)
462
+ @proposals = args[:proposals] if args.key?(:proposals)
463
+ end
464
+ end
465
+
466
+ # A creative and its classification data.
467
+ class Creative
468
+ include Google::Apis::Core::Hashable
469
+
470
+ # The HTML snippet that displays the ad when inserted in the web page. If set,
471
+ # videoURL should not be set.
472
+ # Corresponds to the JSON property `HTMLSnippet`
473
+ # @return [String]
474
+ attr_accessor :html_snippet
475
+
476
+ # Account id.
477
+ # Corresponds to the JSON property `accountId`
478
+ # @return [Fixnum]
479
+ attr_accessor :account_id
480
+
481
+ # The link to the Ad Preferences page. This is only supported for native ads.
482
+ # Corresponds to the JSON property `adChoicesDestinationUrl`
483
+ # @return [String]
484
+ attr_accessor :ad_choices_destination_url
485
+
486
+ # Detected advertiser id, if any. Read-only. This field should not be set in
487
+ # requests.
488
+ # Corresponds to the JSON property `advertiserId`
489
+ # @return [Array<String>]
490
+ attr_accessor :advertiser_id
491
+
492
+ # The name of the company being advertised in the creative.
493
+ # Corresponds to the JSON property `advertiserName`
494
+ # @return [String]
495
+ attr_accessor :advertiser_name
496
+
497
+ # The agency id for this creative.
498
+ # Corresponds to the JSON property `agencyId`
499
+ # @return [String]
500
+ attr_accessor :agency_id
501
+
502
+ # The last upload timestamp of this creative if it was uploaded via API. Read-
503
+ # only. The value of this field is generated, and will be ignored for uploads. (
504
+ # formatted RFC 3339 timestamp).
505
+ # Corresponds to the JSON property `apiUploadTimestamp`
506
+ # @return [DateTime]
507
+ attr_accessor :api_upload_timestamp
508
+
509
+ # All attributes for the ads that may be shown from this snippet.
510
+ # Corresponds to the JSON property `attribute`
511
+ # @return [Array<Fixnum>]
512
+ attr_accessor :attribute
513
+
514
+ # A buyer-specific id identifying the creative in this ad.
515
+ # Corresponds to the JSON property `buyerCreativeId`
516
+ # @return [String]
517
+ attr_accessor :buyer_creative_id
518
+
519
+ # The set of destination urls for the snippet.
520
+ # Corresponds to the JSON property `clickThroughUrl`
521
+ # @return [Array<String>]
522
+ attr_accessor :click_through_url
523
+
524
+ # Shows any corrections that were applied to this creative. Read-only. This
525
+ # field should not be set in requests.
526
+ # Corresponds to the JSON property `corrections`
527
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::Correction>]
528
+ attr_accessor :corrections
529
+
530
+ # Top-level deals status. Read-only. This field should not be set in requests.
531
+ # If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in
532
+ # servingRestrictions will also exist. Note that this may be nuanced with other
533
+ # contextual restrictions, in which case it may be preferable to read from
534
+ # servingRestrictions directly.
535
+ # Corresponds to the JSON property `dealsStatus`
536
+ # @return [String]
537
+ attr_accessor :deals_status
538
+
539
+ # Detected domains for this creative. Read-only. This field should not be set in
540
+ # requests.
541
+ # Corresponds to the JSON property `detectedDomains`
542
+ # @return [Array<String>]
543
+ attr_accessor :detected_domains
544
+
545
+ # The filtering reasons for the creative. Read-only. This field should not be
546
+ # set in requests.
547
+ # Corresponds to the JSON property `filteringReasons`
548
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons]
549
+ attr_accessor :filtering_reasons
550
+
551
+ # Ad height.
552
+ # Corresponds to the JSON property `height`
553
+ # @return [Fixnum]
554
+ attr_accessor :height
555
+
556
+ # The set of urls to be called to record an impression.
557
+ # Corresponds to the JSON property `impressionTrackingUrl`
558
+ # @return [Array<String>]
559
+ attr_accessor :impression_tracking_url
560
+
561
+ # Resource type.
562
+ # Corresponds to the JSON property `kind`
563
+ # @return [String]
564
+ attr_accessor :kind
565
+
566
+ # Detected languages for this creative. Read-only. This field should not be set
567
+ # in requests.
568
+ # Corresponds to the JSON property `languages`
569
+ # @return [Array<String>]
570
+ attr_accessor :languages
571
+
572
+ # If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd should
573
+ # not be set. (The videoURL inside nativeAd can be set.)
574
+ # Corresponds to the JSON property `nativeAd`
575
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd]
576
+ attr_accessor :native_ad
577
+
578
+ # Top-level open auction status. Read-only. This field should not be set in
579
+ # requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in
580
+ # servingRestrictions will also exist. Note that this may be nuanced with other
581
+ # contextual restrictions, in which case it may be preferable to read from
582
+ # ServingRestrictions directly.
583
+ # Corresponds to the JSON property `openAuctionStatus`
584
+ # @return [String]
585
+ attr_accessor :open_auction_status
586
+
587
+ # Detected product categories, if any. Read-only. This field should not be set
588
+ # in requests.
589
+ # Corresponds to the JSON property `productCategories`
590
+ # @return [Array<Fixnum>]
591
+ attr_accessor :product_categories
592
+
593
+ # All restricted categories for the ads that may be shown from this snippet.
594
+ # Corresponds to the JSON property `restrictedCategories`
595
+ # @return [Array<Fixnum>]
596
+ attr_accessor :restricted_categories
597
+
598
+ # Detected sensitive categories, if any. Read-only. This field should not be set
599
+ # in requests.
600
+ # Corresponds to the JSON property `sensitiveCategories`
601
+ # @return [Array<Fixnum>]
602
+ attr_accessor :sensitive_categories
603
+
604
+ # The granular status of this ad in specific contexts. A context here relates to
605
+ # where something ultimately serves (for example, a physical location, a
606
+ # platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This
607
+ # field should not be set in requests.
608
+ # Corresponds to the JSON property `servingRestrictions`
609
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction>]
610
+ attr_accessor :serving_restrictions
611
+
612
+ # All vendor types for the ads that may be shown from this snippet.
613
+ # Corresponds to the JSON property `vendorType`
614
+ # @return [Array<Fixnum>]
615
+ attr_accessor :vendor_type
616
+
617
+ # The version for this creative. Read-only. This field should not be set in
618
+ # requests.
619
+ # Corresponds to the JSON property `version`
620
+ # @return [Fixnum]
621
+ attr_accessor :version
622
+
623
+ # The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not
624
+ # be set. Note, this is different from resource.native_ad.video_url above.
625
+ # Corresponds to the JSON property `videoURL`
626
+ # @return [String]
627
+ attr_accessor :video_url
628
+
629
+ # Ad width.
630
+ # Corresponds to the JSON property `width`
631
+ # @return [Fixnum]
632
+ attr_accessor :width
633
+
634
+ def initialize(**args)
635
+ update!(**args)
636
+ end
637
+
638
+ # Update properties of this object
639
+ def update!(**args)
640
+ @html_snippet = args[:html_snippet] if args.key?(:html_snippet)
641
+ @account_id = args[:account_id] if args.key?(:account_id)
642
+ @ad_choices_destination_url = args[:ad_choices_destination_url] if args.key?(:ad_choices_destination_url)
643
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
644
+ @advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
645
+ @agency_id = args[:agency_id] if args.key?(:agency_id)
646
+ @api_upload_timestamp = args[:api_upload_timestamp] if args.key?(:api_upload_timestamp)
647
+ @attribute = args[:attribute] if args.key?(:attribute)
648
+ @buyer_creative_id = args[:buyer_creative_id] if args.key?(:buyer_creative_id)
649
+ @click_through_url = args[:click_through_url] if args.key?(:click_through_url)
650
+ @corrections = args[:corrections] if args.key?(:corrections)
651
+ @deals_status = args[:deals_status] if args.key?(:deals_status)
652
+ @detected_domains = args[:detected_domains] if args.key?(:detected_domains)
653
+ @filtering_reasons = args[:filtering_reasons] if args.key?(:filtering_reasons)
654
+ @height = args[:height] if args.key?(:height)
655
+ @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
656
+ @kind = args[:kind] if args.key?(:kind)
657
+ @languages = args[:languages] if args.key?(:languages)
658
+ @native_ad = args[:native_ad] if args.key?(:native_ad)
659
+ @open_auction_status = args[:open_auction_status] if args.key?(:open_auction_status)
660
+ @product_categories = args[:product_categories] if args.key?(:product_categories)
661
+ @restricted_categories = args[:restricted_categories] if args.key?(:restricted_categories)
662
+ @sensitive_categories = args[:sensitive_categories] if args.key?(:sensitive_categories)
663
+ @serving_restrictions = args[:serving_restrictions] if args.key?(:serving_restrictions)
664
+ @vendor_type = args[:vendor_type] if args.key?(:vendor_type)
665
+ @version = args[:version] if args.key?(:version)
666
+ @video_url = args[:video_url] if args.key?(:video_url)
667
+ @width = args[:width] if args.key?(:width)
668
+ end
669
+
670
+ #
671
+ class Correction
672
+ include Google::Apis::Core::Hashable
673
+
674
+ # All known serving contexts containing serving status information.
675
+ # Corresponds to the JSON property `contexts`
676
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::Correction::Context>]
677
+ attr_accessor :contexts
678
+
679
+ # Additional details about the correction.
680
+ # Corresponds to the JSON property `details`
681
+ # @return [Array<String>]
682
+ attr_accessor :details
683
+
684
+ # The type of correction that was applied to the creative.
685
+ # Corresponds to the JSON property `reason`
686
+ # @return [String]
687
+ attr_accessor :reason
688
+
689
+ def initialize(**args)
690
+ update!(**args)
691
+ end
692
+
693
+ # Update properties of this object
694
+ def update!(**args)
695
+ @contexts = args[:contexts] if args.key?(:contexts)
696
+ @details = args[:details] if args.key?(:details)
697
+ @reason = args[:reason] if args.key?(:reason)
698
+ end
699
+
700
+ #
701
+ class Context
702
+ include Google::Apis::Core::Hashable
703
+
704
+ # Only set when contextType=AUCTION_TYPE. Represents the auction types this
705
+ # correction applies to.
706
+ # Corresponds to the JSON property `auctionType`
707
+ # @return [Array<String>]
708
+ attr_accessor :auction_type
709
+
710
+ # The type of context (e.g., location, platform, auction type, SSL-ness).
711
+ # Corresponds to the JSON property `contextType`
712
+ # @return [String]
713
+ attr_accessor :context_type
714
+
715
+ # Only set when contextType=LOCATION. Represents the geo criterias this
716
+ # correction applies to.
717
+ # Corresponds to the JSON property `geoCriteriaId`
718
+ # @return [Array<Fixnum>]
719
+ attr_accessor :geo_criteria_id
720
+
721
+ # Only set when contextType=PLATFORM. Represents the platforms this correction
722
+ # applies to.
723
+ # Corresponds to the JSON property `platform`
724
+ # @return [Array<String>]
725
+ attr_accessor :platform
726
+
727
+ def initialize(**args)
728
+ update!(**args)
729
+ end
730
+
731
+ # Update properties of this object
732
+ def update!(**args)
733
+ @auction_type = args[:auction_type] if args.key?(:auction_type)
734
+ @context_type = args[:context_type] if args.key?(:context_type)
735
+ @geo_criteria_id = args[:geo_criteria_id] if args.key?(:geo_criteria_id)
736
+ @platform = args[:platform] if args.key?(:platform)
737
+ end
738
+ end
739
+ end
740
+
741
+ # The filtering reasons for the creative. Read-only. This field should not be
742
+ # set in requests.
743
+ class FilteringReasons
744
+ include Google::Apis::Core::Hashable
745
+
746
+ # The date in ISO 8601 format for the data. The data is collected from 00:00:00
747
+ # to 23:59:59 in PST.
748
+ # Corresponds to the JSON property `date`
749
+ # @return [String]
750
+ attr_accessor :date
751
+
752
+ # The filtering reasons.
753
+ # Corresponds to the JSON property `reasons`
754
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::FilteringReasons::Reason>]
755
+ attr_accessor :reasons
756
+
757
+ def initialize(**args)
758
+ update!(**args)
759
+ end
760
+
761
+ # Update properties of this object
762
+ def update!(**args)
763
+ @date = args[:date] if args.key?(:date)
764
+ @reasons = args[:reasons] if args.key?(:reasons)
765
+ end
766
+
767
+ #
768
+ class Reason
769
+ include Google::Apis::Core::Hashable
770
+
771
+ # The number of times the creative was filtered for the status. The count is
772
+ # aggregated across all publishers on the exchange.
773
+ # Corresponds to the JSON property `filteringCount`
774
+ # @return [String]
775
+ attr_accessor :filtering_count
776
+
777
+ # The filtering status code. Please refer to the creative-status-codes.txt file
778
+ # for different statuses.
779
+ # Corresponds to the JSON property `filteringStatus`
780
+ # @return [Fixnum]
781
+ attr_accessor :filtering_status
782
+
783
+ def initialize(**args)
784
+ update!(**args)
785
+ end
786
+
787
+ # Update properties of this object
788
+ def update!(**args)
789
+ @filtering_count = args[:filtering_count] if args.key?(:filtering_count)
790
+ @filtering_status = args[:filtering_status] if args.key?(:filtering_status)
791
+ end
792
+ end
793
+ end
794
+
795
+ # If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd should
796
+ # not be set. (The videoURL inside nativeAd can be set.)
797
+ class NativeAd
798
+ include Google::Apis::Core::Hashable
799
+
800
+ #
801
+ # Corresponds to the JSON property `advertiser`
802
+ # @return [String]
803
+ attr_accessor :advertiser
804
+
805
+ # The app icon, for app download ads.
806
+ # Corresponds to the JSON property `appIcon`
807
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::AppIcon]
808
+ attr_accessor :app_icon
809
+
810
+ # A long description of the ad.
811
+ # Corresponds to the JSON property `body`
812
+ # @return [String]
813
+ attr_accessor :body
814
+
815
+ # A label for the button that the user is supposed to click.
816
+ # Corresponds to the JSON property `callToAction`
817
+ # @return [String]
818
+ attr_accessor :call_to_action
819
+
820
+ # The URL that the browser/SDK will load when the user clicks the ad.
821
+ # Corresponds to the JSON property `clickLinkUrl`
822
+ # @return [String]
823
+ attr_accessor :click_link_url
824
+
825
+ # The URL to use for click tracking.
826
+ # Corresponds to the JSON property `clickTrackingUrl`
827
+ # @return [String]
828
+ attr_accessor :click_tracking_url
829
+
830
+ # A short title for the ad.
831
+ # Corresponds to the JSON property `headline`
832
+ # @return [String]
833
+ attr_accessor :headline
834
+
835
+ # A large image.
836
+ # Corresponds to the JSON property `image`
837
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Image]
838
+ attr_accessor :image
839
+
840
+ # The URLs are called when the impression is rendered.
841
+ # Corresponds to the JSON property `impressionTrackingUrl`
842
+ # @return [Array<String>]
843
+ attr_accessor :impression_tracking_url
844
+
845
+ # A smaller image, for the advertiser logo.
846
+ # Corresponds to the JSON property `logo`
847
+ # @return [Google::Apis::AdexchangebuyerV1_4::Creative::NativeAd::Logo]
848
+ attr_accessor :logo
849
+
850
+ # The price of the promoted app including the currency info.
851
+ # Corresponds to the JSON property `price`
852
+ # @return [String]
853
+ attr_accessor :price
854
+
855
+ # The app rating in the app store. Must be in the range [0-5].
856
+ # Corresponds to the JSON property `starRating`
857
+ # @return [Float]
858
+ attr_accessor :star_rating
859
+
860
+ # The URL to the app store to purchase/download the promoted app.
861
+ # Corresponds to the JSON property `store`
862
+ # @return [String]
863
+ attr_accessor :store
864
+
865
+ # The URL of the XML VAST for a native ad. Note this is a separate field from
866
+ # resource.video_url.
867
+ # Corresponds to the JSON property `videoURL`
868
+ # @return [String]
869
+ attr_accessor :video_url
870
+
871
+ def initialize(**args)
872
+ update!(**args)
873
+ end
874
+
875
+ # Update properties of this object
876
+ def update!(**args)
877
+ @advertiser = args[:advertiser] if args.key?(:advertiser)
878
+ @app_icon = args[:app_icon] if args.key?(:app_icon)
879
+ @body = args[:body] if args.key?(:body)
880
+ @call_to_action = args[:call_to_action] if args.key?(:call_to_action)
881
+ @click_link_url = args[:click_link_url] if args.key?(:click_link_url)
882
+ @click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
883
+ @headline = args[:headline] if args.key?(:headline)
884
+ @image = args[:image] if args.key?(:image)
885
+ @impression_tracking_url = args[:impression_tracking_url] if args.key?(:impression_tracking_url)
886
+ @logo = args[:logo] if args.key?(:logo)
887
+ @price = args[:price] if args.key?(:price)
888
+ @star_rating = args[:star_rating] if args.key?(:star_rating)
889
+ @store = args[:store] if args.key?(:store)
890
+ @video_url = args[:video_url] if args.key?(:video_url)
891
+ end
892
+
893
+ # The app icon, for app download ads.
894
+ class AppIcon
895
+ include Google::Apis::Core::Hashable
896
+
897
+ #
898
+ # Corresponds to the JSON property `height`
899
+ # @return [Fixnum]
900
+ attr_accessor :height
901
+
902
+ #
903
+ # Corresponds to the JSON property `url`
904
+ # @return [String]
905
+ attr_accessor :url
906
+
907
+ #
908
+ # Corresponds to the JSON property `width`
909
+ # @return [Fixnum]
910
+ attr_accessor :width
911
+
912
+ def initialize(**args)
913
+ update!(**args)
914
+ end
915
+
916
+ # Update properties of this object
917
+ def update!(**args)
918
+ @height = args[:height] if args.key?(:height)
919
+ @url = args[:url] if args.key?(:url)
920
+ @width = args[:width] if args.key?(:width)
921
+ end
922
+ end
923
+
924
+ # A large image.
925
+ class Image
926
+ include Google::Apis::Core::Hashable
927
+
928
+ #
929
+ # Corresponds to the JSON property `height`
930
+ # @return [Fixnum]
931
+ attr_accessor :height
932
+
933
+ #
934
+ # Corresponds to the JSON property `url`
935
+ # @return [String]
936
+ attr_accessor :url
937
+
938
+ #
939
+ # Corresponds to the JSON property `width`
940
+ # @return [Fixnum]
941
+ attr_accessor :width
942
+
943
+ def initialize(**args)
944
+ update!(**args)
945
+ end
946
+
947
+ # Update properties of this object
948
+ def update!(**args)
949
+ @height = args[:height] if args.key?(:height)
950
+ @url = args[:url] if args.key?(:url)
951
+ @width = args[:width] if args.key?(:width)
952
+ end
953
+ end
954
+
955
+ # A smaller image, for the advertiser logo.
956
+ class Logo
957
+ include Google::Apis::Core::Hashable
958
+
959
+ #
960
+ # Corresponds to the JSON property `height`
961
+ # @return [Fixnum]
962
+ attr_accessor :height
963
+
964
+ #
965
+ # Corresponds to the JSON property `url`
966
+ # @return [String]
967
+ attr_accessor :url
968
+
969
+ #
970
+ # Corresponds to the JSON property `width`
971
+ # @return [Fixnum]
972
+ attr_accessor :width
973
+
974
+ def initialize(**args)
975
+ update!(**args)
976
+ end
977
+
978
+ # Update properties of this object
979
+ def update!(**args)
980
+ @height = args[:height] if args.key?(:height)
981
+ @url = args[:url] if args.key?(:url)
982
+ @width = args[:width] if args.key?(:width)
983
+ end
984
+ end
985
+ end
986
+
987
+ #
988
+ class ServingRestriction
989
+ include Google::Apis::Core::Hashable
990
+
991
+ # All known contexts/restrictions.
992
+ # Corresponds to the JSON property `contexts`
993
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::Context>]
994
+ attr_accessor :contexts
995
+
996
+ # The reasons for disapproval within this restriction, if any. Note that not all
997
+ # disapproval reasons may be categorized, so it is possible for the creative to
998
+ # have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for
999
+ # disapproval_reasons. In this case, please reach out to your TAM to help debug
1000
+ # the issue.
1001
+ # Corresponds to the JSON property `disapprovalReasons`
1002
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative::ServingRestriction::DisapprovalReason>]
1003
+ attr_accessor :disapproval_reasons
1004
+
1005
+ # Why the creative is ineligible to serve in this context (e.g., it has been
1006
+ # explicitly disapproved or is pending review).
1007
+ # Corresponds to the JSON property `reason`
1008
+ # @return [String]
1009
+ attr_accessor :reason
1010
+
1011
+ def initialize(**args)
1012
+ update!(**args)
1013
+ end
1014
+
1015
+ # Update properties of this object
1016
+ def update!(**args)
1017
+ @contexts = args[:contexts] if args.key?(:contexts)
1018
+ @disapproval_reasons = args[:disapproval_reasons] if args.key?(:disapproval_reasons)
1019
+ @reason = args[:reason] if args.key?(:reason)
1020
+ end
1021
+
1022
+ #
1023
+ class Context
1024
+ include Google::Apis::Core::Hashable
1025
+
1026
+ # Only set when contextType=AUCTION_TYPE. Represents the auction types this
1027
+ # restriction applies to.
1028
+ # Corresponds to the JSON property `auctionType`
1029
+ # @return [Array<String>]
1030
+ attr_accessor :auction_type
1031
+
1032
+ # The type of context (e.g., location, platform, auction type, SSL-ness).
1033
+ # Corresponds to the JSON property `contextType`
1034
+ # @return [String]
1035
+ attr_accessor :context_type
1036
+
1037
+ # Only set when contextType=LOCATION. Represents the geo criterias this
1038
+ # restriction applies to.
1039
+ # Corresponds to the JSON property `geoCriteriaId`
1040
+ # @return [Array<Fixnum>]
1041
+ attr_accessor :geo_criteria_id
1042
+
1043
+ # Only set when contextType=PLATFORM. Represents the platforms this restriction
1044
+ # applies to.
1045
+ # Corresponds to the JSON property `platform`
1046
+ # @return [Array<String>]
1047
+ attr_accessor :platform
1048
+
1049
+ def initialize(**args)
1050
+ update!(**args)
1051
+ end
1052
+
1053
+ # Update properties of this object
1054
+ def update!(**args)
1055
+ @auction_type = args[:auction_type] if args.key?(:auction_type)
1056
+ @context_type = args[:context_type] if args.key?(:context_type)
1057
+ @geo_criteria_id = args[:geo_criteria_id] if args.key?(:geo_criteria_id)
1058
+ @platform = args[:platform] if args.key?(:platform)
1059
+ end
1060
+ end
1061
+
1062
+ #
1063
+ class DisapprovalReason
1064
+ include Google::Apis::Core::Hashable
1065
+
1066
+ # Additional details about the reason for disapproval.
1067
+ # Corresponds to the JSON property `details`
1068
+ # @return [Array<String>]
1069
+ attr_accessor :details
1070
+
1071
+ # The categorized reason for disapproval.
1072
+ # Corresponds to the JSON property `reason`
1073
+ # @return [String]
1074
+ attr_accessor :reason
1075
+
1076
+ def initialize(**args)
1077
+ update!(**args)
1078
+ end
1079
+
1080
+ # Update properties of this object
1081
+ def update!(**args)
1082
+ @details = args[:details] if args.key?(:details)
1083
+ @reason = args[:reason] if args.key?(:reason)
1084
+ end
1085
+ end
1086
+ end
1087
+ end
1088
+
1089
+ # The external deal ids associated with a creative.
1090
+ class CreativeDealIds
1091
+ include Google::Apis::Core::Hashable
1092
+
1093
+ # A list of external deal ids and ARC approval status.
1094
+ # Corresponds to the JSON property `dealStatuses`
1095
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::CreativeDealIds::DealStatus>]
1096
+ attr_accessor :deal_statuses
1097
+
1098
+ # Resource type.
1099
+ # Corresponds to the JSON property `kind`
1100
+ # @return [String]
1101
+ attr_accessor :kind
1102
+
1103
+ def initialize(**args)
1104
+ update!(**args)
1105
+ end
1106
+
1107
+ # Update properties of this object
1108
+ def update!(**args)
1109
+ @deal_statuses = args[:deal_statuses] if args.key?(:deal_statuses)
1110
+ @kind = args[:kind] if args.key?(:kind)
1111
+ end
1112
+
1113
+ #
1114
+ class DealStatus
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # ARC approval status.
1118
+ # Corresponds to the JSON property `arcStatus`
1119
+ # @return [String]
1120
+ attr_accessor :arc_status
1121
+
1122
+ # External deal ID.
1123
+ # Corresponds to the JSON property `dealId`
1124
+ # @return [String]
1125
+ attr_accessor :deal_id
1126
+
1127
+ # Publisher ID.
1128
+ # Corresponds to the JSON property `webPropertyId`
1129
+ # @return [Fixnum]
1130
+ attr_accessor :web_property_id
1131
+
1132
+ def initialize(**args)
1133
+ update!(**args)
1134
+ end
1135
+
1136
+ # Update properties of this object
1137
+ def update!(**args)
1138
+ @arc_status = args[:arc_status] if args.key?(:arc_status)
1139
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1140
+ @web_property_id = args[:web_property_id] if args.key?(:web_property_id)
1141
+ end
1142
+ end
1143
+ end
1144
+
1145
+ # The creatives feed lists the active creatives for the Ad Exchange buyer
1146
+ # accounts that the user has access to. Each entry in the feed corresponds to a
1147
+ # single creative.
1148
+ class CreativesList
1149
+ include Google::Apis::Core::Hashable
1150
+
1151
+ # A list of creatives.
1152
+ # Corresponds to the JSON property `items`
1153
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Creative>]
1154
+ attr_accessor :items
1155
+
1156
+ # Resource type.
1157
+ # Corresponds to the JSON property `kind`
1158
+ # @return [String]
1159
+ attr_accessor :kind
1160
+
1161
+ # Continuation token used to page through creatives. To retrieve the next page
1162
+ # of results, set the next request's "pageToken" value to this.
1163
+ # Corresponds to the JSON property `nextPageToken`
1164
+ # @return [String]
1165
+ attr_accessor :next_page_token
1166
+
1167
+ def initialize(**args)
1168
+ update!(**args)
1169
+ end
1170
+
1171
+ # Update properties of this object
1172
+ def update!(**args)
1173
+ @items = args[:items] if args.key?(:items)
1174
+ @kind = args[:kind] if args.key?(:kind)
1175
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1176
+ end
1177
+ end
1178
+
1179
+ #
1180
+ class DealServingMetadata
1181
+ include Google::Apis::Core::Hashable
1182
+
1183
+ # Tracks which parties (if any) have paused a deal. The deal is considered
1184
+ # paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused
1185
+ # or the has_seller_paused bits can be set independently.
1186
+ # Corresponds to the JSON property `dealPauseStatus`
1187
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealServingMetadataDealPauseStatus]
1188
+ attr_accessor :deal_pause_status
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @deal_pause_status = args[:deal_pause_status] if args.key?(:deal_pause_status)
1197
+ end
1198
+ end
1199
+
1200
+ # Tracks which parties (if any) have paused a deal. The deal is considered
1201
+ # paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused
1202
+ # or the has_seller_paused bits can be set independently.
1203
+ class DealServingMetadataDealPauseStatus
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ #
1207
+ # Corresponds to the JSON property `buyerPauseReason`
1208
+ # @return [String]
1209
+ attr_accessor :buyer_pause_reason
1210
+
1211
+ # If the deal is paused, records which party paused the deal first.
1212
+ # Corresponds to the JSON property `firstPausedBy`
1213
+ # @return [String]
1214
+ attr_accessor :first_paused_by
1215
+
1216
+ #
1217
+ # Corresponds to the JSON property `hasBuyerPaused`
1218
+ # @return [Boolean]
1219
+ attr_accessor :has_buyer_paused
1220
+ alias_method :has_buyer_paused?, :has_buyer_paused
1221
+
1222
+ #
1223
+ # Corresponds to the JSON property `hasSellerPaused`
1224
+ # @return [Boolean]
1225
+ attr_accessor :has_seller_paused
1226
+ alias_method :has_seller_paused?, :has_seller_paused
1227
+
1228
+ #
1229
+ # Corresponds to the JSON property `sellerPauseReason`
1230
+ # @return [String]
1231
+ attr_accessor :seller_pause_reason
1232
+
1233
+ def initialize(**args)
1234
+ update!(**args)
1235
+ end
1236
+
1237
+ # Update properties of this object
1238
+ def update!(**args)
1239
+ @buyer_pause_reason = args[:buyer_pause_reason] if args.key?(:buyer_pause_reason)
1240
+ @first_paused_by = args[:first_paused_by] if args.key?(:first_paused_by)
1241
+ @has_buyer_paused = args[:has_buyer_paused] if args.key?(:has_buyer_paused)
1242
+ @has_seller_paused = args[:has_seller_paused] if args.key?(:has_seller_paused)
1243
+ @seller_pause_reason = args[:seller_pause_reason] if args.key?(:seller_pause_reason)
1244
+ end
1245
+ end
1246
+
1247
+ #
1248
+ class DealTerms
1249
+ include Google::Apis::Core::Hashable
1250
+
1251
+ # Visibilty of the URL in bid requests.
1252
+ # Corresponds to the JSON property `brandingType`
1253
+ # @return [String]
1254
+ attr_accessor :branding_type
1255
+
1256
+ # Indicates that this ExternalDealId exists under at least two different
1257
+ # AdxInventoryDeals. Currently, the only case that the same ExternalDealId will
1258
+ # exist is programmatic cross sell case.
1259
+ # Corresponds to the JSON property `crossListedExternalDealIdType`
1260
+ # @return [String]
1261
+ attr_accessor :cross_listed_external_deal_id_type
1262
+
1263
+ # Description for the proposed terms of the deal.
1264
+ # Corresponds to the JSON property `description`
1265
+ # @return [String]
1266
+ attr_accessor :description
1267
+
1268
+ # Non-binding estimate of the estimated gross spend for this deal Can be set by
1269
+ # buyer or seller.
1270
+ # Corresponds to the JSON property `estimatedGrossSpend`
1271
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
1272
+ attr_accessor :estimated_gross_spend
1273
+
1274
+ # Non-binding estimate of the impressions served per day Can be set by buyer or
1275
+ # seller.
1276
+ # Corresponds to the JSON property `estimatedImpressionsPerDay`
1277
+ # @return [String]
1278
+ attr_accessor :estimated_impressions_per_day
1279
+
1280
+ # The terms for guaranteed fixed price deals.
1281
+ # Corresponds to the JSON property `guaranteedFixedPriceTerms`
1282
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsGuaranteedFixedPriceTerms]
1283
+ attr_accessor :guaranteed_fixed_price_terms
1284
+
1285
+ # The terms for non-guaranteed auction deals.
1286
+ # Corresponds to the JSON property `nonGuaranteedAuctionTerms`
1287
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedAuctionTerms]
1288
+ attr_accessor :non_guaranteed_auction_terms
1289
+
1290
+ # The terms for non-guaranteed fixed price deals.
1291
+ # Corresponds to the JSON property `nonGuaranteedFixedPriceTerms`
1292
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsNonGuaranteedFixedPriceTerms]
1293
+ attr_accessor :non_guaranteed_fixed_price_terms
1294
+
1295
+ # The terms for rubicon non-guaranteed deals.
1296
+ # Corresponds to the JSON property `rubiconNonGuaranteedTerms`
1297
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsRubiconNonGuaranteedTerms]
1298
+ attr_accessor :rubicon_non_guaranteed_terms
1299
+
1300
+ # For deals with Cost Per Day billing, defines the timezone used to mark the
1301
+ # boundaries of a day (buyer-readonly)
1302
+ # Corresponds to the JSON property `sellerTimeZone`
1303
+ # @return [String]
1304
+ attr_accessor :seller_time_zone
1305
+
1306
+ def initialize(**args)
1307
+ update!(**args)
1308
+ end
1309
+
1310
+ # Update properties of this object
1311
+ def update!(**args)
1312
+ @branding_type = args[:branding_type] if args.key?(:branding_type)
1313
+ @cross_listed_external_deal_id_type = args[:cross_listed_external_deal_id_type] if args.key?(:cross_listed_external_deal_id_type)
1314
+ @description = args[:description] if args.key?(:description)
1315
+ @estimated_gross_spend = args[:estimated_gross_spend] if args.key?(:estimated_gross_spend)
1316
+ @estimated_impressions_per_day = args[:estimated_impressions_per_day] if args.key?(:estimated_impressions_per_day)
1317
+ @guaranteed_fixed_price_terms = args[:guaranteed_fixed_price_terms] if args.key?(:guaranteed_fixed_price_terms)
1318
+ @non_guaranteed_auction_terms = args[:non_guaranteed_auction_terms] if args.key?(:non_guaranteed_auction_terms)
1319
+ @non_guaranteed_fixed_price_terms = args[:non_guaranteed_fixed_price_terms] if args.key?(:non_guaranteed_fixed_price_terms)
1320
+ @rubicon_non_guaranteed_terms = args[:rubicon_non_guaranteed_terms] if args.key?(:rubicon_non_guaranteed_terms)
1321
+ @seller_time_zone = args[:seller_time_zone] if args.key?(:seller_time_zone)
1322
+ end
1323
+ end
1324
+
1325
+ #
1326
+ class DealTermsGuaranteedFixedPriceTerms
1327
+ include Google::Apis::Core::Hashable
1328
+
1329
+ # External billing info for this Deal. This field is relevant when external
1330
+ # billing info such as price has a different currency code than DFP/AdX.
1331
+ # Corresponds to the JSON property `billingInfo`
1332
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTermsGuaranteedFixedPriceTermsBillingInfo]
1333
+ attr_accessor :billing_info
1334
+
1335
+ # Fixed price for the specified buyer.
1336
+ # Corresponds to the JSON property `fixedPrices`
1337
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1338
+ attr_accessor :fixed_prices
1339
+
1340
+ # Guaranteed impressions as a percentage. This is the percentage of guaranteed
1341
+ # looks that the buyer is guaranteeing to buy.
1342
+ # Corresponds to the JSON property `guaranteedImpressions`
1343
+ # @return [String]
1344
+ attr_accessor :guaranteed_impressions
1345
+
1346
+ # Count of guaranteed looks. Required for deal, optional for product. For CPD
1347
+ # deals, buyer changes to guaranteed_looks will be ignored.
1348
+ # Corresponds to the JSON property `guaranteedLooks`
1349
+ # @return [String]
1350
+ attr_accessor :guaranteed_looks
1351
+
1352
+ # Count of minimum daily looks for a CPD deal. For CPD deals, buyer should
1353
+ # negotiate on this field instead of guaranteed_looks.
1354
+ # Corresponds to the JSON property `minimumDailyLooks`
1355
+ # @return [String]
1356
+ attr_accessor :minimum_daily_looks
1357
+
1358
+ def initialize(**args)
1359
+ update!(**args)
1360
+ end
1361
+
1362
+ # Update properties of this object
1363
+ def update!(**args)
1364
+ @billing_info = args[:billing_info] if args.key?(:billing_info)
1365
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1366
+ @guaranteed_impressions = args[:guaranteed_impressions] if args.key?(:guaranteed_impressions)
1367
+ @guaranteed_looks = args[:guaranteed_looks] if args.key?(:guaranteed_looks)
1368
+ @minimum_daily_looks = args[:minimum_daily_looks] if args.key?(:minimum_daily_looks)
1369
+ end
1370
+ end
1371
+
1372
+ #
1373
+ class DealTermsGuaranteedFixedPriceTermsBillingInfo
1374
+ include Google::Apis::Core::Hashable
1375
+
1376
+ # The timestamp (in ms since epoch) when the original reservation price for the
1377
+ # deal was first converted to DFP currency. This is used to convert the
1378
+ # contracted price into advertiser's currency without discrepancy.
1379
+ # Corresponds to the JSON property `currencyConversionTimeMs`
1380
+ # @return [String]
1381
+ attr_accessor :currency_conversion_time_ms
1382
+
1383
+ # The DFP line item id associated with this deal. For features like CPD, buyers
1384
+ # can retrieve the DFP line item for billing reconciliation.
1385
+ # Corresponds to the JSON property `dfpLineItemId`
1386
+ # @return [String]
1387
+ attr_accessor :dfp_line_item_id
1388
+
1389
+ # The original contracted quantity (# impressions) for this deal. To ensure
1390
+ # delivery, sometimes the publisher will book the deal with a impression buffer,
1391
+ # such that guaranteed_looks is greater than the contracted quantity. However
1392
+ # clients are billed using the original contracted quantity.
1393
+ # Corresponds to the JSON property `originalContractedQuantity`
1394
+ # @return [String]
1395
+ attr_accessor :original_contracted_quantity
1396
+
1397
+ # The original reservation price for the deal, if the currency code is different
1398
+ # from the one used in negotiation.
1399
+ # Corresponds to the JSON property `price`
1400
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
1401
+ attr_accessor :price
1402
+
1403
+ def initialize(**args)
1404
+ update!(**args)
1405
+ end
1406
+
1407
+ # Update properties of this object
1408
+ def update!(**args)
1409
+ @currency_conversion_time_ms = args[:currency_conversion_time_ms] if args.key?(:currency_conversion_time_ms)
1410
+ @dfp_line_item_id = args[:dfp_line_item_id] if args.key?(:dfp_line_item_id)
1411
+ @original_contracted_quantity = args[:original_contracted_quantity] if args.key?(:original_contracted_quantity)
1412
+ @price = args[:price] if args.key?(:price)
1413
+ end
1414
+ end
1415
+
1416
+ #
1417
+ class DealTermsNonGuaranteedAuctionTerms
1418
+ include Google::Apis::Core::Hashable
1419
+
1420
+ # True if open auction buyers are allowed to compete with invited buyers in this
1421
+ # private auction (buyer-readonly).
1422
+ # Corresponds to the JSON property `autoOptimizePrivateAuction`
1423
+ # @return [Boolean]
1424
+ attr_accessor :auto_optimize_private_auction
1425
+ alias_method :auto_optimize_private_auction?, :auto_optimize_private_auction
1426
+
1427
+ # Reserve price for the specified buyer.
1428
+ # Corresponds to the JSON property `reservePricePerBuyers`
1429
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1430
+ attr_accessor :reserve_price_per_buyers
1431
+
1432
+ def initialize(**args)
1433
+ update!(**args)
1434
+ end
1435
+
1436
+ # Update properties of this object
1437
+ def update!(**args)
1438
+ @auto_optimize_private_auction = args[:auto_optimize_private_auction] if args.key?(:auto_optimize_private_auction)
1439
+ @reserve_price_per_buyers = args[:reserve_price_per_buyers] if args.key?(:reserve_price_per_buyers)
1440
+ end
1441
+ end
1442
+
1443
+ #
1444
+ class DealTermsNonGuaranteedFixedPriceTerms
1445
+ include Google::Apis::Core::Hashable
1446
+
1447
+ # Fixed price for the specified buyer.
1448
+ # Corresponds to the JSON property `fixedPrices`
1449
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PricePerBuyer>]
1450
+ attr_accessor :fixed_prices
1451
+
1452
+ def initialize(**args)
1453
+ update!(**args)
1454
+ end
1455
+
1456
+ # Update properties of this object
1457
+ def update!(**args)
1458
+ @fixed_prices = args[:fixed_prices] if args.key?(:fixed_prices)
1459
+ end
1460
+ end
1461
+
1462
+ #
1463
+ class DealTermsRubiconNonGuaranteedTerms
1464
+ include Google::Apis::Core::Hashable
1465
+
1466
+ # Optional price for Rubicon priority access in the auction.
1467
+ # Corresponds to the JSON property `priorityPrice`
1468
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
1469
+ attr_accessor :priority_price
1470
+
1471
+ # Optional price for Rubicon standard access in the auction.
1472
+ # Corresponds to the JSON property `standardPrice`
1473
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
1474
+ attr_accessor :standard_price
1475
+
1476
+ def initialize(**args)
1477
+ update!(**args)
1478
+ end
1479
+
1480
+ # Update properties of this object
1481
+ def update!(**args)
1482
+ @priority_price = args[:priority_price] if args.key?(:priority_price)
1483
+ @standard_price = args[:standard_price] if args.key?(:standard_price)
1484
+ end
1485
+ end
1486
+
1487
+ #
1488
+ class DeleteOrderDealsRequest
1489
+ include Google::Apis::Core::Hashable
1490
+
1491
+ # List of deals to delete for a given proposal
1492
+ # Corresponds to the JSON property `dealIds`
1493
+ # @return [Array<String>]
1494
+ attr_accessor :deal_ids
1495
+
1496
+ # The last known proposal revision number.
1497
+ # Corresponds to the JSON property `proposalRevisionNumber`
1498
+ # @return [String]
1499
+ attr_accessor :proposal_revision_number
1500
+
1501
+ # Indicates an optional action to take on the proposal
1502
+ # Corresponds to the JSON property `updateAction`
1503
+ # @return [String]
1504
+ attr_accessor :update_action
1505
+
1506
+ def initialize(**args)
1507
+ update!(**args)
1508
+ end
1509
+
1510
+ # Update properties of this object
1511
+ def update!(**args)
1512
+ @deal_ids = args[:deal_ids] if args.key?(:deal_ids)
1513
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1514
+ @update_action = args[:update_action] if args.key?(:update_action)
1515
+ end
1516
+ end
1517
+
1518
+ #
1519
+ class DeleteOrderDealsResponse
1520
+ include Google::Apis::Core::Hashable
1521
+
1522
+ # List of deals deleted (in the same proposal as passed in the request)
1523
+ # Corresponds to the JSON property `deals`
1524
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1525
+ attr_accessor :deals
1526
+
1527
+ # The updated revision number for the proposal.
1528
+ # Corresponds to the JSON property `proposalRevisionNumber`
1529
+ # @return [String]
1530
+ attr_accessor :proposal_revision_number
1531
+
1532
+ def initialize(**args)
1533
+ update!(**args)
1534
+ end
1535
+
1536
+ # Update properties of this object
1537
+ def update!(**args)
1538
+ @deals = args[:deals] if args.key?(:deals)
1539
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1540
+ end
1541
+ end
1542
+
1543
+ #
1544
+ class DeliveryControl
1545
+ include Google::Apis::Core::Hashable
1546
+
1547
+ #
1548
+ # Corresponds to the JSON property `creativeBlockingLevel`
1549
+ # @return [String]
1550
+ attr_accessor :creative_blocking_level
1551
+
1552
+ #
1553
+ # Corresponds to the JSON property `deliveryRateType`
1554
+ # @return [String]
1555
+ attr_accessor :delivery_rate_type
1556
+
1557
+ #
1558
+ # Corresponds to the JSON property `frequencyCaps`
1559
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::DeliveryControlFrequencyCap>]
1560
+ attr_accessor :frequency_caps
1561
+
1562
+ def initialize(**args)
1563
+ update!(**args)
1564
+ end
1565
+
1566
+ # Update properties of this object
1567
+ def update!(**args)
1568
+ @creative_blocking_level = args[:creative_blocking_level] if args.key?(:creative_blocking_level)
1569
+ @delivery_rate_type = args[:delivery_rate_type] if args.key?(:delivery_rate_type)
1570
+ @frequency_caps = args[:frequency_caps] if args.key?(:frequency_caps)
1571
+ end
1572
+ end
1573
+
1574
+ #
1575
+ class DeliveryControlFrequencyCap
1576
+ include Google::Apis::Core::Hashable
1577
+
1578
+ #
1579
+ # Corresponds to the JSON property `maxImpressions`
1580
+ # @return [Fixnum]
1581
+ attr_accessor :max_impressions
1582
+
1583
+ #
1584
+ # Corresponds to the JSON property `numTimeUnits`
1585
+ # @return [Fixnum]
1586
+ attr_accessor :num_time_units
1587
+
1588
+ #
1589
+ # Corresponds to the JSON property `timeUnitType`
1590
+ # @return [String]
1591
+ attr_accessor :time_unit_type
1592
+
1593
+ def initialize(**args)
1594
+ update!(**args)
1595
+ end
1596
+
1597
+ # Update properties of this object
1598
+ def update!(**args)
1599
+ @max_impressions = args[:max_impressions] if args.key?(:max_impressions)
1600
+ @num_time_units = args[:num_time_units] if args.key?(:num_time_units)
1601
+ @time_unit_type = args[:time_unit_type] if args.key?(:time_unit_type)
1602
+ end
1603
+ end
1604
+
1605
+ # This message carries publisher provided breakdown. E.g. `dimension_type: '
1606
+ # COUNTRY', [`dimension_value: `id: 1, name: 'US'``, `dimension_value: `id: 2,
1607
+ # name: 'UK'``]`
1608
+ class Dimension
1609
+ include Google::Apis::Core::Hashable
1610
+
1611
+ #
1612
+ # Corresponds to the JSON property `dimensionType`
1613
+ # @return [String]
1614
+ attr_accessor :dimension_type
1615
+
1616
+ #
1617
+ # Corresponds to the JSON property `dimensionValues`
1618
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::DimensionDimensionValue>]
1619
+ attr_accessor :dimension_values
1620
+
1621
+ def initialize(**args)
1622
+ update!(**args)
1623
+ end
1624
+
1625
+ # Update properties of this object
1626
+ def update!(**args)
1627
+ @dimension_type = args[:dimension_type] if args.key?(:dimension_type)
1628
+ @dimension_values = args[:dimension_values] if args.key?(:dimension_values)
1629
+ end
1630
+ end
1631
+
1632
+ # Value of the dimension.
1633
+ class DimensionDimensionValue
1634
+ include Google::Apis::Core::Hashable
1635
+
1636
+ # Id of the dimension.
1637
+ # Corresponds to the JSON property `id`
1638
+ # @return [Fixnum]
1639
+ attr_accessor :id
1640
+
1641
+ # Name of the dimension mainly for debugging purposes, except for the case of
1642
+ # CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of ids.
1643
+ # Corresponds to the JSON property `name`
1644
+ # @return [String]
1645
+ attr_accessor :name
1646
+
1647
+ # Percent of total impressions for a dimension type. e.g. `dimension_type: '
1648
+ # GENDER', [`dimension_value: `id: 1, name: 'MALE', percentage: 60``]` Gender
1649
+ # MALE is 60% of all impressions which have gender.
1650
+ # Corresponds to the JSON property `percentage`
1651
+ # @return [Fixnum]
1652
+ attr_accessor :percentage
1653
+
1654
+ def initialize(**args)
1655
+ update!(**args)
1656
+ end
1657
+
1658
+ # Update properties of this object
1659
+ def update!(**args)
1660
+ @id = args[:id] if args.key?(:id)
1661
+ @name = args[:name] if args.key?(:name)
1662
+ @percentage = args[:percentage] if args.key?(:percentage)
1663
+ end
1664
+ end
1665
+
1666
+ #
1667
+ class EditAllOrderDealsRequest
1668
+ include Google::Apis::Core::Hashable
1669
+
1670
+ # List of deals to edit. Service may perform 3 different operations based on
1671
+ # comparison of deals in this list vs deals already persisted in database: 1.
1672
+ # Add new deal to proposal If a deal in this list does not exist in the proposal,
1673
+ # the service will create a new deal and add it to the proposal. Validation
1674
+ # will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a
1675
+ # deal in this list already exist in the proposal, the service will update that
1676
+ # existing deal to this new deal in the request. Validation will follow
1677
+ # UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id)
1678
+ # If a existing deal in the proposal is not present in this list, the service
1679
+ # will delete that deal from the proposal. Validation will follow
1680
+ # DeleteOrderDealsRequest.
1681
+ # Corresponds to the JSON property `deals`
1682
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1683
+ attr_accessor :deals
1684
+
1685
+ # Represents a proposal in the marketplace. A proposal is the unit of
1686
+ # negotiation between a seller and a buyer and contains deals which are served.
1687
+ # Each field in a proposal can have one of the following setting:
1688
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
1689
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
1690
+ # field. (updatable) - The field is updatable at all times by either buyer or
1691
+ # the seller.
1692
+ # Corresponds to the JSON property `proposal`
1693
+ # @return [Google::Apis::AdexchangebuyerV1_4::Proposal]
1694
+ attr_accessor :proposal
1695
+
1696
+ # The last known revision number for the proposal.
1697
+ # Corresponds to the JSON property `proposalRevisionNumber`
1698
+ # @return [String]
1699
+ attr_accessor :proposal_revision_number
1700
+
1701
+ # Indicates an optional action to take on the proposal
1702
+ # Corresponds to the JSON property `updateAction`
1703
+ # @return [String]
1704
+ attr_accessor :update_action
1705
+
1706
+ def initialize(**args)
1707
+ update!(**args)
1708
+ end
1709
+
1710
+ # Update properties of this object
1711
+ def update!(**args)
1712
+ @deals = args[:deals] if args.key?(:deals)
1713
+ @proposal = args[:proposal] if args.key?(:proposal)
1714
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
1715
+ @update_action = args[:update_action] if args.key?(:update_action)
1716
+ end
1717
+ end
1718
+
1719
+ #
1720
+ class EditAllOrderDealsResponse
1721
+ include Google::Apis::Core::Hashable
1722
+
1723
+ # List of all deals in the proposal after edit.
1724
+ # Corresponds to the JSON property `deals`
1725
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1726
+ attr_accessor :deals
1727
+
1728
+ # The latest revision number after the update has been applied.
1729
+ # Corresponds to the JSON property `orderRevisionNumber`
1730
+ # @return [String]
1731
+ attr_accessor :order_revision_number
1732
+
1733
+ def initialize(**args)
1734
+ update!(**args)
1735
+ end
1736
+
1737
+ # Update properties of this object
1738
+ def update!(**args)
1739
+ @deals = args[:deals] if args.key?(:deals)
1740
+ @order_revision_number = args[:order_revision_number] if args.key?(:order_revision_number)
1741
+ end
1742
+ end
1743
+
1744
+ #
1745
+ class GetOffersResponse
1746
+ include Google::Apis::Core::Hashable
1747
+
1748
+ # The returned list of products.
1749
+ # Corresponds to the JSON property `products`
1750
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Product>]
1751
+ attr_accessor :products
1752
+
1753
+ def initialize(**args)
1754
+ update!(**args)
1755
+ end
1756
+
1757
+ # Update properties of this object
1758
+ def update!(**args)
1759
+ @products = args[:products] if args.key?(:products)
1760
+ end
1761
+ end
1762
+
1763
+ #
1764
+ class GetOrderDealsResponse
1765
+ include Google::Apis::Core::Hashable
1766
+
1767
+ # List of deals for the proposal
1768
+ # Corresponds to the JSON property `deals`
1769
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceDeal>]
1770
+ attr_accessor :deals
1771
+
1772
+ def initialize(**args)
1773
+ update!(**args)
1774
+ end
1775
+
1776
+ # Update properties of this object
1777
+ def update!(**args)
1778
+ @deals = args[:deals] if args.key?(:deals)
1779
+ end
1780
+ end
1781
+
1782
+ #
1783
+ class GetOrderNotesResponse
1784
+ include Google::Apis::Core::Hashable
1785
+
1786
+ # The list of matching notes. The notes for a proposal are ordered from oldest
1787
+ # to newest. If the notes span multiple proposals, they will be grouped by
1788
+ # proposal, with the notes for the most recently modified proposal appearing
1789
+ # first.
1790
+ # Corresponds to the JSON property `notes`
1791
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceNote>]
1792
+ attr_accessor :notes
1793
+
1794
+ def initialize(**args)
1795
+ update!(**args)
1796
+ end
1797
+
1798
+ # Update properties of this object
1799
+ def update!(**args)
1800
+ @notes = args[:notes] if args.key?(:notes)
1801
+ end
1802
+ end
1803
+
1804
+ #
1805
+ class GetOrdersResponse
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # The list of matching proposals.
1809
+ # Corresponds to the JSON property `proposals`
1810
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Proposal>]
1811
+ attr_accessor :proposals
1812
+
1813
+ def initialize(**args)
1814
+ update!(**args)
1815
+ end
1816
+
1817
+ # Update properties of this object
1818
+ def update!(**args)
1819
+ @proposals = args[:proposals] if args.key?(:proposals)
1820
+ end
1821
+ end
1822
+
1823
+ #
1824
+ class GetPublisherProfilesByAccountIdResponse
1825
+ include Google::Apis::Core::Hashable
1826
+
1827
+ # Profiles for the requested publisher
1828
+ # Corresponds to the JSON property `profiles`
1829
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PublisherProfileApiProto>]
1830
+ attr_accessor :profiles
1831
+
1832
+ def initialize(**args)
1833
+ update!(**args)
1834
+ end
1835
+
1836
+ # Update properties of this object
1837
+ def update!(**args)
1838
+ @profiles = args[:profiles] if args.key?(:profiles)
1839
+ end
1840
+ end
1841
+
1842
+ # A proposal can contain multiple deals. A deal contains the terms and targeting
1843
+ # information that is used for serving.
1844
+ class MarketplaceDeal
1845
+ include Google::Apis::Core::Hashable
1846
+
1847
+ # Buyer private data (hidden from seller).
1848
+ # Corresponds to the JSON property `buyerPrivateData`
1849
+ # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
1850
+ attr_accessor :buyer_private_data
1851
+
1852
+ # The time (ms since epoch) of the deal creation. (readonly)
1853
+ # Corresponds to the JSON property `creationTimeMs`
1854
+ # @return [String]
1855
+ attr_accessor :creation_time_ms
1856
+
1857
+ # Specifies the creative pre-approval policy (buyer-readonly)
1858
+ # Corresponds to the JSON property `creativePreApprovalPolicy`
1859
+ # @return [String]
1860
+ attr_accessor :creative_pre_approval_policy
1861
+
1862
+ # Specifies whether the creative is safeFrame compatible (buyer-readonly)
1863
+ # Corresponds to the JSON property `creativeSafeFrameCompatibility`
1864
+ # @return [String]
1865
+ attr_accessor :creative_safe_frame_compatibility
1866
+
1867
+ # A unique deal-id for the deal (readonly).
1868
+ # Corresponds to the JSON property `dealId`
1869
+ # @return [String]
1870
+ attr_accessor :deal_id
1871
+
1872
+ # Metadata about the serving status of this deal (readonly, writes via custom
1873
+ # actions)
1874
+ # Corresponds to the JSON property `dealServingMetadata`
1875
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealServingMetadata]
1876
+ attr_accessor :deal_serving_metadata
1877
+
1878
+ # The set of fields around delivery control that are interesting for a buyer to
1879
+ # see but are non-negotiable. These are set by the publisher. This message is
1880
+ # assigned an id of 100 since some day we would want to model this as a protobuf
1881
+ # extension.
1882
+ # Corresponds to the JSON property `deliveryControl`
1883
+ # @return [Google::Apis::AdexchangebuyerV1_4::DeliveryControl]
1884
+ attr_accessor :delivery_control
1885
+
1886
+ # The external deal id assigned to this deal once the deal is finalized. This is
1887
+ # the deal-id that shows up in serving/reporting etc. (readonly)
1888
+ # Corresponds to the JSON property `externalDealId`
1889
+ # @return [String]
1890
+ attr_accessor :external_deal_id
1891
+
1892
+ # Proposed flight end time of the deal (ms since epoch) This will generally be
1893
+ # stored in a granularity of a second. (updatable)
1894
+ # Corresponds to the JSON property `flightEndTimeMs`
1895
+ # @return [String]
1896
+ attr_accessor :flight_end_time_ms
1897
+
1898
+ # Proposed flight start time of the deal (ms since epoch) This will generally be
1899
+ # stored in a granularity of a second. (updatable)
1900
+ # Corresponds to the JSON property `flightStartTimeMs`
1901
+ # @return [String]
1902
+ attr_accessor :flight_start_time_ms
1903
+
1904
+ # Description for the deal terms. (buyer-readonly)
1905
+ # Corresponds to the JSON property `inventoryDescription`
1906
+ # @return [String]
1907
+ attr_accessor :inventory_description
1908
+
1909
+ # Indicates whether the current deal is a RFP template. RFP template is created
1910
+ # by buyer and not based on seller created products.
1911
+ # Corresponds to the JSON property `isRfpTemplate`
1912
+ # @return [Boolean]
1913
+ attr_accessor :is_rfp_template
1914
+ alias_method :is_rfp_template?, :is_rfp_template
1915
+
1916
+ # Identifies what kind of resource this is. Value: the fixed string "
1917
+ # adexchangebuyer#marketplaceDeal".
1918
+ # Corresponds to the JSON property `kind`
1919
+ # @return [String]
1920
+ attr_accessor :kind
1921
+
1922
+ # The time (ms since epoch) when the deal was last updated. (readonly)
1923
+ # Corresponds to the JSON property `lastUpdateTimeMs`
1924
+ # @return [String]
1925
+ attr_accessor :last_update_time_ms
1926
+
1927
+ # The name of the deal. (updatable)
1928
+ # Corresponds to the JSON property `name`
1929
+ # @return [String]
1930
+ attr_accessor :name
1931
+
1932
+ # The product-id from which this deal was created. (readonly, except on create)
1933
+ # Corresponds to the JSON property `productId`
1934
+ # @return [String]
1935
+ attr_accessor :product_id
1936
+
1937
+ # The revision number of the product that the deal was created from (readonly,
1938
+ # except on create)
1939
+ # Corresponds to the JSON property `productRevisionNumber`
1940
+ # @return [String]
1941
+ attr_accessor :product_revision_number
1942
+
1943
+ # Specifies the creative source for programmatic deals, PUBLISHER means creative
1944
+ # is provided by seller and ADVERTISR means creative is provided by buyer. (
1945
+ # buyer-readonly)
1946
+ # Corresponds to the JSON property `programmaticCreativeSource`
1947
+ # @return [String]
1948
+ attr_accessor :programmatic_creative_source
1949
+
1950
+ #
1951
+ # Corresponds to the JSON property `proposalId`
1952
+ # @return [String]
1953
+ attr_accessor :proposal_id
1954
+
1955
+ # Optional Seller contact information for the deal (buyer-readonly)
1956
+ # Corresponds to the JSON property `sellerContacts`
1957
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
1958
+ attr_accessor :seller_contacts
1959
+
1960
+ # The shared targeting visible to buyers and sellers. Each shared targeting
1961
+ # entity is AND'd together. (updatable)
1962
+ # Corresponds to the JSON property `sharedTargetings`
1963
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
1964
+ attr_accessor :shared_targetings
1965
+
1966
+ # The syndication product associated with the deal. (readonly, except on create)
1967
+ # Corresponds to the JSON property `syndicationProduct`
1968
+ # @return [String]
1969
+ attr_accessor :syndication_product
1970
+
1971
+ # The negotiable terms of the deal. (updatable)
1972
+ # Corresponds to the JSON property `terms`
1973
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
1974
+ attr_accessor :terms
1975
+
1976
+ #
1977
+ # Corresponds to the JSON property `webPropertyCode`
1978
+ # @return [String]
1979
+ attr_accessor :web_property_code
1980
+
1981
+ def initialize(**args)
1982
+ update!(**args)
1983
+ end
1984
+
1985
+ # Update properties of this object
1986
+ def update!(**args)
1987
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
1988
+ @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
1989
+ @creative_pre_approval_policy = args[:creative_pre_approval_policy] if args.key?(:creative_pre_approval_policy)
1990
+ @creative_safe_frame_compatibility = args[:creative_safe_frame_compatibility] if args.key?(:creative_safe_frame_compatibility)
1991
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
1992
+ @deal_serving_metadata = args[:deal_serving_metadata] if args.key?(:deal_serving_metadata)
1993
+ @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
1994
+ @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
1995
+ @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
1996
+ @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
1997
+ @inventory_description = args[:inventory_description] if args.key?(:inventory_description)
1998
+ @is_rfp_template = args[:is_rfp_template] if args.key?(:is_rfp_template)
1999
+ @kind = args[:kind] if args.key?(:kind)
2000
+ @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
2001
+ @name = args[:name] if args.key?(:name)
2002
+ @product_id = args[:product_id] if args.key?(:product_id)
2003
+ @product_revision_number = args[:product_revision_number] if args.key?(:product_revision_number)
2004
+ @programmatic_creative_source = args[:programmatic_creative_source] if args.key?(:programmatic_creative_source)
2005
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
2006
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
2007
+ @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
2008
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
2009
+ @terms = args[:terms] if args.key?(:terms)
2010
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
2011
+ end
2012
+ end
2013
+
2014
+ #
2015
+ class MarketplaceDealParty
2016
+ include Google::Apis::Core::Hashable
2017
+
2018
+ # The buyer/seller associated with the deal. One of buyer/seller is specified
2019
+ # for a deal-party.
2020
+ # Corresponds to the JSON property `buyer`
2021
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2022
+ attr_accessor :buyer
2023
+
2024
+ # The buyer/seller associated with the deal. One of buyer/seller is specified
2025
+ # for a deal party.
2026
+ # Corresponds to the JSON property `seller`
2027
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
2028
+ attr_accessor :seller
2029
+
2030
+ def initialize(**args)
2031
+ update!(**args)
2032
+ end
2033
+
2034
+ # Update properties of this object
2035
+ def update!(**args)
2036
+ @buyer = args[:buyer] if args.key?(:buyer)
2037
+ @seller = args[:seller] if args.key?(:seller)
2038
+ end
2039
+ end
2040
+
2041
+ #
2042
+ class MarketplaceLabel
2043
+ include Google::Apis::Core::Hashable
2044
+
2045
+ # The accountId of the party that created the label.
2046
+ # Corresponds to the JSON property `accountId`
2047
+ # @return [String]
2048
+ attr_accessor :account_id
2049
+
2050
+ # The creation time (in ms since epoch) for the label.
2051
+ # Corresponds to the JSON property `createTimeMs`
2052
+ # @return [String]
2053
+ attr_accessor :create_time_ms
2054
+
2055
+ # Information about the party that created the label.
2056
+ # Corresponds to the JSON property `deprecatedMarketplaceDealParty`
2057
+ # @return [Google::Apis::AdexchangebuyerV1_4::MarketplaceDealParty]
2058
+ attr_accessor :deprecated_marketplace_deal_party
2059
+
2060
+ # The label to use.
2061
+ # Corresponds to the JSON property `label`
2062
+ # @return [String]
2063
+ attr_accessor :label
2064
+
2065
+ def initialize(**args)
2066
+ update!(**args)
2067
+ end
2068
+
2069
+ # Update properties of this object
2070
+ def update!(**args)
2071
+ @account_id = args[:account_id] if args.key?(:account_id)
2072
+ @create_time_ms = args[:create_time_ms] if args.key?(:create_time_ms)
2073
+ @deprecated_marketplace_deal_party = args[:deprecated_marketplace_deal_party] if args.key?(:deprecated_marketplace_deal_party)
2074
+ @label = args[:label] if args.key?(:label)
2075
+ end
2076
+ end
2077
+
2078
+ # A proposal is associated with a bunch of notes which may optionally be
2079
+ # associated with a deal and/or revision number.
2080
+ class MarketplaceNote
2081
+ include Google::Apis::Core::Hashable
2082
+
2083
+ # The role of the person (buyer/seller) creating the note. (readonly)
2084
+ # Corresponds to the JSON property `creatorRole`
2085
+ # @return [String]
2086
+ attr_accessor :creator_role
2087
+
2088
+ # Notes can optionally be associated with a deal. (readonly, except on create)
2089
+ # Corresponds to the JSON property `dealId`
2090
+ # @return [String]
2091
+ attr_accessor :deal_id
2092
+
2093
+ # Identifies what kind of resource this is. Value: the fixed string "
2094
+ # adexchangebuyer#marketplaceNote".
2095
+ # Corresponds to the JSON property `kind`
2096
+ # @return [String]
2097
+ attr_accessor :kind
2098
+
2099
+ # The actual note to attach. (readonly, except on create)
2100
+ # Corresponds to the JSON property `note`
2101
+ # @return [String]
2102
+ attr_accessor :note
2103
+
2104
+ # The unique id for the note. (readonly)
2105
+ # Corresponds to the JSON property `noteId`
2106
+ # @return [String]
2107
+ attr_accessor :note_id
2108
+
2109
+ # The proposalId that a note is attached to. (readonly)
2110
+ # Corresponds to the JSON property `proposalId`
2111
+ # @return [String]
2112
+ attr_accessor :proposal_id
2113
+
2114
+ # If the note is associated with a proposal revision number, then store that
2115
+ # here. (readonly, except on create)
2116
+ # Corresponds to the JSON property `proposalRevisionNumber`
2117
+ # @return [String]
2118
+ attr_accessor :proposal_revision_number
2119
+
2120
+ # The timestamp (ms since epoch) that this note was created. (readonly)
2121
+ # Corresponds to the JSON property `timestampMs`
2122
+ # @return [String]
2123
+ attr_accessor :timestamp_ms
2124
+
2125
+ def initialize(**args)
2126
+ update!(**args)
2127
+ end
2128
+
2129
+ # Update properties of this object
2130
+ def update!(**args)
2131
+ @creator_role = args[:creator_role] if args.key?(:creator_role)
2132
+ @deal_id = args[:deal_id] if args.key?(:deal_id)
2133
+ @kind = args[:kind] if args.key?(:kind)
2134
+ @note = args[:note] if args.key?(:note)
2135
+ @note_id = args[:note_id] if args.key?(:note_id)
2136
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
2137
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
2138
+ @timestamp_ms = args[:timestamp_ms] if args.key?(:timestamp_ms)
2139
+ end
2140
+ end
2141
+
2142
+ # The configuration data for an Ad Exchange performance report list.
2143
+ class PerformanceReport
2144
+ include Google::Apis::Core::Hashable
2145
+
2146
+ # The number of bid responses with an ad.
2147
+ # Corresponds to the JSON property `bidRate`
2148
+ # @return [Float]
2149
+ attr_accessor :bid_rate
2150
+
2151
+ # The number of bid requests sent to your bidder.
2152
+ # Corresponds to the JSON property `bidRequestRate`
2153
+ # @return [Float]
2154
+ attr_accessor :bid_request_rate
2155
+
2156
+ # Rate of various prefiltering statuses per match. Please refer to the callout-
2157
+ # status-codes.txt file for different statuses.
2158
+ # Corresponds to the JSON property `calloutStatusRate`
2159
+ # @return [Array<Object>]
2160
+ attr_accessor :callout_status_rate
2161
+
2162
+ # Average QPS for cookie matcher operations.
2163
+ # Corresponds to the JSON property `cookieMatcherStatusRate`
2164
+ # @return [Array<Object>]
2165
+ attr_accessor :cookie_matcher_status_rate
2166
+
2167
+ # Rate of ads with a given status. Please refer to the creative-status-codes.txt
2168
+ # file for different statuses.
2169
+ # Corresponds to the JSON property `creativeStatusRate`
2170
+ # @return [Array<Object>]
2171
+ attr_accessor :creative_status_rate
2172
+
2173
+ # The number of bid responses that were filtered due to a policy violation or
2174
+ # other errors.
2175
+ # Corresponds to the JSON property `filteredBidRate`
2176
+ # @return [Float]
2177
+ attr_accessor :filtered_bid_rate
2178
+
2179
+ # Average QPS for hosted match operations.
2180
+ # Corresponds to the JSON property `hostedMatchStatusRate`
2181
+ # @return [Array<Object>]
2182
+ attr_accessor :hosted_match_status_rate
2183
+
2184
+ # The number of potential queries based on your pretargeting settings.
2185
+ # Corresponds to the JSON property `inventoryMatchRate`
2186
+ # @return [Float]
2187
+ attr_accessor :inventory_match_rate
2188
+
2189
+ # Resource type.
2190
+ # Corresponds to the JSON property `kind`
2191
+ # @return [String]
2192
+ attr_accessor :kind
2193
+
2194
+ # The 50th percentile round trip latency(ms) as perceived from Google servers
2195
+ # for the duration period covered by the report.
2196
+ # Corresponds to the JSON property `latency50thPercentile`
2197
+ # @return [Float]
2198
+ attr_accessor :latency_50th_percentile
2199
+
2200
+ # The 85th percentile round trip latency(ms) as perceived from Google servers
2201
+ # for the duration period covered by the report.
2202
+ # Corresponds to the JSON property `latency85thPercentile`
2203
+ # @return [Float]
2204
+ attr_accessor :latency_85th_percentile
2205
+
2206
+ # The 95th percentile round trip latency(ms) as perceived from Google servers
2207
+ # for the duration period covered by the report.
2208
+ # Corresponds to the JSON property `latency95thPercentile`
2209
+ # @return [Float]
2210
+ attr_accessor :latency_95th_percentile
2211
+
2212
+ # Rate of various quota account statuses per quota check.
2213
+ # Corresponds to the JSON property `noQuotaInRegion`
2214
+ # @return [Float]
2215
+ attr_accessor :no_quota_in_region
2216
+
2217
+ # Rate of various quota account statuses per quota check.
2218
+ # Corresponds to the JSON property `outOfQuota`
2219
+ # @return [Float]
2220
+ attr_accessor :out_of_quota
2221
+
2222
+ # Average QPS for pixel match requests from clients.
2223
+ # Corresponds to the JSON property `pixelMatchRequests`
2224
+ # @return [Float]
2225
+ attr_accessor :pixel_match_requests
2226
+
2227
+ # Average QPS for pixel match responses from clients.
2228
+ # Corresponds to the JSON property `pixelMatchResponses`
2229
+ # @return [Float]
2230
+ attr_accessor :pixel_match_responses
2231
+
2232
+ # The configured quota limits for this account.
2233
+ # Corresponds to the JSON property `quotaConfiguredLimit`
2234
+ # @return [Float]
2235
+ attr_accessor :quota_configured_limit
2236
+
2237
+ # The throttled quota limits for this account.
2238
+ # Corresponds to the JSON property `quotaThrottledLimit`
2239
+ # @return [Float]
2240
+ attr_accessor :quota_throttled_limit
2241
+
2242
+ # The trading location of this data.
2243
+ # Corresponds to the JSON property `region`
2244
+ # @return [String]
2245
+ attr_accessor :region
2246
+
2247
+ # The number of properly formed bid responses received by our servers within the
2248
+ # deadline.
2249
+ # Corresponds to the JSON property `successfulRequestRate`
2250
+ # @return [Float]
2251
+ attr_accessor :successful_request_rate
2252
+
2253
+ # The unix timestamp of the starting time of this performance data.
2254
+ # Corresponds to the JSON property `timestamp`
2255
+ # @return [String]
2256
+ attr_accessor :timestamp
2257
+
2258
+ # The number of bid responses that were unsuccessful due to timeouts, incorrect
2259
+ # formatting, etc.
2260
+ # Corresponds to the JSON property `unsuccessfulRequestRate`
2261
+ # @return [Float]
2262
+ attr_accessor :unsuccessful_request_rate
2263
+
2264
+ def initialize(**args)
2265
+ update!(**args)
2266
+ end
2267
+
2268
+ # Update properties of this object
2269
+ def update!(**args)
2270
+ @bid_rate = args[:bid_rate] if args.key?(:bid_rate)
2271
+ @bid_request_rate = args[:bid_request_rate] if args.key?(:bid_request_rate)
2272
+ @callout_status_rate = args[:callout_status_rate] if args.key?(:callout_status_rate)
2273
+ @cookie_matcher_status_rate = args[:cookie_matcher_status_rate] if args.key?(:cookie_matcher_status_rate)
2274
+ @creative_status_rate = args[:creative_status_rate] if args.key?(:creative_status_rate)
2275
+ @filtered_bid_rate = args[:filtered_bid_rate] if args.key?(:filtered_bid_rate)
2276
+ @hosted_match_status_rate = args[:hosted_match_status_rate] if args.key?(:hosted_match_status_rate)
2277
+ @inventory_match_rate = args[:inventory_match_rate] if args.key?(:inventory_match_rate)
2278
+ @kind = args[:kind] if args.key?(:kind)
2279
+ @latency_50th_percentile = args[:latency_50th_percentile] if args.key?(:latency_50th_percentile)
2280
+ @latency_85th_percentile = args[:latency_85th_percentile] if args.key?(:latency_85th_percentile)
2281
+ @latency_95th_percentile = args[:latency_95th_percentile] if args.key?(:latency_95th_percentile)
2282
+ @no_quota_in_region = args[:no_quota_in_region] if args.key?(:no_quota_in_region)
2283
+ @out_of_quota = args[:out_of_quota] if args.key?(:out_of_quota)
2284
+ @pixel_match_requests = args[:pixel_match_requests] if args.key?(:pixel_match_requests)
2285
+ @pixel_match_responses = args[:pixel_match_responses] if args.key?(:pixel_match_responses)
2286
+ @quota_configured_limit = args[:quota_configured_limit] if args.key?(:quota_configured_limit)
2287
+ @quota_throttled_limit = args[:quota_throttled_limit] if args.key?(:quota_throttled_limit)
2288
+ @region = args[:region] if args.key?(:region)
2289
+ @successful_request_rate = args[:successful_request_rate] if args.key?(:successful_request_rate)
2290
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
2291
+ @unsuccessful_request_rate = args[:unsuccessful_request_rate] if args.key?(:unsuccessful_request_rate)
2292
+ end
2293
+ end
2294
+
2295
+ # The configuration data for an Ad Exchange performance report list.
2296
+ class PerformanceReportList
2297
+ include Google::Apis::Core::Hashable
2298
+
2299
+ # Resource type.
2300
+ # Corresponds to the JSON property `kind`
2301
+ # @return [String]
2302
+ attr_accessor :kind
2303
+
2304
+ # A list of performance reports relevant for the account.
2305
+ # Corresponds to the JSON property `performanceReport`
2306
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PerformanceReport>]
2307
+ attr_accessor :performance_report
2308
+
2309
+ def initialize(**args)
2310
+ update!(**args)
2311
+ end
2312
+
2313
+ # Update properties of this object
2314
+ def update!(**args)
2315
+ @kind = args[:kind] if args.key?(:kind)
2316
+ @performance_report = args[:performance_report] if args.key?(:performance_report)
2317
+ end
2318
+ end
2319
+
2320
+ #
2321
+ class PretargetingConfig
2322
+ include Google::Apis::Core::Hashable
2323
+
2324
+ # The id for billing purposes, provided for reference. Leave this field blank
2325
+ # for insert requests; the id will be generated automatically.
2326
+ # Corresponds to the JSON property `billingId`
2327
+ # @return [String]
2328
+ attr_accessor :billing_id
2329
+
2330
+ # The config id; generated automatically. Leave this field blank for insert
2331
+ # requests.
2332
+ # Corresponds to the JSON property `configId`
2333
+ # @return [String]
2334
+ attr_accessor :config_id
2335
+
2336
+ # The name of the config. Must be unique. Required for all requests.
2337
+ # Corresponds to the JSON property `configName`
2338
+ # @return [String]
2339
+ attr_accessor :config_name
2340
+
2341
+ # List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
2342
+ # PRETARGETING_CREATIVE_TYPE_VIDEO.
2343
+ # Corresponds to the JSON property `creativeType`
2344
+ # @return [Array<String>]
2345
+ attr_accessor :creative_type
2346
+
2347
+ # Requests which allow one of these (width, height) pairs will match. All pairs
2348
+ # must be supported ad dimensions.
2349
+ # Corresponds to the JSON property `dimensions`
2350
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Dimension>]
2351
+ attr_accessor :dimensions
2352
+
2353
+ # Requests with any of these content labels will not match. Values are from
2354
+ # content-labels.txt in the downloadable files section.
2355
+ # Corresponds to the JSON property `excludedContentLabels`
2356
+ # @return [Array<String>]
2357
+ attr_accessor :excluded_content_labels
2358
+
2359
+ # Requests containing any of these geo criteria ids will not match.
2360
+ # Corresponds to the JSON property `excludedGeoCriteriaIds`
2361
+ # @return [Array<String>]
2362
+ attr_accessor :excluded_geo_criteria_ids
2363
+
2364
+ # Requests containing any of these placements will not match.
2365
+ # Corresponds to the JSON property `excludedPlacements`
2366
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::ExcludedPlacement>]
2367
+ attr_accessor :excluded_placements
2368
+
2369
+ # Requests containing any of these users list ids will not match.
2370
+ # Corresponds to the JSON property `excludedUserLists`
2371
+ # @return [Array<String>]
2372
+ attr_accessor :excluded_user_lists
2373
+
2374
+ # Requests containing any of these vertical ids will not match. Values are from
2375
+ # the publisher-verticals.txt file in the downloadable files section.
2376
+ # Corresponds to the JSON property `excludedVerticals`
2377
+ # @return [Array<String>]
2378
+ attr_accessor :excluded_verticals
2379
+
2380
+ # Requests containing any of these geo criteria ids will match.
2381
+ # Corresponds to the JSON property `geoCriteriaIds`
2382
+ # @return [Array<String>]
2383
+ attr_accessor :geo_criteria_ids
2384
+
2385
+ # Whether this config is active. Required for all requests.
2386
+ # Corresponds to the JSON property `isActive`
2387
+ # @return [Boolean]
2388
+ attr_accessor :is_active
2389
+ alias_method :is_active?, :is_active
2390
+
2391
+ # The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
2392
+ # Corresponds to the JSON property `kind`
2393
+ # @return [String]
2394
+ attr_accessor :kind
2395
+
2396
+ # Request containing any of these language codes will match.
2397
+ # Corresponds to the JSON property `languages`
2398
+ # @return [Array<String>]
2399
+ attr_accessor :languages
2400
+
2401
+ # Requests where the predicted viewability is below the specified decile will
2402
+ # not match. E.g. if the buyer sets this value to 5, requests from slots where
2403
+ # the predicted viewability is below 50% will not match. If the predicted
2404
+ # viewability is unknown this field will be ignored.
2405
+ # Corresponds to the JSON property `minimumViewabilityDecile`
2406
+ # @return [Fixnum]
2407
+ attr_accessor :minimum_viewability_decile
2408
+
2409
+ # Requests containing any of these mobile carrier ids will match. Values are
2410
+ # from mobile-carriers.csv in the downloadable files section.
2411
+ # Corresponds to the JSON property `mobileCarriers`
2412
+ # @return [Array<String>]
2413
+ attr_accessor :mobile_carriers
2414
+
2415
+ # Requests containing any of these mobile device ids will match. Values are from
2416
+ # mobile-devices.csv in the downloadable files section.
2417
+ # Corresponds to the JSON property `mobileDevices`
2418
+ # @return [Array<String>]
2419
+ attr_accessor :mobile_devices
2420
+
2421
+ # Requests containing any of these mobile operating system version ids will
2422
+ # match. Values are from mobile-os.csv in the downloadable files section.
2423
+ # Corresponds to the JSON property `mobileOperatingSystemVersions`
2424
+ # @return [Array<String>]
2425
+ attr_accessor :mobile_operating_system_versions
2426
+
2427
+ # Requests containing any of these placements will match.
2428
+ # Corresponds to the JSON property `placements`
2429
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::Placement>]
2430
+ attr_accessor :placements
2431
+
2432
+ # Requests matching any of these platforms will match. Possible values are
2433
+ # PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
2434
+ # PRETARGETING_PLATFORM_TABLET.
2435
+ # Corresponds to the JSON property `platforms`
2436
+ # @return [Array<String>]
2437
+ attr_accessor :platforms
2438
+
2439
+ # Creative attributes should be declared here if all creatives corresponding to
2440
+ # this pretargeting configuration have that creative attribute. Values are from
2441
+ # pretargetable-creative-attributes.txt in the downloadable files section.
2442
+ # Corresponds to the JSON property `supportedCreativeAttributes`
2443
+ # @return [Array<String>]
2444
+ attr_accessor :supported_creative_attributes
2445
+
2446
+ # Requests containing the specified type of user data will match. Possible
2447
+ # values are HOSTED_MATCH_DATA, which means the request is cookie-targetable and
2448
+ # has a match in the buyer's hosted match table, and COOKIE_OR_IDFA, which means
2449
+ # the request has either a targetable cookie or an iOS IDFA.
2450
+ # Corresponds to the JSON property `userIdentifierDataRequired`
2451
+ # @return [Array<String>]
2452
+ attr_accessor :user_identifier_data_required
2453
+
2454
+ # Requests containing any of these user list ids will match.
2455
+ # Corresponds to the JSON property `userLists`
2456
+ # @return [Array<String>]
2457
+ attr_accessor :user_lists
2458
+
2459
+ # Requests that allow any of these vendor ids will match. Values are from
2460
+ # vendors.txt in the downloadable files section.
2461
+ # Corresponds to the JSON property `vendorTypes`
2462
+ # @return [Array<String>]
2463
+ attr_accessor :vendor_types
2464
+
2465
+ # Requests containing any of these vertical ids will match.
2466
+ # Corresponds to the JSON property `verticals`
2467
+ # @return [Array<String>]
2468
+ attr_accessor :verticals
2469
+
2470
+ # Video requests satisfying any of these player size constraints will match.
2471
+ # Corresponds to the JSON property `videoPlayerSizes`
2472
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig::VideoPlayerSize>]
2473
+ attr_accessor :video_player_sizes
2474
+
2475
+ def initialize(**args)
2476
+ update!(**args)
2477
+ end
2478
+
2479
+ # Update properties of this object
2480
+ def update!(**args)
2481
+ @billing_id = args[:billing_id] if args.key?(:billing_id)
2482
+ @config_id = args[:config_id] if args.key?(:config_id)
2483
+ @config_name = args[:config_name] if args.key?(:config_name)
2484
+ @creative_type = args[:creative_type] if args.key?(:creative_type)
2485
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
2486
+ @excluded_content_labels = args[:excluded_content_labels] if args.key?(:excluded_content_labels)
2487
+ @excluded_geo_criteria_ids = args[:excluded_geo_criteria_ids] if args.key?(:excluded_geo_criteria_ids)
2488
+ @excluded_placements = args[:excluded_placements] if args.key?(:excluded_placements)
2489
+ @excluded_user_lists = args[:excluded_user_lists] if args.key?(:excluded_user_lists)
2490
+ @excluded_verticals = args[:excluded_verticals] if args.key?(:excluded_verticals)
2491
+ @geo_criteria_ids = args[:geo_criteria_ids] if args.key?(:geo_criteria_ids)
2492
+ @is_active = args[:is_active] if args.key?(:is_active)
2493
+ @kind = args[:kind] if args.key?(:kind)
2494
+ @languages = args[:languages] if args.key?(:languages)
2495
+ @minimum_viewability_decile = args[:minimum_viewability_decile] if args.key?(:minimum_viewability_decile)
2496
+ @mobile_carriers = args[:mobile_carriers] if args.key?(:mobile_carriers)
2497
+ @mobile_devices = args[:mobile_devices] if args.key?(:mobile_devices)
2498
+ @mobile_operating_system_versions = args[:mobile_operating_system_versions] if args.key?(:mobile_operating_system_versions)
2499
+ @placements = args[:placements] if args.key?(:placements)
2500
+ @platforms = args[:platforms] if args.key?(:platforms)
2501
+ @supported_creative_attributes = args[:supported_creative_attributes] if args.key?(:supported_creative_attributes)
2502
+ @user_identifier_data_required = args[:user_identifier_data_required] if args.key?(:user_identifier_data_required)
2503
+ @user_lists = args[:user_lists] if args.key?(:user_lists)
2504
+ @vendor_types = args[:vendor_types] if args.key?(:vendor_types)
2505
+ @verticals = args[:verticals] if args.key?(:verticals)
2506
+ @video_player_sizes = args[:video_player_sizes] if args.key?(:video_player_sizes)
2507
+ end
2508
+
2509
+ #
2510
+ class Dimension
2511
+ include Google::Apis::Core::Hashable
2512
+
2513
+ # Height in pixels.
2514
+ # Corresponds to the JSON property `height`
2515
+ # @return [String]
2516
+ attr_accessor :height
2517
+
2518
+ # Width in pixels.
2519
+ # Corresponds to the JSON property `width`
2520
+ # @return [String]
2521
+ attr_accessor :width
2522
+
2523
+ def initialize(**args)
2524
+ update!(**args)
2525
+ end
2526
+
2527
+ # Update properties of this object
2528
+ def update!(**args)
2529
+ @height = args[:height] if args.key?(:height)
2530
+ @width = args[:width] if args.key?(:width)
2531
+ end
2532
+ end
2533
+
2534
+ #
2535
+ class ExcludedPlacement
2536
+ include Google::Apis::Core::Hashable
2537
+
2538
+ # The value of the placement. Interpretation depends on the placement type, e.g.
2539
+ # URL for a site placement, channel name for a channel placement, app id for a
2540
+ # mobile app placement.
2541
+ # Corresponds to the JSON property `token`
2542
+ # @return [String]
2543
+ attr_accessor :token
2544
+
2545
+ # The type of the placement.
2546
+ # Corresponds to the JSON property `type`
2547
+ # @return [String]
2548
+ attr_accessor :type
2549
+
2550
+ def initialize(**args)
2551
+ update!(**args)
2552
+ end
2553
+
2554
+ # Update properties of this object
2555
+ def update!(**args)
2556
+ @token = args[:token] if args.key?(:token)
2557
+ @type = args[:type] if args.key?(:type)
2558
+ end
2559
+ end
2560
+
2561
+ #
2562
+ class Placement
2563
+ include Google::Apis::Core::Hashable
2564
+
2565
+ # The value of the placement. Interpretation depends on the placement type, e.g.
2566
+ # URL for a site placement, channel name for a channel placement, app id for a
2567
+ # mobile app placement.
2568
+ # Corresponds to the JSON property `token`
2569
+ # @return [String]
2570
+ attr_accessor :token
2571
+
2572
+ # The type of the placement.
2573
+ # Corresponds to the JSON property `type`
2574
+ # @return [String]
2575
+ attr_accessor :type
2576
+
2577
+ def initialize(**args)
2578
+ update!(**args)
2579
+ end
2580
+
2581
+ # Update properties of this object
2582
+ def update!(**args)
2583
+ @token = args[:token] if args.key?(:token)
2584
+ @type = args[:type] if args.key?(:type)
2585
+ end
2586
+ end
2587
+
2588
+ #
2589
+ class VideoPlayerSize
2590
+ include Google::Apis::Core::Hashable
2591
+
2592
+ # The type of aspect ratio. Leave this field blank to match all aspect ratios.
2593
+ # Corresponds to the JSON property `aspectRatio`
2594
+ # @return [String]
2595
+ attr_accessor :aspect_ratio
2596
+
2597
+ # The minimum player height in pixels. Leave this field blank to match any
2598
+ # player height.
2599
+ # Corresponds to the JSON property `minHeight`
2600
+ # @return [String]
2601
+ attr_accessor :min_height
2602
+
2603
+ # The minimum player width in pixels. Leave this field blank to match any player
2604
+ # width.
2605
+ # Corresponds to the JSON property `minWidth`
2606
+ # @return [String]
2607
+ attr_accessor :min_width
2608
+
2609
+ def initialize(**args)
2610
+ update!(**args)
2611
+ end
2612
+
2613
+ # Update properties of this object
2614
+ def update!(**args)
2615
+ @aspect_ratio = args[:aspect_ratio] if args.key?(:aspect_ratio)
2616
+ @min_height = args[:min_height] if args.key?(:min_height)
2617
+ @min_width = args[:min_width] if args.key?(:min_width)
2618
+ end
2619
+ end
2620
+ end
2621
+
2622
+ #
2623
+ class PretargetingConfigList
2624
+ include Google::Apis::Core::Hashable
2625
+
2626
+ # A list of pretargeting configs
2627
+ # Corresponds to the JSON property `items`
2628
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::PretargetingConfig>]
2629
+ attr_accessor :items
2630
+
2631
+ # Resource type.
2632
+ # Corresponds to the JSON property `kind`
2633
+ # @return [String]
2634
+ attr_accessor :kind
2635
+
2636
+ def initialize(**args)
2637
+ update!(**args)
2638
+ end
2639
+
2640
+ # Update properties of this object
2641
+ def update!(**args)
2642
+ @items = args[:items] if args.key?(:items)
2643
+ @kind = args[:kind] if args.key?(:kind)
2644
+ end
2645
+ end
2646
+
2647
+ #
2648
+ class Price
2649
+ include Google::Apis::Core::Hashable
2650
+
2651
+ # The price value in micros.
2652
+ # Corresponds to the JSON property `amountMicros`
2653
+ # @return [Float]
2654
+ attr_accessor :amount_micros
2655
+
2656
+ # The currency code for the price.
2657
+ # Corresponds to the JSON property `currencyCode`
2658
+ # @return [String]
2659
+ attr_accessor :currency_code
2660
+
2661
+ # In case of CPD deals, the expected CPM in micros.
2662
+ # Corresponds to the JSON property `expectedCpmMicros`
2663
+ # @return [Float]
2664
+ attr_accessor :expected_cpm_micros
2665
+
2666
+ # The pricing type for the deal/product.
2667
+ # Corresponds to the JSON property `pricingType`
2668
+ # @return [String]
2669
+ attr_accessor :pricing_type
2670
+
2671
+ def initialize(**args)
2672
+ update!(**args)
2673
+ end
2674
+
2675
+ # Update properties of this object
2676
+ def update!(**args)
2677
+ @amount_micros = args[:amount_micros] if args.key?(:amount_micros)
2678
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
2679
+ @expected_cpm_micros = args[:expected_cpm_micros] if args.key?(:expected_cpm_micros)
2680
+ @pricing_type = args[:pricing_type] if args.key?(:pricing_type)
2681
+ end
2682
+ end
2683
+
2684
+ # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an
2685
+ # product can become [0,1] deals. To check if there is a PricePerBuyer for a
2686
+ # particular buyer or buyer/advertiser pair, we look for the most specific
2687
+ # matching rule - we first look for a rule matching the buyer and advertiser,
2688
+ # next a rule with the buyer but an empty advertiser list, and otherwise look
2689
+ # for a matching rule where no buyer is set.
2690
+ class PricePerBuyer
2691
+ include Google::Apis::Core::Hashable
2692
+
2693
+ # Optional access type for this buyer.
2694
+ # Corresponds to the JSON property `auctionTier`
2695
+ # @return [String]
2696
+ attr_accessor :auction_tier
2697
+
2698
+ # The buyer who will pay this price. If unset, all buyers can pay this price (if
2699
+ # the advertisers match, and there's no more specific rule matching the buyer).
2700
+ # Corresponds to the JSON property `buyer`
2701
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2702
+ attr_accessor :buyer
2703
+
2704
+ # The specified price
2705
+ # Corresponds to the JSON property `price`
2706
+ # @return [Google::Apis::AdexchangebuyerV1_4::Price]
2707
+ attr_accessor :price
2708
+
2709
+ def initialize(**args)
2710
+ update!(**args)
2711
+ end
2712
+
2713
+ # Update properties of this object
2714
+ def update!(**args)
2715
+ @auction_tier = args[:auction_tier] if args.key?(:auction_tier)
2716
+ @buyer = args[:buyer] if args.key?(:buyer)
2717
+ @price = args[:price] if args.key?(:price)
2718
+ end
2719
+ end
2720
+
2721
+ #
2722
+ class PrivateData
2723
+ include Google::Apis::Core::Hashable
2724
+
2725
+ #
2726
+ # Corresponds to the JSON property `referenceId`
2727
+ # @return [String]
2728
+ attr_accessor :reference_id
2729
+
2730
+ #
2731
+ # Corresponds to the JSON property `referencePayload`
2732
+ # @return [String]
2733
+ attr_accessor :reference_payload
2734
+
2735
+ def initialize(**args)
2736
+ update!(**args)
2737
+ end
2738
+
2739
+ # Update properties of this object
2740
+ def update!(**args)
2741
+ @reference_id = args[:reference_id] if args.key?(:reference_id)
2742
+ @reference_payload = args[:reference_payload] if args.key?(:reference_payload)
2743
+ end
2744
+ end
2745
+
2746
+ # A product is segment of inventory that a seller wishes to sell. It is
2747
+ # associated with certain terms and targeting information which helps buyer know
2748
+ # more about the inventory. Each field in a product can have one of the
2749
+ # following setting:
2750
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
2751
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
2752
+ # field. (updatable) - The field is updatable at all times by either buyer or
2753
+ # the seller.
2754
+ class Product
2755
+ include Google::Apis::Core::Hashable
2756
+
2757
+ # Creation time in ms. since epoch (readonly)
2758
+ # Corresponds to the JSON property `creationTimeMs`
2759
+ # @return [String]
2760
+ attr_accessor :creation_time_ms
2761
+
2762
+ # Optional contact information for the creator of this product. (buyer-readonly)
2763
+ # Corresponds to the JSON property `creatorContacts`
2764
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2765
+ attr_accessor :creator_contacts
2766
+
2767
+ # The set of fields around delivery control that are interesting for a buyer to
2768
+ # see but are non-negotiable. These are set by the publisher. This message is
2769
+ # assigned an id of 100 since some day we would want to model this as a protobuf
2770
+ # extension.
2771
+ # Corresponds to the JSON property `deliveryControl`
2772
+ # @return [Google::Apis::AdexchangebuyerV1_4::DeliveryControl]
2773
+ attr_accessor :delivery_control
2774
+
2775
+ # The proposed end time for the deal (ms since epoch) (buyer-readonly)
2776
+ # Corresponds to the JSON property `flightEndTimeMs`
2777
+ # @return [String]
2778
+ attr_accessor :flight_end_time_ms
2779
+
2780
+ # Inventory availability dates. (times are in ms since epoch) The granularity is
2781
+ # generally in the order of seconds. (buyer-readonly)
2782
+ # Corresponds to the JSON property `flightStartTimeMs`
2783
+ # @return [String]
2784
+ attr_accessor :flight_start_time_ms
2785
+
2786
+ # If the creator has already signed off on the product, then the buyer can
2787
+ # finalize the deal by accepting the product as is. When copying to a proposal,
2788
+ # if any of the terms are changed, then auto_finalize is automatically set to
2789
+ # false.
2790
+ # Corresponds to the JSON property `hasCreatorSignedOff`
2791
+ # @return [Boolean]
2792
+ attr_accessor :has_creator_signed_off
2793
+ alias_method :has_creator_signed_off?, :has_creator_signed_off
2794
+
2795
+ # What exchange will provide this inventory (readonly, except on create).
2796
+ # Corresponds to the JSON property `inventorySource`
2797
+ # @return [String]
2798
+ attr_accessor :inventory_source
2799
+
2800
+ # Identifies what kind of resource this is. Value: the fixed string "
2801
+ # adexchangebuyer#product".
2802
+ # Corresponds to the JSON property `kind`
2803
+ # @return [String]
2804
+ attr_accessor :kind
2805
+
2806
+ # Optional List of labels for the product (optional, buyer-readonly).
2807
+ # Corresponds to the JSON property `labels`
2808
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
2809
+ attr_accessor :labels
2810
+
2811
+ # Time of last update in ms. since epoch (readonly)
2812
+ # Corresponds to the JSON property `lastUpdateTimeMs`
2813
+ # @return [String]
2814
+ attr_accessor :last_update_time_ms
2815
+
2816
+ # Optional legacy offer id if this offer is a preferred deal offer.
2817
+ # Corresponds to the JSON property `legacyOfferId`
2818
+ # @return [String]
2819
+ attr_accessor :legacy_offer_id
2820
+
2821
+ # Marketplace publisher profile Id. This Id differs from the regular
2822
+ # publisher_profile_id in that 1. This is a new id, the old Id will be
2823
+ # deprecated in 2017. 2. This id uniquely identifies a publisher profile by
2824
+ # itself.
2825
+ # Corresponds to the JSON property `marketplacePublisherProfileId`
2826
+ # @return [String]
2827
+ attr_accessor :marketplace_publisher_profile_id
2828
+
2829
+ # The name for this product as set by the seller. (buyer-readonly)
2830
+ # Corresponds to the JSON property `name`
2831
+ # @return [String]
2832
+ attr_accessor :name
2833
+
2834
+ # Optional private auction id if this offer is a private auction offer.
2835
+ # Corresponds to the JSON property `privateAuctionId`
2836
+ # @return [String]
2837
+ attr_accessor :private_auction_id
2838
+
2839
+ # The unique id for the product (readonly)
2840
+ # Corresponds to the JSON property `productId`
2841
+ # @return [String]
2842
+ attr_accessor :product_id
2843
+
2844
+ # Id of the publisher profile for a given seller. A (seller.account_id,
2845
+ # publisher_profile_id) pair uniquely identifies a publisher profile. Buyers can
2846
+ # call the PublisherProfiles::List endpoint to get a list of publisher profiles
2847
+ # for a given seller.
2848
+ # Corresponds to the JSON property `publisherProfileId`
2849
+ # @return [String]
2850
+ attr_accessor :publisher_profile_id
2851
+
2852
+ # This message carries publisher provided forecasting information.
2853
+ # Corresponds to the JSON property `publisherProvidedForecast`
2854
+ # @return [Google::Apis::AdexchangebuyerV1_4::PublisherProvidedForecast]
2855
+ attr_accessor :publisher_provided_forecast
2856
+
2857
+ # The revision number of the product. (readonly)
2858
+ # Corresponds to the JSON property `revisionNumber`
2859
+ # @return [String]
2860
+ attr_accessor :revision_number
2861
+
2862
+ # Information about the seller that created this product (readonly, except on
2863
+ # create)
2864
+ # Corresponds to the JSON property `seller`
2865
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
2866
+ attr_accessor :seller
2867
+
2868
+ # Targeting that is shared between the buyer and the seller. Each targeting
2869
+ # criteria has a specified key and for each key there is a list of inclusion
2870
+ # value or exclusion values. (buyer-readonly)
2871
+ # Corresponds to the JSON property `sharedTargetings`
2872
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::SharedTargeting>]
2873
+ attr_accessor :shared_targetings
2874
+
2875
+ # The state of the product. (buyer-readonly)
2876
+ # Corresponds to the JSON property `state`
2877
+ # @return [String]
2878
+ attr_accessor :state
2879
+
2880
+ # The syndication product associated with the deal. (readonly, except on create)
2881
+ # Corresponds to the JSON property `syndicationProduct`
2882
+ # @return [String]
2883
+ attr_accessor :syndication_product
2884
+
2885
+ # The negotiable terms of the deal (buyer-readonly)
2886
+ # Corresponds to the JSON property `terms`
2887
+ # @return [Google::Apis::AdexchangebuyerV1_4::DealTerms]
2888
+ attr_accessor :terms
2889
+
2890
+ # The web property code for the seller. This field is meant to be copied over as
2891
+ # is when creating deals.
2892
+ # Corresponds to the JSON property `webPropertyCode`
2893
+ # @return [String]
2894
+ attr_accessor :web_property_code
2895
+
2896
+ def initialize(**args)
2897
+ update!(**args)
2898
+ end
2899
+
2900
+ # Update properties of this object
2901
+ def update!(**args)
2902
+ @creation_time_ms = args[:creation_time_ms] if args.key?(:creation_time_ms)
2903
+ @creator_contacts = args[:creator_contacts] if args.key?(:creator_contacts)
2904
+ @delivery_control = args[:delivery_control] if args.key?(:delivery_control)
2905
+ @flight_end_time_ms = args[:flight_end_time_ms] if args.key?(:flight_end_time_ms)
2906
+ @flight_start_time_ms = args[:flight_start_time_ms] if args.key?(:flight_start_time_ms)
2907
+ @has_creator_signed_off = args[:has_creator_signed_off] if args.key?(:has_creator_signed_off)
2908
+ @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
2909
+ @kind = args[:kind] if args.key?(:kind)
2910
+ @labels = args[:labels] if args.key?(:labels)
2911
+ @last_update_time_ms = args[:last_update_time_ms] if args.key?(:last_update_time_ms)
2912
+ @legacy_offer_id = args[:legacy_offer_id] if args.key?(:legacy_offer_id)
2913
+ @marketplace_publisher_profile_id = args[:marketplace_publisher_profile_id] if args.key?(:marketplace_publisher_profile_id)
2914
+ @name = args[:name] if args.key?(:name)
2915
+ @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
2916
+ @product_id = args[:product_id] if args.key?(:product_id)
2917
+ @publisher_profile_id = args[:publisher_profile_id] if args.key?(:publisher_profile_id)
2918
+ @publisher_provided_forecast = args[:publisher_provided_forecast] if args.key?(:publisher_provided_forecast)
2919
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
2920
+ @seller = args[:seller] if args.key?(:seller)
2921
+ @shared_targetings = args[:shared_targetings] if args.key?(:shared_targetings)
2922
+ @state = args[:state] if args.key?(:state)
2923
+ @syndication_product = args[:syndication_product] if args.key?(:syndication_product)
2924
+ @terms = args[:terms] if args.key?(:terms)
2925
+ @web_property_code = args[:web_property_code] if args.key?(:web_property_code)
2926
+ end
2927
+ end
2928
+
2929
+ # Represents a proposal in the marketplace. A proposal is the unit of
2930
+ # negotiation between a seller and a buyer and contains deals which are served.
2931
+ # Each field in a proposal can have one of the following setting:
2932
+ # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only
2933
+ # the seller can set this field. (seller-readonly) - Only the buyer can set this
2934
+ # field. (updatable) - The field is updatable at all times by either buyer or
2935
+ # the seller.
2936
+ class Proposal
2937
+ include Google::Apis::Core::Hashable
2938
+
2939
+ # Reference to the buyer that will get billed for this proposal. (readonly)
2940
+ # Corresponds to the JSON property `billedBuyer`
2941
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2942
+ attr_accessor :billed_buyer
2943
+
2944
+ # Reference to the buyer on the proposal. (readonly, except on create)
2945
+ # Corresponds to the JSON property `buyer`
2946
+ # @return [Google::Apis::AdexchangebuyerV1_4::Buyer]
2947
+ attr_accessor :buyer
2948
+
2949
+ # Optional contact information of the buyer. (seller-readonly)
2950
+ # Corresponds to the JSON property `buyerContacts`
2951
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
2952
+ attr_accessor :buyer_contacts
2953
+
2954
+ # Private data for buyer. (hidden from seller).
2955
+ # Corresponds to the JSON property `buyerPrivateData`
2956
+ # @return [Google::Apis::AdexchangebuyerV1_4::PrivateData]
2957
+ attr_accessor :buyer_private_data
2958
+
2959
+ # IDs of DBM advertisers permission to this proposal.
2960
+ # Corresponds to the JSON property `dbmAdvertiserIds`
2961
+ # @return [Array<String>]
2962
+ attr_accessor :dbm_advertiser_ids
2963
+
2964
+ # When an proposal is in an accepted state, indicates whether the buyer has
2965
+ # signed off. Once both sides have signed off on a deal, the proposal can be
2966
+ # finalized by the seller. (seller-readonly)
2967
+ # Corresponds to the JSON property `hasBuyerSignedOff`
2968
+ # @return [Boolean]
2969
+ attr_accessor :has_buyer_signed_off
2970
+ alias_method :has_buyer_signed_off?, :has_buyer_signed_off
2971
+
2972
+ # When an proposal is in an accepted state, indicates whether the buyer has
2973
+ # signed off Once both sides have signed off on a deal, the proposal can be
2974
+ # finalized by the seller. (buyer-readonly)
2975
+ # Corresponds to the JSON property `hasSellerSignedOff`
2976
+ # @return [Boolean]
2977
+ attr_accessor :has_seller_signed_off
2978
+ alias_method :has_seller_signed_off?, :has_seller_signed_off
2979
+
2980
+ # What exchange will provide this inventory (readonly, except on create).
2981
+ # Corresponds to the JSON property `inventorySource`
2982
+ # @return [String]
2983
+ attr_accessor :inventory_source
2984
+
2985
+ # True if the proposal is being renegotiated (readonly).
2986
+ # Corresponds to the JSON property `isRenegotiating`
2987
+ # @return [Boolean]
2988
+ attr_accessor :is_renegotiating
2989
+ alias_method :is_renegotiating?, :is_renegotiating
2990
+
2991
+ # True, if the buyside inventory setup is complete for this proposal. (readonly,
2992
+ # except via OrderSetupCompleted action)
2993
+ # Corresponds to the JSON property `isSetupComplete`
2994
+ # @return [Boolean]
2995
+ attr_accessor :is_setup_complete
2996
+ alias_method :is_setup_complete?, :is_setup_complete
2997
+
2998
+ # Identifies what kind of resource this is. Value: the fixed string "
2999
+ # adexchangebuyer#proposal".
3000
+ # Corresponds to the JSON property `kind`
3001
+ # @return [String]
3002
+ attr_accessor :kind
3003
+
3004
+ # List of labels associated with the proposal. (readonly)
3005
+ # Corresponds to the JSON property `labels`
3006
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::MarketplaceLabel>]
3007
+ attr_accessor :labels
3008
+
3009
+ # The role of the last user that either updated the proposal or left a comment. (
3010
+ # readonly)
3011
+ # Corresponds to the JSON property `lastUpdaterOrCommentorRole`
3012
+ # @return [String]
3013
+ attr_accessor :last_updater_or_commentor_role
3014
+
3015
+ # The name for the proposal (updatable)
3016
+ # Corresponds to the JSON property `name`
3017
+ # @return [String]
3018
+ attr_accessor :name
3019
+
3020
+ # Optional negotiation id if this proposal is a preferred deal proposal.
3021
+ # Corresponds to the JSON property `negotiationId`
3022
+ # @return [String]
3023
+ attr_accessor :negotiation_id
3024
+
3025
+ # Indicates whether the buyer/seller created the proposal.(readonly)
3026
+ # Corresponds to the JSON property `originatorRole`
3027
+ # @return [String]
3028
+ attr_accessor :originator_role
3029
+
3030
+ # Optional private auction id if this proposal is a private auction proposal.
3031
+ # Corresponds to the JSON property `privateAuctionId`
3032
+ # @return [String]
3033
+ attr_accessor :private_auction_id
3034
+
3035
+ # The unique id of the proposal. (readonly).
3036
+ # Corresponds to the JSON property `proposalId`
3037
+ # @return [String]
3038
+ attr_accessor :proposal_id
3039
+
3040
+ # The current state of the proposal. (readonly)
3041
+ # Corresponds to the JSON property `proposalState`
3042
+ # @return [String]
3043
+ attr_accessor :proposal_state
3044
+
3045
+ # The revision number for the proposal (readonly).
3046
+ # Corresponds to the JSON property `revisionNumber`
3047
+ # @return [String]
3048
+ attr_accessor :revision_number
3049
+
3050
+ # The time (ms since epoch) when the proposal was last revised (readonly).
3051
+ # Corresponds to the JSON property `revisionTimeMs`
3052
+ # @return [String]
3053
+ attr_accessor :revision_time_ms
3054
+
3055
+ # Reference to the seller on the proposal. (readonly, except on create)
3056
+ # Corresponds to the JSON property `seller`
3057
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
3058
+ attr_accessor :seller
3059
+
3060
+ # Optional contact information of the seller (buyer-readonly).
3061
+ # Corresponds to the JSON property `sellerContacts`
3062
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::ContactInformation>]
3063
+ attr_accessor :seller_contacts
3064
+
3065
+ def initialize(**args)
3066
+ update!(**args)
3067
+ end
3068
+
3069
+ # Update properties of this object
3070
+ def update!(**args)
3071
+ @billed_buyer = args[:billed_buyer] if args.key?(:billed_buyer)
3072
+ @buyer = args[:buyer] if args.key?(:buyer)
3073
+ @buyer_contacts = args[:buyer_contacts] if args.key?(:buyer_contacts)
3074
+ @buyer_private_data = args[:buyer_private_data] if args.key?(:buyer_private_data)
3075
+ @dbm_advertiser_ids = args[:dbm_advertiser_ids] if args.key?(:dbm_advertiser_ids)
3076
+ @has_buyer_signed_off = args[:has_buyer_signed_off] if args.key?(:has_buyer_signed_off)
3077
+ @has_seller_signed_off = args[:has_seller_signed_off] if args.key?(:has_seller_signed_off)
3078
+ @inventory_source = args[:inventory_source] if args.key?(:inventory_source)
3079
+ @is_renegotiating = args[:is_renegotiating] if args.key?(:is_renegotiating)
3080
+ @is_setup_complete = args[:is_setup_complete] if args.key?(:is_setup_complete)
3081
+ @kind = args[:kind] if args.key?(:kind)
3082
+ @labels = args[:labels] if args.key?(:labels)
3083
+ @last_updater_or_commentor_role = args[:last_updater_or_commentor_role] if args.key?(:last_updater_or_commentor_role)
3084
+ @name = args[:name] if args.key?(:name)
3085
+ @negotiation_id = args[:negotiation_id] if args.key?(:negotiation_id)
3086
+ @originator_role = args[:originator_role] if args.key?(:originator_role)
3087
+ @private_auction_id = args[:private_auction_id] if args.key?(:private_auction_id)
3088
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
3089
+ @proposal_state = args[:proposal_state] if args.key?(:proposal_state)
3090
+ @revision_number = args[:revision_number] if args.key?(:revision_number)
3091
+ @revision_time_ms = args[:revision_time_ms] if args.key?(:revision_time_ms)
3092
+ @seller = args[:seller] if args.key?(:seller)
3093
+ @seller_contacts = args[:seller_contacts] if args.key?(:seller_contacts)
3094
+ end
3095
+ end
3096
+
3097
+ #
3098
+ class PublisherProfileApiProto
3099
+ include Google::Apis::Core::Hashable
3100
+
3101
+ # The account id of the seller.
3102
+ # Corresponds to the JSON property `accountId`
3103
+ # @return [String]
3104
+ attr_accessor :account_id
3105
+
3106
+ # Publisher provided info on its audience.
3107
+ # Corresponds to the JSON property `audience`
3108
+ # @return [String]
3109
+ attr_accessor :audience
3110
+
3111
+ # A pitch statement for the buyer
3112
+ # Corresponds to the JSON property `buyerPitchStatement`
3113
+ # @return [String]
3114
+ attr_accessor :buyer_pitch_statement
3115
+
3116
+ # Direct contact for the publisher profile.
3117
+ # Corresponds to the JSON property `directContact`
3118
+ # @return [String]
3119
+ attr_accessor :direct_contact
3120
+
3121
+ # Exchange where this publisher profile is from. E.g. AdX, Rubicon etc...
3122
+ # Corresponds to the JSON property `exchange`
3123
+ # @return [String]
3124
+ attr_accessor :exchange
3125
+
3126
+ # Link to publisher's Google+ page.
3127
+ # Corresponds to the JSON property `googlePlusLink`
3128
+ # @return [String]
3129
+ attr_accessor :google_plus_link
3130
+
3131
+ # True, if this is the parent profile, which represents all domains owned by the
3132
+ # publisher.
3133
+ # Corresponds to the JSON property `isParent`
3134
+ # @return [Boolean]
3135
+ attr_accessor :is_parent
3136
+ alias_method :is_parent?, :is_parent
3137
+
3138
+ # True, if this profile is published. Deprecated for state.
3139
+ # Corresponds to the JSON property `isPublished`
3140
+ # @return [Boolean]
3141
+ attr_accessor :is_published
3142
+ alias_method :is_published?, :is_published
3143
+
3144
+ # Identifies what kind of resource this is. Value: the fixed string "
3145
+ # adexchangebuyer#publisherProfileApiProto".
3146
+ # Corresponds to the JSON property `kind`
3147
+ # @return [String]
3148
+ attr_accessor :kind
3149
+
3150
+ # The url to the logo for the publisher.
3151
+ # Corresponds to the JSON property `logoUrl`
3152
+ # @return [String]
3153
+ attr_accessor :logo_url
3154
+
3155
+ # The url for additional marketing and sales materials.
3156
+ # Corresponds to the JSON property `mediaKitLink`
3157
+ # @return [String]
3158
+ attr_accessor :media_kit_link
3159
+
3160
+ #
3161
+ # Corresponds to the JSON property `name`
3162
+ # @return [String]
3163
+ attr_accessor :name
3164
+
3165
+ # Publisher provided overview.
3166
+ # Corresponds to the JSON property `overview`
3167
+ # @return [String]
3168
+ attr_accessor :overview
3169
+
3170
+ # The pair of (seller.account_id, profile_id) uniquely identifies a publisher
3171
+ # profile for a given publisher.
3172
+ # Corresponds to the JSON property `profileId`
3173
+ # @return [Fixnum]
3174
+ attr_accessor :profile_id
3175
+
3176
+ # Programmatic contact for the publisher profile.
3177
+ # Corresponds to the JSON property `programmaticContact`
3178
+ # @return [String]
3179
+ attr_accessor :programmatic_contact
3180
+
3181
+ # The list of domains represented in this publisher profile. Empty if this is a
3182
+ # parent profile.
3183
+ # Corresponds to the JSON property `publisherDomains`
3184
+ # @return [Array<String>]
3185
+ attr_accessor :publisher_domains
3186
+
3187
+ # Unique Id for publisher profile.
3188
+ # Corresponds to the JSON property `publisherProfileId`
3189
+ # @return [String]
3190
+ attr_accessor :publisher_profile_id
3191
+
3192
+ # This message carries publisher provided forecasting information.
3193
+ # Corresponds to the JSON property `publisherProvidedForecast`
3194
+ # @return [Google::Apis::AdexchangebuyerV1_4::PublisherProvidedForecast]
3195
+ attr_accessor :publisher_provided_forecast
3196
+
3197
+ # Link to publisher rate card
3198
+ # Corresponds to the JSON property `rateCardInfoLink`
3199
+ # @return [String]
3200
+ attr_accessor :rate_card_info_link
3201
+
3202
+ # Link for a sample content page.
3203
+ # Corresponds to the JSON property `samplePageLink`
3204
+ # @return [String]
3205
+ attr_accessor :sample_page_link
3206
+
3207
+ # Seller of the publisher profile.
3208
+ # Corresponds to the JSON property `seller`
3209
+ # @return [Google::Apis::AdexchangebuyerV1_4::Seller]
3210
+ attr_accessor :seller
3211
+
3212
+ # State of the publisher profile.
3213
+ # Corresponds to the JSON property `state`
3214
+ # @return [String]
3215
+ attr_accessor :state
3216
+
3217
+ # Publisher provided key metrics and rankings.
3218
+ # Corresponds to the JSON property `topHeadlines`
3219
+ # @return [Array<String>]
3220
+ attr_accessor :top_headlines
3221
+
3222
+ def initialize(**args)
3223
+ update!(**args)
3224
+ end
3225
+
3226
+ # Update properties of this object
3227
+ def update!(**args)
3228
+ @account_id = args[:account_id] if args.key?(:account_id)
3229
+ @audience = args[:audience] if args.key?(:audience)
3230
+ @buyer_pitch_statement = args[:buyer_pitch_statement] if args.key?(:buyer_pitch_statement)
3231
+ @direct_contact = args[:direct_contact] if args.key?(:direct_contact)
3232
+ @exchange = args[:exchange] if args.key?(:exchange)
3233
+ @google_plus_link = args[:google_plus_link] if args.key?(:google_plus_link)
3234
+ @is_parent = args[:is_parent] if args.key?(:is_parent)
3235
+ @is_published = args[:is_published] if args.key?(:is_published)
3236
+ @kind = args[:kind] if args.key?(:kind)
3237
+ @logo_url = args[:logo_url] if args.key?(:logo_url)
3238
+ @media_kit_link = args[:media_kit_link] if args.key?(:media_kit_link)
3239
+ @name = args[:name] if args.key?(:name)
3240
+ @overview = args[:overview] if args.key?(:overview)
3241
+ @profile_id = args[:profile_id] if args.key?(:profile_id)
3242
+ @programmatic_contact = args[:programmatic_contact] if args.key?(:programmatic_contact)
3243
+ @publisher_domains = args[:publisher_domains] if args.key?(:publisher_domains)
3244
+ @publisher_profile_id = args[:publisher_profile_id] if args.key?(:publisher_profile_id)
3245
+ @publisher_provided_forecast = args[:publisher_provided_forecast] if args.key?(:publisher_provided_forecast)
3246
+ @rate_card_info_link = args[:rate_card_info_link] if args.key?(:rate_card_info_link)
3247
+ @sample_page_link = args[:sample_page_link] if args.key?(:sample_page_link)
3248
+ @seller = args[:seller] if args.key?(:seller)
3249
+ @state = args[:state] if args.key?(:state)
3250
+ @top_headlines = args[:top_headlines] if args.key?(:top_headlines)
3251
+ end
3252
+ end
3253
+
3254
+ # This message carries publisher provided forecasting information.
3255
+ class PublisherProvidedForecast
3256
+ include Google::Apis::Core::Hashable
3257
+
3258
+ # Publisher provided dimensions. E.g. geo, sizes etc...
3259
+ # Corresponds to the JSON property `dimensions`
3260
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::Dimension>]
3261
+ attr_accessor :dimensions
3262
+
3263
+ # Publisher provided weekly impressions.
3264
+ # Corresponds to the JSON property `weeklyImpressions`
3265
+ # @return [String]
3266
+ attr_accessor :weekly_impressions
3267
+
3268
+ # Publisher provided weekly uniques.
3269
+ # Corresponds to the JSON property `weeklyUniques`
3270
+ # @return [String]
3271
+ attr_accessor :weekly_uniques
3272
+
3273
+ def initialize(**args)
3274
+ update!(**args)
3275
+ end
3276
+
3277
+ # Update properties of this object
3278
+ def update!(**args)
3279
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
3280
+ @weekly_impressions = args[:weekly_impressions] if args.key?(:weekly_impressions)
3281
+ @weekly_uniques = args[:weekly_uniques] if args.key?(:weekly_uniques)
3282
+ end
3283
+ end
3284
+
3285
+ #
3286
+ class Seller
3287
+ include Google::Apis::Core::Hashable
3288
+
3289
+ # The unique id for the seller. The seller fills in this field. The seller
3290
+ # account id is then available to buyer in the product.
3291
+ # Corresponds to the JSON property `accountId`
3292
+ # @return [String]
3293
+ attr_accessor :account_id
3294
+
3295
+ # Optional sub-account id for the seller.
3296
+ # Corresponds to the JSON property `subAccountId`
3297
+ # @return [String]
3298
+ attr_accessor :sub_account_id
3299
+
3300
+ def initialize(**args)
3301
+ update!(**args)
3302
+ end
3303
+
3304
+ # Update properties of this object
3305
+ def update!(**args)
3306
+ @account_id = args[:account_id] if args.key?(:account_id)
3307
+ @sub_account_id = args[:sub_account_id] if args.key?(:sub_account_id)
3308
+ end
3309
+ end
3310
+
3311
+ #
3312
+ class SharedTargeting
3313
+ include Google::Apis::Core::Hashable
3314
+
3315
+ # The list of values to exclude from targeting. Each value is AND'd together.
3316
+ # Corresponds to the JSON property `exclusions`
3317
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
3318
+ attr_accessor :exclusions
3319
+
3320
+ # The list of value to include as part of the targeting. Each value is OR'd
3321
+ # together.
3322
+ # Corresponds to the JSON property `inclusions`
3323
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValue>]
3324
+ attr_accessor :inclusions
3325
+
3326
+ # The key representing the shared targeting criterion.
3327
+ # Corresponds to the JSON property `key`
3328
+ # @return [String]
3329
+ attr_accessor :key
3330
+
3331
+ def initialize(**args)
3332
+ update!(**args)
3333
+ end
3334
+
3335
+ # Update properties of this object
3336
+ def update!(**args)
3337
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
3338
+ @inclusions = args[:inclusions] if args.key?(:inclusions)
3339
+ @key = args[:key] if args.key?(:key)
3340
+ end
3341
+ end
3342
+
3343
+ #
3344
+ class TargetingValue
3345
+ include Google::Apis::Core::Hashable
3346
+
3347
+ # The creative size value to exclude/include.
3348
+ # Corresponds to the JSON property `creativeSizeValue`
3349
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueCreativeSize]
3350
+ attr_accessor :creative_size_value
3351
+
3352
+ # The daypart targeting to include / exclude. Filled in when the key is
3353
+ # GOOG_DAYPART_TARGETING.
3354
+ # Corresponds to the JSON property `dayPartTargetingValue`
3355
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargeting]
3356
+ attr_accessor :day_part_targeting_value
3357
+
3358
+ # The long value to exclude/include.
3359
+ # Corresponds to the JSON property `longValue`
3360
+ # @return [String]
3361
+ attr_accessor :long_value
3362
+
3363
+ # The string value to exclude/include.
3364
+ # Corresponds to the JSON property `stringValue`
3365
+ # @return [String]
3366
+ attr_accessor :string_value
3367
+
3368
+ def initialize(**args)
3369
+ update!(**args)
3370
+ end
3371
+
3372
+ # Update properties of this object
3373
+ def update!(**args)
3374
+ @creative_size_value = args[:creative_size_value] if args.key?(:creative_size_value)
3375
+ @day_part_targeting_value = args[:day_part_targeting_value] if args.key?(:day_part_targeting_value)
3376
+ @long_value = args[:long_value] if args.key?(:long_value)
3377
+ @string_value = args[:string_value] if args.key?(:string_value)
3378
+ end
3379
+ end
3380
+
3381
+ #
3382
+ class TargetingValueCreativeSize
3383
+ include Google::Apis::Core::Hashable
3384
+
3385
+ # For video size type, the list of companion sizes.
3386
+ # Corresponds to the JSON property `companionSizes`
3387
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueSize>]
3388
+ attr_accessor :companion_sizes
3389
+
3390
+ # The Creative size type.
3391
+ # Corresponds to the JSON property `creativeSizeType`
3392
+ # @return [String]
3393
+ attr_accessor :creative_size_type
3394
+
3395
+ # For regular or video creative size type, specifies the size of the creative.
3396
+ # Corresponds to the JSON property `size`
3397
+ # @return [Google::Apis::AdexchangebuyerV1_4::TargetingValueSize]
3398
+ attr_accessor :size
3399
+
3400
+ # The skippable ad type for video size.
3401
+ # Corresponds to the JSON property `skippableAdType`
3402
+ # @return [String]
3403
+ attr_accessor :skippable_ad_type
3404
+
3405
+ def initialize(**args)
3406
+ update!(**args)
3407
+ end
3408
+
3409
+ # Update properties of this object
3410
+ def update!(**args)
3411
+ @companion_sizes = args[:companion_sizes] if args.key?(:companion_sizes)
3412
+ @creative_size_type = args[:creative_size_type] if args.key?(:creative_size_type)
3413
+ @size = args[:size] if args.key?(:size)
3414
+ @skippable_ad_type = args[:skippable_ad_type] if args.key?(:skippable_ad_type)
3415
+ end
3416
+ end
3417
+
3418
+ #
3419
+ class TargetingValueDayPartTargeting
3420
+ include Google::Apis::Core::Hashable
3421
+
3422
+ #
3423
+ # Corresponds to the JSON property `dayParts`
3424
+ # @return [Array<Google::Apis::AdexchangebuyerV1_4::TargetingValueDayPartTargetingDayPart>]
3425
+ attr_accessor :day_parts
3426
+
3427
+ #
3428
+ # Corresponds to the JSON property `timeZoneType`
3429
+ # @return [String]
3430
+ attr_accessor :time_zone_type
3431
+
3432
+ def initialize(**args)
3433
+ update!(**args)
3434
+ end
3435
+
3436
+ # Update properties of this object
3437
+ def update!(**args)
3438
+ @day_parts = args[:day_parts] if args.key?(:day_parts)
3439
+ @time_zone_type = args[:time_zone_type] if args.key?(:time_zone_type)
3440
+ end
3441
+ end
3442
+
3443
+ #
3444
+ class TargetingValueDayPartTargetingDayPart
3445
+ include Google::Apis::Core::Hashable
3446
+
3447
+ #
3448
+ # Corresponds to the JSON property `dayOfWeek`
3449
+ # @return [String]
3450
+ attr_accessor :day_of_week
3451
+
3452
+ #
3453
+ # Corresponds to the JSON property `endHour`
3454
+ # @return [Fixnum]
3455
+ attr_accessor :end_hour
3456
+
3457
+ #
3458
+ # Corresponds to the JSON property `endMinute`
3459
+ # @return [Fixnum]
3460
+ attr_accessor :end_minute
3461
+
3462
+ #
3463
+ # Corresponds to the JSON property `startHour`
3464
+ # @return [Fixnum]
3465
+ attr_accessor :start_hour
3466
+
3467
+ #
3468
+ # Corresponds to the JSON property `startMinute`
3469
+ # @return [Fixnum]
3470
+ attr_accessor :start_minute
3471
+
3472
+ def initialize(**args)
3473
+ update!(**args)
3474
+ end
3475
+
3476
+ # Update properties of this object
3477
+ def update!(**args)
3478
+ @day_of_week = args[:day_of_week] if args.key?(:day_of_week)
3479
+ @end_hour = args[:end_hour] if args.key?(:end_hour)
3480
+ @end_minute = args[:end_minute] if args.key?(:end_minute)
3481
+ @start_hour = args[:start_hour] if args.key?(:start_hour)
3482
+ @start_minute = args[:start_minute] if args.key?(:start_minute)
3483
+ end
3484
+ end
3485
+
3486
+ #
3487
+ class TargetingValueSize
3488
+ include Google::Apis::Core::Hashable
3489
+
3490
+ # The height of the creative.
3491
+ # Corresponds to the JSON property `height`
3492
+ # @return [Fixnum]
3493
+ attr_accessor :height
3494
+
3495
+ # The width of the creative.
3496
+ # Corresponds to the JSON property `width`
3497
+ # @return [Fixnum]
3498
+ attr_accessor :width
3499
+
3500
+ def initialize(**args)
3501
+ update!(**args)
3502
+ end
3503
+
3504
+ # Update properties of this object
3505
+ def update!(**args)
3506
+ @height = args[:height] if args.key?(:height)
3507
+ @width = args[:width] if args.key?(:width)
3508
+ end
3509
+ end
3510
+
3511
+ #
3512
+ class UpdatePrivateAuctionProposalRequest
3513
+ include Google::Apis::Core::Hashable
3514
+
3515
+ # The externalDealId of the deal to be updated.
3516
+ # Corresponds to the JSON property `externalDealId`
3517
+ # @return [String]
3518
+ attr_accessor :external_deal_id
3519
+
3520
+ # A proposal is associated with a bunch of notes which may optionally be
3521
+ # associated with a deal and/or revision number.
3522
+ # Corresponds to the JSON property `note`
3523
+ # @return [Google::Apis::AdexchangebuyerV1_4::MarketplaceNote]
3524
+ attr_accessor :note
3525
+
3526
+ # The current revision number of the proposal to be updated.
3527
+ # Corresponds to the JSON property `proposalRevisionNumber`
3528
+ # @return [String]
3529
+ attr_accessor :proposal_revision_number
3530
+
3531
+ # The proposed action on the private auction proposal.
3532
+ # Corresponds to the JSON property `updateAction`
3533
+ # @return [String]
3534
+ attr_accessor :update_action
3535
+
3536
+ def initialize(**args)
3537
+ update!(**args)
3538
+ end
3539
+
3540
+ # Update properties of this object
3541
+ def update!(**args)
3542
+ @external_deal_id = args[:external_deal_id] if args.key?(:external_deal_id)
3543
+ @note = args[:note] if args.key?(:note)
3544
+ @proposal_revision_number = args[:proposal_revision_number] if args.key?(:proposal_revision_number)
3545
+ @update_action = args[:update_action] if args.key?(:update_action)
3546
+ end
3547
+ end
3548
+ end
3549
+ end
3550
+ end