lemboy-google-api-client 0.9.26

Sign up to get free protection for your applications and to get access to all the features.
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