google-api-client 0.9.pre3 → 0.9.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +4 -0
  5. data/MIGRATING.md +1 -1
  6. data/README.md +17 -3
  7. data/api_names.yaml +127 -14
  8. data/api_names_out.yaml +5442 -710
  9. data/bin/generate-api +16 -14
  10. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +213 -2
  12. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +71 -0
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -42
  14. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  15. data/generated/google/apis/adexchangeseller_v2_0/service.rb +15 -29
  16. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  17. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  18. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  20. data/generated/google/apis/admin_directory_v1.rb +25 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +718 -0
  22. data/generated/google/apis/admin_directory_v1/representations.rb +244 -0
  23. data/generated/google/apis/admin_directory_v1/service.rb +1522 -509
  24. data/generated/google/apis/admin_reports_v1.rb +1 -1
  25. data/generated/google/apis/admin_reports_v1/service.rb +5 -10
  26. data/generated/google/apis/adsense_v1_4.rb +1 -1
  27. data/generated/google/apis/adsense_v1_4/classes.rb +6 -0
  28. data/generated/google/apis/adsense_v1_4/representations.rb +1 -0
  29. data/generated/google/apis/adsense_v1_4/service.rb +40 -78
  30. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  31. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -52
  32. data/generated/google/apis/analytics_v3.rb +1 -1
  33. data/generated/google/apis/analytics_v3/classes.rb +11 -13
  34. data/generated/google/apis/analytics_v3/service.rb +84 -158
  35. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +276 -8
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +106 -0
  38. data/generated/google/apis/androidenterprise_v1/service.rb +715 -97
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  41. data/generated/google/apis/androidpublisher_v2/service.rb +55 -107
  42. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  43. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  44. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  45. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  46. data/generated/google/apis/appsactivity_v1.rb +1 -1
  47. data/generated/google/apis/appsactivity_v1/service.rb +1 -2
  48. data/generated/google/apis/appstate_v1.rb +1 -1
  49. data/generated/google/apis/appstate_v1/service.rb +6 -11
  50. data/generated/google/apis/autoscaler_v1beta2/service.rb +10 -20
  51. data/generated/google/apis/bigquery_v2.rb +4 -1
  52. data/generated/google/apis/bigquery_v2/classes.rb +231 -16
  53. data/generated/google/apis/bigquery_v2/representations.rb +62 -0
  54. data/generated/google/apis/bigquery_v2/service.rb +24 -45
  55. data/generated/google/apis/blogger_v3/service.rb +33 -66
  56. data/generated/google/apis/books_v1.rb +1 -1
  57. data/generated/google/apis/books_v1/classes.rb +441 -0
  58. data/generated/google/apis/books_v1/representations.rb +177 -0
  59. data/generated/google/apis/books_v1/service.rb +210 -90
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +34 -18
  62. data/generated/google/apis/calendar_v3/service.rb +118 -103
  63. data/generated/google/apis/civicinfo_v2.rb +1 -1
  64. data/generated/google/apis/civicinfo_v2/classes.rb +12 -3
  65. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +5 -10
  67. data/generated/google/apis/classroom_v1.rb +49 -0
  68. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  69. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  70. data/generated/google/apis/classroom_v1/service.rb +970 -0
  71. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  74. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  75. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  76. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  77. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  78. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  79. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  80. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +6 -12
  81. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +5 -2
  82. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +173 -249
  83. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +36 -68
  84. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +293 -80
  85. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  86. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  87. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  88. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  89. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  90. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  91. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  92. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  93. data/generated/google/apis/compute_beta.rb +49 -0
  94. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  95. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  96. data/generated/google/apis/compute_beta/service.rb +10154 -0
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/compute_v1/classes.rb +1305 -520
  99. data/generated/google/apis/compute_v1/representations.rb +122 -15
  100. data/generated/google/apis/compute_v1/service.rb +2202 -1085
  101. data/generated/google/apis/container_v1.rb +1 -1
  102. data/generated/google/apis/container_v1/classes.rb +56 -31
  103. data/generated/google/apis/container_v1/representations.rb +12 -0
  104. data/generated/google/apis/container_v1/service.rb +62 -41
  105. data/generated/google/apis/content_v2.rb +2 -2
  106. data/generated/google/apis/content_v2/classes.rb +2252 -56
  107. data/generated/google/apis/content_v2/representations.rb +917 -87
  108. data/generated/google/apis/content_v2/service.rb +680 -85
  109. data/generated/google/apis/coordinate_v1.rb +1 -1
  110. data/generated/google/apis/coordinate_v1/service.rb +16 -25
  111. data/generated/google/apis/customsearch_v1/service.rb +1 -2
  112. data/generated/google/apis/datastore_v1beta2.rb +1 -1
  113. data/generated/google/apis/datastore_v1beta2/service.rb +12 -18
  114. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  115. data/generated/google/apis/deploymentmanager_v2/classes.rb +1089 -0
  116. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  117. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2.rb +5 -2
  119. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +22 -3
  120. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +3 -0
  121. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +14 -27
  122. data/generated/google/apis/dfareporting_v2_1.rb +1 -1
  123. data/generated/google/apis/dfareporting_v2_1/classes.rb +29 -14
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +196 -389
  125. data/generated/google/apis/discovery_v1/classes.rb +7 -0
  126. data/generated/google/apis/discovery_v1/representations.rb +1 -0
  127. data/generated/google/apis/discovery_v1/service.rb +2 -4
  128. data/generated/google/apis/dns_v1.rb +4 -1
  129. data/generated/google/apis/dns_v1/service.rb +9 -18
  130. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  131. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +9 -2
  132. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +1 -0
  133. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -16
  134. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  135. data/generated/google/apis/doubleclicksearch_v2/classes.rb +15 -6
  136. data/generated/google/apis/doubleclicksearch_v2/representations.rb +1 -0
  137. data/generated/google/apis/doubleclicksearch_v2/service.rb +13 -23
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v2/classes.rb +73 -30
  140. data/generated/google/apis/drive_v2/representations.rb +14 -0
  141. data/generated/google/apis/drive_v2/service.rb +139 -135
  142. data/generated/google/apis/drive_v3.rb +55 -0
  143. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  144. data/generated/google/apis/drive_v3/representations.rb +497 -0
  145. data/generated/google/apis/drive_v3/service.rb +1541 -0
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/fitness_v1/service.rb +14 -27
  148. data/generated/google/apis/fusiontables_v2/service.rb +40 -73
  149. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  150. data/generated/google/apis/games_configuration_v1configuration/service.rb +14 -27
  151. data/generated/google/apis/games_management_v1management.rb +37 -0
  152. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  153. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  154. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  155. data/generated/google/apis/games_v1.rb +1 -1
  156. data/generated/google/apis/games_v1/classes.rb +39 -0
  157. data/generated/google/apis/games_v1/representations.rb +14 -0
  158. data/generated/google/apis/games_v1/service.rb +93 -109
  159. data/generated/google/apis/gan_v1beta1/service.rb +10 -20
  160. data/generated/google/apis/genomics_v1.rb +5 -3
  161. data/generated/google/apis/genomics_v1/classes.rb +519 -200
  162. data/generated/google/apis/genomics_v1/representations.rb +126 -13
  163. data/generated/google/apis/genomics_v1/service.rb +392 -236
  164. data/generated/google/apis/gmail_v1.rb +4 -1
  165. data/generated/google/apis/gmail_v1/service.rb +39 -71
  166. data/generated/google/apis/groupsmigration_v1/service.rb +2 -3
  167. data/generated/google/apis/groupssettings_v1/service.rb +3 -6
  168. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  169. data/generated/google/apis/identitytoolkit_v3/classes.rb +125 -0
  170. data/generated/google/apis/identitytoolkit_v3/representations.rb +37 -0
  171. data/generated/google/apis/identitytoolkit_v3/service.rb +44 -24
  172. data/generated/google/apis/kgsearch_v1.rb +32 -0
  173. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  174. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  175. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  176. data/generated/google/apis/licensing_v1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/service.rb +7 -14
  178. data/generated/google/apis/logging_v1beta3.rb +16 -4
  179. data/generated/google/apis/logging_v1beta3/classes.rb +620 -46
  180. data/generated/google/apis/logging_v1beta3/representations.rb +144 -0
  181. data/generated/google/apis/logging_v1beta3/service.rb +435 -104
  182. data/generated/google/apis/manager_v1beta2.rb +3 -0
  183. data/generated/google/apis/manager_v1beta2/service.rb +8 -16
  184. data/generated/google/apis/mapsengine_v1.rb +1 -1
  185. data/generated/google/apis/mapsengine_v1/service.rb +85 -162
  186. data/generated/google/apis/mirror_v1.rb +1 -1
  187. data/generated/google/apis/mirror_v1/service.rb +28 -52
  188. data/generated/google/apis/oauth2_v2.rb +1 -1
  189. data/generated/google/apis/oauth2_v2/service.rb +4 -8
  190. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -2
  191. data/generated/google/apis/partners_v2.rb +32 -0
  192. data/generated/google/apis/partners_v2/classes.rb +942 -0
  193. data/generated/google/apis/partners_v2/representations.rb +402 -0
  194. data/generated/google/apis/partners_v2/service.rb +400 -0
  195. data/generated/google/apis/plus_domains_v1.rb +1 -1
  196. data/generated/google/apis/plus_domains_v1/classes.rb +207 -0
  197. data/generated/google/apis/plus_domains_v1/representations.rb +114 -0
  198. data/generated/google/apis/plus_domains_v1/service.rb +21 -41
  199. data/generated/google/apis/plus_v1.rb +1 -1
  200. data/generated/google/apis/plus_v1/classes.rb +207 -0
  201. data/generated/google/apis/plus_v1/representations.rb +114 -0
  202. data/generated/google/apis/plus_v1/service.rb +11 -56
  203. data/generated/google/apis/prediction_v1_6.rb +1 -1
  204. data/generated/google/apis/prediction_v1_6/service.rb +8 -16
  205. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  206. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  207. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  208. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  209. data/generated/google/apis/pubsub_v1.rb +37 -0
  210. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  211. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  212. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  213. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  214. data/generated/google/apis/pubsub_v1beta2/classes.rb +78 -283
  215. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -85
  216. data/generated/google/apis/pubsub_v1beta2/service.rb +79 -87
  217. data/generated/google/apis/qpx_express_v1/service.rb +1 -2
  218. data/generated/google/apis/replicapool_v1beta2.rb +3 -0
  219. data/generated/google/apis/replicapool_v1beta2/service.rb +12 -24
  220. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -1
  221. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +46 -2
  222. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +16 -0
  223. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +58 -18
  224. data/generated/google/apis/reseller_v1.rb +1 -1
  225. data/generated/google/apis/reseller_v1/classes.rb +19 -1
  226. data/generated/google/apis/reseller_v1/representations.rb +1 -0
  227. data/generated/google/apis/reseller_v1/service.rb +16 -30
  228. data/generated/google/apis/resourceviews_v1beta2.rb +3 -0
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +16 -27
  230. data/generated/google/apis/script_v1.rb +61 -0
  231. data/generated/google/apis/script_v1/classes.rb +259 -0
  232. data/generated/google/apis/script_v1/representations.rb +106 -0
  233. data/generated/google/apis/script_v1/service.rb +98 -0
  234. data/generated/google/apis/site_verification_v1.rb +1 -1
  235. data/generated/google/apis/site_verification_v1/service.rb +8 -15
  236. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  237. data/generated/google/apis/sqladmin_v1beta4/classes.rb +186 -2
  238. data/generated/google/apis/sqladmin_v1beta4/representations.rb +70 -0
  239. data/generated/google/apis/sqladmin_v1beta4/service.rb +166 -75
  240. data/generated/google/apis/storage_v1.rb +5 -2
  241. data/generated/google/apis/storage_v1/classes.rb +47 -4
  242. data/generated/google/apis/storage_v1/representations.rb +18 -0
  243. data/generated/google/apis/storage_v1/service.rb +77 -94
  244. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  245. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  246. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  247. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  248. data/generated/google/apis/tagmanager_v1.rb +1 -1
  249. data/generated/google/apis/tagmanager_v1/classes.rb +189 -31
  250. data/generated/google/apis/tagmanager_v1/representations.rb +69 -15
  251. data/generated/google/apis/tagmanager_v1/service.rb +114 -275
  252. data/generated/google/apis/taskqueue_v1beta2/service.rb +8 -16
  253. data/generated/google/apis/tasks_v1/service.rb +14 -28
  254. data/generated/google/apis/translate_v2/service.rb +3 -6
  255. data/generated/google/apis/urlshortener_v1/service.rb +3 -6
  256. data/generated/google/apis/webmasters_v3.rb +3 -3
  257. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  258. data/generated/google/apis/webmasters_v3/service.rb +16 -30
  259. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  260. data/generated/google/apis/youtube_analytics_v1/classes.rb +6 -0
  261. data/generated/google/apis/youtube_analytics_v1/representations.rb +1 -0
  262. data/generated/google/apis/youtube_analytics_v1/service.rb +16 -21
  263. data/generated/google/apis/youtube_v3.rb +1 -1
  264. data/generated/google/apis/youtube_v3/classes.rb +111 -78
  265. data/generated/google/apis/youtube_v3/representations.rb +2 -0
  266. data/generated/google/apis/youtube_v3/service.rb +78 -246
  267. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  268. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  269. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  270. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  271. data/google-api-client.gemspec +3 -3
  272. data/lib/google/api_client/auth/installed_app.rb +2 -2
  273. data/lib/google/api_client/auth/key_utils.rb +1 -0
  274. data/lib/google/api_client/auth/storage.rb +1 -0
  275. data/lib/google/api_client/auth/storages/file_store.rb +1 -0
  276. data/lib/google/api_client/auth/storages/redis_store.rb +1 -0
  277. data/lib/google/api_client/client_secrets.rb +4 -5
  278. data/lib/google/apis/core/api_command.rb +2 -2
  279. data/lib/google/apis/core/base_service.rb +1 -0
  280. data/lib/google/apis/core/batch.rb +25 -8
  281. data/lib/google/apis/core/download.rb +1 -1
  282. data/lib/google/apis/core/http_command.rb +24 -12
  283. data/lib/google/apis/core/multipart.rb +20 -6
  284. data/lib/google/apis/core/upload.rb +11 -4
  285. data/lib/google/apis/generator/annotator.rb +29 -10
  286. data/lib/google/apis/generator/helpers.rb +1 -1
  287. data/lib/google/apis/generator/templates/_method.tmpl +5 -6
  288. data/lib/google/apis/options.rb +7 -3
  289. data/lib/google/apis/version.rb +1 -1
  290. data/samples/calendar/calendar.rb +1 -1
  291. data/samples/drive/drive.rb +9 -2
  292. data/samples/pubsub/pubsub.rb +5 -6
  293. data/samples/translate/translate.rb +1 -5
  294. data/script/generate +20 -5
  295. data/spec/fixtures/files/child/.gitignore +0 -0
  296. data/spec/fixtures/files/invalid.json +1 -0
  297. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  298. data/spec/google/apis/core/batch_spec.rb +22 -8
  299. data/spec/google/apis/core/download_spec.rb +13 -0
  300. data/spec/google/apis/core/http_command_spec.rb +26 -9
  301. data/spec/google/apis/core/upload_spec.rb +65 -17
  302. data/spec/google/apis/options_spec.rb +8 -0
  303. data/spec/integration_tests/adsense_spec.rb +28 -0
  304. data/spec/integration_tests/pubsub_spec.rb +3 -3
  305. data/spec/spec_helper.rb +5 -1
  306. data/third_party/hurley_patches.rb +103 -0
  307. metadata +87 -7
data/bin/generate-api CHANGED
@@ -19,18 +19,16 @@ module Google
19
19
  Discovery = Google::Apis::DiscoveryV1
20
20
 
21
21
  desc 'gen OUTDIR', 'Generate ruby API from an API description'
22
- method_options url: :string, file: :string, id: :array, preferred_only: :boolean, verbose: :boolean, names: :string, names_out: :string
22
+ method_options url: :array, file: :array, from_discovery: :boolean, id: :array,
23
+ preferred_only: :boolean, verbose: :boolean, names: :string,
24
+ names_out: :string
23
25
  method_option :preferred_only, default: true
24
26
  def gen(dir)
25
27
  self.destination_root = dir
26
28
  Google::Apis.logger.level = Logger::DEBUG if options[:verbose]
27
- if options[:url]
28
- generate_from_url(options[:url])
29
- elsif options[:file]
30
- generate_from_file(options[:file])
31
- else
32
- generate_from_discovery(preferred_only: options[:preferred_only], id: options[:id] )
33
- end
29
+ generate_from_url(options[:url]) if options[:url]
30
+ generate_from_file(options[:file]) if options[:file]
31
+ generate_from_discovery(preferred_only: options[:preferred_only], id: options[:id] ) if options[:from_discovery]
34
32
  create_file(options[:names_out]) { |*| generator.dump_api_names } if options[:names_out]
35
33
  end
36
34
 
@@ -46,14 +44,18 @@ module Google
46
44
  end
47
45
 
48
46
  no_commands do
49
- def generate_from_url(url)
50
- json = discovery.http(:get, url)
51
- generate_api(json)
47
+ def generate_from_url(urls)
48
+ Array(urls).each do |url|
49
+ json = discovery.http(:get, url)
50
+ generate_api(json)
51
+ end
52
52
  end
53
53
 
54
- def generate_from_file(file)
55
- File.open(file) do |f|
56
- generate_api(f.read)
54
+ def generate_from_file(files)
55
+ Array(files).each do |file|
56
+ File.open(file) do |f|
57
+ generate_api(f.read)
58
+ end
57
59
  end
58
60
  end
59
61
 
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/ad-exchange/buyer-rest
27
27
  module AdexchangebuyerV1_3
28
28
  VERSION = 'V1_3'
29
- REVISION = '20150720'
29
+ REVISION = '20151209'
30
30
 
31
31
  # Manage your Ad Exchange buyer account configuration
32
32
  AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
@@ -231,8 +231,8 @@ module Google
231
231
  # @return [String]
232
232
  attr_accessor :billing_id
233
233
 
234
- # The budget amount to apply for the billingId provided. This is required for
235
- # update requests.
234
+ # The daily budget amount in unit amount of the account currency to apply for
235
+ # the billingId provided. This is required for update requests.
236
236
  # Corresponds to the JSON property `budgetAmount`
237
237
  # @return [String]
238
238
  attr_accessor :budget_amount
@@ -298,6 +298,13 @@ module Google
298
298
  # @return [String]
299
299
  attr_accessor :agency_id
300
300
 
301
+ # The last upload timestamp of this creative if it was uploaded via API. Read-
302
+ # only. The value of this field is generated, and will be ignored for uploads. (
303
+ # formatted RFC 3339 timestamp).
304
+ # Corresponds to the JSON property `apiUploadTimestamp`
305
+ # @return [DateTime]
306
+ attr_accessor :api_upload_timestamp
307
+
301
308
  # All attributes for the ads that may be shown from this snippet.
302
309
  # Corresponds to the JSON property `attribute`
303
310
  # @return [Array<Fixnum>]
@@ -339,11 +346,21 @@ module Google
339
346
  # @return [Fixnum]
340
347
  attr_accessor :height
341
348
 
349
+ # The set of urls to be called to record an impression.
350
+ # Corresponds to the JSON property `impressionTrackingUrl`
351
+ # @return [Array<String>]
352
+ attr_accessor :impression_tracking_url
353
+
342
354
  # Resource type.
343
355
  # Corresponds to the JSON property `kind`
344
356
  # @return [String]
345
357
  attr_accessor :kind
346
358
 
359
+ # If nativeAd is set, HTMLSnippet and videoURL should not be set.
360
+ # Corresponds to the JSON property `nativeAd`
361
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd]
362
+ attr_accessor :native_ad
363
+
347
364
  # Detected product categories, if any. Read-only. This field should not be set
348
365
  # in requests.
349
366
  # Corresponds to the JSON property `productCategories`
@@ -371,6 +388,12 @@ module Google
371
388
  # @return [Array<Fixnum>]
372
389
  attr_accessor :vendor_type
373
390
 
391
+ # The version for this creative. Read-only. This field should not be set in
392
+ # requests.
393
+ # Corresponds to the JSON property `version`
394
+ # @return [Fixnum]
395
+ attr_accessor :version
396
+
374
397
  # The url to fetch a video ad. If set, HTMLSnippet should not be set.
375
398
  # Corresponds to the JSON property `videoURL`
376
399
  # @return [String]
@@ -392,6 +415,7 @@ module Google
392
415
  @advertiser_id = args[:advertiser_id] unless args[:advertiser_id].nil?
393
416
  @advertiser_name = args[:advertiser_name] unless args[:advertiser_name].nil?
394
417
  @agency_id = args[:agency_id] unless args[:agency_id].nil?
418
+ @api_upload_timestamp = args[:api_upload_timestamp] unless args[:api_upload_timestamp].nil?
395
419
  @attribute = args[:attribute] unless args[:attribute].nil?
396
420
  @buyer_creative_id = args[:buyer_creative_id] unless args[:buyer_creative_id].nil?
397
421
  @click_through_url = args[:click_through_url] unless args[:click_through_url].nil?
@@ -399,12 +423,15 @@ module Google
399
423
  @disapproval_reasons = args[:disapproval_reasons] unless args[:disapproval_reasons].nil?
400
424
  @filtering_reasons = args[:filtering_reasons] unless args[:filtering_reasons].nil?
401
425
  @height = args[:height] unless args[:height].nil?
426
+ @impression_tracking_url = args[:impression_tracking_url] unless args[:impression_tracking_url].nil?
402
427
  @kind = args[:kind] unless args[:kind].nil?
428
+ @native_ad = args[:native_ad] unless args[:native_ad].nil?
403
429
  @product_categories = args[:product_categories] unless args[:product_categories].nil?
404
430
  @restricted_categories = args[:restricted_categories] unless args[:restricted_categories].nil?
405
431
  @sensitive_categories = args[:sensitive_categories] unless args[:sensitive_categories].nil?
406
432
  @status = args[:status] unless args[:status].nil?
407
433
  @vendor_type = args[:vendor_type] unless args[:vendor_type].nil?
434
+ @version = args[:version] unless args[:version].nil?
408
435
  @video_url = args[:video_url] unless args[:video_url].nil?
409
436
  @width = args[:width] unless args[:width].nil?
410
437
  end
@@ -512,6 +539,184 @@ module Google
512
539
  end
513
540
  end
514
541
  end
542
+
543
+ # If nativeAd is set, HTMLSnippet and videoURL should not be set.
544
+ class NativeAd
545
+ include Google::Apis::Core::Hashable
546
+
547
+ #
548
+ # Corresponds to the JSON property `advertiser`
549
+ # @return [String]
550
+ attr_accessor :advertiser
551
+
552
+ # The app icon, for app download ads.
553
+ # Corresponds to the JSON property `appIcon`
554
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::AppIcon]
555
+ attr_accessor :app_icon
556
+
557
+ # A long description of the ad.
558
+ # Corresponds to the JSON property `body`
559
+ # @return [String]
560
+ attr_accessor :body
561
+
562
+ # A label for the button that the user is supposed to click.
563
+ # Corresponds to the JSON property `callToAction`
564
+ # @return [String]
565
+ attr_accessor :call_to_action
566
+
567
+ # The URL to use for click tracking.
568
+ # Corresponds to the JSON property `clickTrackingUrl`
569
+ # @return [String]
570
+ attr_accessor :click_tracking_url
571
+
572
+ # A short title for the ad.
573
+ # Corresponds to the JSON property `headline`
574
+ # @return [String]
575
+ attr_accessor :headline
576
+
577
+ # A large image.
578
+ # Corresponds to the JSON property `image`
579
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Image]
580
+ attr_accessor :image
581
+
582
+ # The URLs are called when the impression is rendered.
583
+ # Corresponds to the JSON property `impressionTrackingUrl`
584
+ # @return [Array<String>]
585
+ attr_accessor :impression_tracking_url
586
+
587
+ # A smaller image, for the advertiser logo.
588
+ # Corresponds to the JSON property `logo`
589
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Logo]
590
+ attr_accessor :logo
591
+
592
+ # The price of the promoted app including the currency info.
593
+ # Corresponds to the JSON property `price`
594
+ # @return [String]
595
+ attr_accessor :price
596
+
597
+ # The app rating in the app store. Must be in the range [0-5].
598
+ # Corresponds to the JSON property `starRating`
599
+ # @return [Float]
600
+ attr_accessor :star_rating
601
+
602
+ # The URL to the app store to purchase/download the promoted app.
603
+ # Corresponds to the JSON property `store`
604
+ # @return [String]
605
+ attr_accessor :store
606
+
607
+ def initialize(**args)
608
+ update!(**args)
609
+ end
610
+
611
+ # Update properties of this object
612
+ def update!(**args)
613
+ @advertiser = args[:advertiser] unless args[:advertiser].nil?
614
+ @app_icon = args[:app_icon] unless args[:app_icon].nil?
615
+ @body = args[:body] unless args[:body].nil?
616
+ @call_to_action = args[:call_to_action] unless args[:call_to_action].nil?
617
+ @click_tracking_url = args[:click_tracking_url] unless args[:click_tracking_url].nil?
618
+ @headline = args[:headline] unless args[:headline].nil?
619
+ @image = args[:image] unless args[:image].nil?
620
+ @impression_tracking_url = args[:impression_tracking_url] unless args[:impression_tracking_url].nil?
621
+ @logo = args[:logo] unless args[:logo].nil?
622
+ @price = args[:price] unless args[:price].nil?
623
+ @star_rating = args[:star_rating] unless args[:star_rating].nil?
624
+ @store = args[:store] unless args[:store].nil?
625
+ end
626
+
627
+ # The app icon, for app download ads.
628
+ class AppIcon
629
+ include Google::Apis::Core::Hashable
630
+
631
+ #
632
+ # Corresponds to the JSON property `height`
633
+ # @return [Fixnum]
634
+ attr_accessor :height
635
+
636
+ #
637
+ # Corresponds to the JSON property `url`
638
+ # @return [String]
639
+ attr_accessor :url
640
+
641
+ #
642
+ # Corresponds to the JSON property `width`
643
+ # @return [Fixnum]
644
+ attr_accessor :width
645
+
646
+ def initialize(**args)
647
+ update!(**args)
648
+ end
649
+
650
+ # Update properties of this object
651
+ def update!(**args)
652
+ @height = args[:height] unless args[:height].nil?
653
+ @url = args[:url] unless args[:url].nil?
654
+ @width = args[:width] unless args[:width].nil?
655
+ end
656
+ end
657
+
658
+ # A large image.
659
+ class Image
660
+ include Google::Apis::Core::Hashable
661
+
662
+ #
663
+ # Corresponds to the JSON property `height`
664
+ # @return [Fixnum]
665
+ attr_accessor :height
666
+
667
+ #
668
+ # Corresponds to the JSON property `url`
669
+ # @return [String]
670
+ attr_accessor :url
671
+
672
+ #
673
+ # Corresponds to the JSON property `width`
674
+ # @return [Fixnum]
675
+ attr_accessor :width
676
+
677
+ def initialize(**args)
678
+ update!(**args)
679
+ end
680
+
681
+ # Update properties of this object
682
+ def update!(**args)
683
+ @height = args[:height] unless args[:height].nil?
684
+ @url = args[:url] unless args[:url].nil?
685
+ @width = args[:width] unless args[:width].nil?
686
+ end
687
+ end
688
+
689
+ # A smaller image, for the advertiser logo.
690
+ class Logo
691
+ include Google::Apis::Core::Hashable
692
+
693
+ #
694
+ # Corresponds to the JSON property `height`
695
+ # @return [Fixnum]
696
+ attr_accessor :height
697
+
698
+ #
699
+ # Corresponds to the JSON property `url`
700
+ # @return [String]
701
+ attr_accessor :url
702
+
703
+ #
704
+ # Corresponds to the JSON property `width`
705
+ # @return [Fixnum]
706
+ attr_accessor :width
707
+
708
+ def initialize(**args)
709
+ update!(**args)
710
+ end
711
+
712
+ # Update properties of this object
713
+ def update!(**args)
714
+ @height = args[:height] unless args[:height].nil?
715
+ @url = args[:url] unless args[:url].nil?
716
+ @width = args[:width] unless args[:width].nil?
717
+ end
718
+ end
719
+ end
515
720
  end
516
721
 
517
722
  # The creatives feed lists the active creatives for the Ad Exchange buyer
@@ -568,6 +773,11 @@ module Google
568
773
  # @return [String]
569
774
  attr_accessor :currency_code
570
775
 
776
+ # The deal type such as programmatic reservation or fixed price and so on.
777
+ # Corresponds to the JSON property `dealTier`
778
+ # @return [String]
779
+ attr_accessor :deal_tier
780
+
571
781
  # End time for when this deal stops being active. If not set then this deal is
572
782
  # valid until manually disabled by the publisher. In seconds since the epoch.
573
783
  # Corresponds to the JSON property `endTime`
@@ -630,6 +840,7 @@ module Google
630
840
  @account_id = args[:account_id] unless args[:account_id].nil?
631
841
  @advertiser = args[:advertiser] unless args[:advertiser].nil?
632
842
  @currency_code = args[:currency_code] unless args[:currency_code].nil?
843
+ @deal_tier = args[:deal_tier] unless args[:deal_tier].nil?
633
844
  @end_time = args[:end_time] unless args[:end_time].nil?
634
845
  @fixed_cpm = args[:fixed_cpm] unless args[:fixed_cpm].nil?
635
846
  @id = args[:id] unless args[:id].nil?
@@ -64,6 +64,22 @@ module Google
64
64
  class Representation < Google::Apis::Core::JsonRepresentation; end
65
65
  end
66
66
  end
67
+
68
+ class NativeAd
69
+ class Representation < Google::Apis::Core::JsonRepresentation; end
70
+
71
+ class AppIcon
72
+ class Representation < Google::Apis::Core::JsonRepresentation; end
73
+ end
74
+
75
+ class Image
76
+ class Representation < Google::Apis::Core::JsonRepresentation; end
77
+ end
78
+
79
+ class Logo
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+ end
82
+ end
67
83
  end
68
84
 
69
85
  class CreativesList
@@ -178,6 +194,8 @@ module Google
178
194
  collection :advertiser_id, as: 'advertiserId'
179
195
  property :advertiser_name, as: 'advertiserName'
180
196
  property :agency_id, as: 'agencyId'
197
+ property :api_upload_timestamp, as: 'apiUploadTimestamp', type: DateTime
198
+
181
199
  collection :attribute, as: 'attribute'
182
200
  property :buyer_creative_id, as: 'buyerCreativeId'
183
201
  collection :click_through_url, as: 'clickThroughUrl'
@@ -188,12 +206,16 @@ module Google
188
206
  property :filtering_reasons, as: 'filteringReasons', class: Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons::Representation
189
207
 
190
208
  property :height, as: 'height'
209
+ collection :impression_tracking_url, as: 'impressionTrackingUrl'
191
210
  property :kind, as: 'kind'
211
+ property :native_ad, as: 'nativeAd', class: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Representation
212
+
192
213
  collection :product_categories, as: 'productCategories'
193
214
  collection :restricted_categories, as: 'restrictedCategories'
194
215
  collection :sensitive_categories, as: 'sensitiveCategories'
195
216
  property :status, as: 'status'
196
217
  collection :vendor_type, as: 'vendorType'
218
+ property :version, as: 'version'
197
219
  property :video_url, as: 'videoURL'
198
220
  property :width, as: 'width'
199
221
  end
@@ -230,6 +252,54 @@ module Google
230
252
  end
231
253
  end
232
254
  end
255
+
256
+ class NativeAd
257
+ # @private
258
+ class Representation < Google::Apis::Core::JsonRepresentation
259
+ property :advertiser, as: 'advertiser'
260
+ property :app_icon, as: 'appIcon', class: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::AppIcon, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::AppIcon::Representation
261
+
262
+ property :body, as: 'body'
263
+ property :call_to_action, as: 'callToAction'
264
+ property :click_tracking_url, as: 'clickTrackingUrl'
265
+ property :headline, as: 'headline'
266
+ property :image, as: 'image', class: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Image, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Image::Representation
267
+
268
+ collection :impression_tracking_url, as: 'impressionTrackingUrl'
269
+ property :logo, as: 'logo', class: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Logo, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::NativeAd::Logo::Representation
270
+
271
+ property :price, as: 'price'
272
+ property :star_rating, as: 'starRating'
273
+ property :store, as: 'store'
274
+ end
275
+
276
+ class AppIcon
277
+ # @private
278
+ class Representation < Google::Apis::Core::JsonRepresentation
279
+ property :height, as: 'height'
280
+ property :url, as: 'url'
281
+ property :width, as: 'width'
282
+ end
283
+ end
284
+
285
+ class Image
286
+ # @private
287
+ class Representation < Google::Apis::Core::JsonRepresentation
288
+ property :height, as: 'height'
289
+ property :url, as: 'url'
290
+ property :width, as: 'width'
291
+ end
292
+ end
293
+
294
+ class Logo
295
+ # @private
296
+ class Representation < Google::Apis::Core::JsonRepresentation
297
+ property :height, as: 'height'
298
+ property :url, as: 'url'
299
+ property :width, as: 'width'
300
+ end
301
+ end
302
+ end
233
303
  end
234
304
 
235
305
  class CreativesList
@@ -248,6 +318,7 @@ module Google
248
318
  property :account_id, as: 'accountId'
249
319
  property :advertiser, as: 'advertiser'
250
320
  property :currency_code, as: 'currencyCode'
321
+ property :deal_tier, as: 'dealTier'
251
322
  property :end_time, as: 'endTime'
252
323
  property :fixed_cpm, as: 'fixedCpm'
253
324
  property :id, as: 'id'