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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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'