google-api-client 0.8.7 → 0.9.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,31 @@
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/gan_v1beta1/service.rb'
16
+ require 'google/apis/gan_v1beta1/classes.rb'
17
+ require 'google/apis/gan_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Affiliate Network API
22
+ #
23
+ # Lets you have programmatic access to your Google Affiliate Network data.
24
+ #
25
+ # @see https://developers.google.com/affiliate-network/
26
+ module GanV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20130205'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,1428 @@
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 GanV1beta1
24
+
25
+ # An AdvertiserResource.
26
+ class Advertiser
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # True if the advertiser allows publisher created links, otherwise false.
30
+ # Corresponds to the JSON property `allowPublisherCreatedLinks`
31
+ # @return [Boolean]
32
+ attr_accessor :allow_publisher_created_links
33
+ alias_method :allow_publisher_created_links?, :allow_publisher_created_links
34
+
35
+ # Category that this advertiser belongs to. A valid list of categories can be
36
+ # found here: http://www.google.com/support/affiliatenetwork/advertiser/bin/
37
+ # answer.py?hl=en&answer=107581
38
+ # Corresponds to the JSON property `category`
39
+ # @return [String]
40
+ attr_accessor :category
41
+
42
+ # The longest possible length of a commission (how long the cookies on the
43
+ # customer's browser last before they expire).
44
+ # Corresponds to the JSON property `commissionDuration`
45
+ # @return [Fixnum]
46
+ attr_accessor :commission_duration
47
+
48
+ # Email that this advertiser would like publishers to contact them with.
49
+ # Corresponds to the JSON property `contactEmail`
50
+ # @return [String]
51
+ attr_accessor :contact_email
52
+
53
+ # Phone that this advertiser would like publishers to contact them with.
54
+ # Corresponds to the JSON property `contactPhone`
55
+ # @return [String]
56
+ attr_accessor :contact_phone
57
+
58
+ # The default link id for this advertiser.
59
+ # Corresponds to the JSON property `defaultLinkId`
60
+ # @return [String]
61
+ attr_accessor :default_link_id
62
+
63
+ # Description of the website the advertiser advertises from.
64
+ # Corresponds to the JSON property `description`
65
+ # @return [String]
66
+ attr_accessor :description
67
+
68
+ # An ApiMoneyProto.
69
+ # Corresponds to the JSON property `epcNinetyDayAverage`
70
+ # @return [Google::Apis::GanV1beta1::Money]
71
+ attr_accessor :epc_ninety_day_average
72
+
73
+ # An ApiMoneyProto.
74
+ # Corresponds to the JSON property `epcSevenDayAverage`
75
+ # @return [Google::Apis::GanV1beta1::Money]
76
+ attr_accessor :epc_seven_day_average
77
+
78
+ # The ID of this advertiser.
79
+ # Corresponds to the JSON property `id`
80
+ # @return [String]
81
+ attr_accessor :id
82
+
83
+ # An AdvertiserResource.
84
+ # Corresponds to the JSON property `item`
85
+ # @return [Google::Apis::GanV1beta1::Advertiser]
86
+ attr_accessor :item
87
+
88
+ # Date that this advertiser was approved as a Google Affiliate Network
89
+ # advertiser.
90
+ # Corresponds to the JSON property `joinDate`
91
+ # @return [DateTime]
92
+ attr_accessor :join_date
93
+
94
+ # The kind for an advertiser.
95
+ # Corresponds to the JSON property `kind`
96
+ # @return [String]
97
+ attr_accessor :kind
98
+
99
+ # URL to the logo this advertiser uses on the Google Affiliate Network.
100
+ # Corresponds to the JSON property `logoUrl`
101
+ # @return [String]
102
+ attr_accessor :logo_url
103
+
104
+ # List of merchant center ids for this advertiser
105
+ # Corresponds to the JSON property `merchantCenterIds`
106
+ # @return [Array<String>]
107
+ attr_accessor :merchant_center_ids
108
+
109
+ # The name of this advertiser.
110
+ # Corresponds to the JSON property `name`
111
+ # @return [String]
112
+ attr_accessor :name
113
+
114
+ # A rank based on commissions paid to publishers over the past 90 days. A number
115
+ # between 1 and 4 where 4 means the top quartile (most money paid) and 1 means
116
+ # the bottom quartile (least money paid).
117
+ # Corresponds to the JSON property `payoutRank`
118
+ # @return [String]
119
+ attr_accessor :payout_rank
120
+
121
+ # Allows advertisers to submit product listings to Google Product Search.
122
+ # Corresponds to the JSON property `productFeedsEnabled`
123
+ # @return [Boolean]
124
+ attr_accessor :product_feeds_enabled
125
+ alias_method :product_feeds_enabled?, :product_feeds_enabled
126
+
127
+ # List of redirect URLs for this advertiser
128
+ # Corresponds to the JSON property `redirectDomains`
129
+ # @return [Array<String>]
130
+ attr_accessor :redirect_domains
131
+
132
+ # URL of the website this advertiser advertises from.
133
+ # Corresponds to the JSON property `siteUrl`
134
+ # @return [String]
135
+ attr_accessor :site_url
136
+
137
+ # The status of the requesting publisher's relationship this advertiser.
138
+ # Corresponds to the JSON property `status`
139
+ # @return [String]
140
+ attr_accessor :status
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @allow_publisher_created_links = args[:allow_publisher_created_links] unless args[:allow_publisher_created_links].nil?
149
+ @category = args[:category] unless args[:category].nil?
150
+ @commission_duration = args[:commission_duration] unless args[:commission_duration].nil?
151
+ @contact_email = args[:contact_email] unless args[:contact_email].nil?
152
+ @contact_phone = args[:contact_phone] unless args[:contact_phone].nil?
153
+ @default_link_id = args[:default_link_id] unless args[:default_link_id].nil?
154
+ @description = args[:description] unless args[:description].nil?
155
+ @epc_ninety_day_average = args[:epc_ninety_day_average] unless args[:epc_ninety_day_average].nil?
156
+ @epc_seven_day_average = args[:epc_seven_day_average] unless args[:epc_seven_day_average].nil?
157
+ @id = args[:id] unless args[:id].nil?
158
+ @item = args[:item] unless args[:item].nil?
159
+ @join_date = args[:join_date] unless args[:join_date].nil?
160
+ @kind = args[:kind] unless args[:kind].nil?
161
+ @logo_url = args[:logo_url] unless args[:logo_url].nil?
162
+ @merchant_center_ids = args[:merchant_center_ids] unless args[:merchant_center_ids].nil?
163
+ @name = args[:name] unless args[:name].nil?
164
+ @payout_rank = args[:payout_rank] unless args[:payout_rank].nil?
165
+ @product_feeds_enabled = args[:product_feeds_enabled] unless args[:product_feeds_enabled].nil?
166
+ @redirect_domains = args[:redirect_domains] unless args[:redirect_domains].nil?
167
+ @site_url = args[:site_url] unless args[:site_url].nil?
168
+ @status = args[:status] unless args[:status].nil?
169
+ end
170
+ end
171
+
172
+ #
173
+ class Advertisers
174
+ include Google::Apis::Core::Hashable
175
+
176
+ # The advertiser list.
177
+ # Corresponds to the JSON property `items`
178
+ # @return [Array<Google::Apis::GanV1beta1::Advertiser>]
179
+ attr_accessor :items
180
+
181
+ # The kind for a page of advertisers.
182
+ # Corresponds to the JSON property `kind`
183
+ # @return [String]
184
+ attr_accessor :kind
185
+
186
+ # The 'pageToken' to pass to the next request to get the next page, if there are
187
+ # more to retrieve.
188
+ # Corresponds to the JSON property `nextPageToken`
189
+ # @return [String]
190
+ attr_accessor :next_page_token
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ @items = args[:items] unless args[:items].nil?
199
+ @kind = args[:kind] unless args[:kind].nil?
200
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
201
+ end
202
+ end
203
+
204
+ # A credit card offer. There are many possible result fields. We provide two
205
+ # different views of the data, or "projections." The "full" projection includes
206
+ # every result field. And the "summary" projection, which is the default,
207
+ # includes a smaller subset of the fields. The fields included in the summary
208
+ # projection are marked as such in their descriptions.
209
+ class CcOffer
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # More marketing copy about the card's benefits. A summary field.
213
+ # Corresponds to the JSON property `additionalCardBenefits`
214
+ # @return [Array<String>]
215
+ attr_accessor :additional_card_benefits
216
+
217
+ # Any extra fees levied on card holders.
218
+ # Corresponds to the JSON property `additionalCardHolderFee`
219
+ # @return [String]
220
+ attr_accessor :additional_card_holder_fee
221
+
222
+ # The youngest a recipient of this card may be.
223
+ # Corresponds to the JSON property `ageMinimum`
224
+ # @return [Float]
225
+ attr_accessor :age_minimum
226
+
227
+ # Text describing the details of the age minimum restriction.
228
+ # Corresponds to the JSON property `ageMinimumDetails`
229
+ # @return [String]
230
+ attr_accessor :age_minimum_details
231
+
232
+ # The ongoing annual fee, in dollars.
233
+ # Corresponds to the JSON property `annualFee`
234
+ # @return [Float]
235
+ attr_accessor :annual_fee
236
+
237
+ # Text describing the annual fee, including any difference for the first year. A
238
+ # summary field.
239
+ # Corresponds to the JSON property `annualFeeDisplay`
240
+ # @return [String]
241
+ attr_accessor :annual_fee_display
242
+
243
+ # The largest number of units you may accumulate in a year.
244
+ # Corresponds to the JSON property `annualRewardMaximum`
245
+ # @return [Float]
246
+ attr_accessor :annual_reward_maximum
247
+
248
+ # Possible categories for this card, eg "Low Interest" or "Good." A summary
249
+ # field.
250
+ # Corresponds to the JSON property `approvedCategories`
251
+ # @return [Array<String>]
252
+ attr_accessor :approved_categories
253
+
254
+ # Text describing the purchase APR. A summary field.
255
+ # Corresponds to the JSON property `aprDisplay`
256
+ # @return [String]
257
+ attr_accessor :apr_display
258
+
259
+ # Text describing how the balance is computed. A summary field.
260
+ # Corresponds to the JSON property `balanceComputationMethod`
261
+ # @return [String]
262
+ attr_accessor :balance_computation_method
263
+
264
+ # Text describing the terms for balance transfers. A summary field.
265
+ # Corresponds to the JSON property `balanceTransferTerms`
266
+ # @return [String]
267
+ attr_accessor :balance_transfer_terms
268
+
269
+ # For cards with rewards programs, extra circumstances whereby additional
270
+ # rewards may be granted.
271
+ # Corresponds to the JSON property `bonusRewards`
272
+ # @return [Array<Google::Apis::GanV1beta1::CcOffer::BonusReward>]
273
+ attr_accessor :bonus_rewards
274
+
275
+ # If you get coverage when you use the card for the given activity, this field
276
+ # describes it.
277
+ # Corresponds to the JSON property `carRentalInsurance`
278
+ # @return [String]
279
+ attr_accessor :car_rental_insurance
280
+
281
+ # A list of what the issuer thinks are the most important benefits of the card.
282
+ # Usually summarizes the rewards program, if there is one. A summary field.
283
+ # Corresponds to the JSON property `cardBenefits`
284
+ # @return [Array<String>]
285
+ attr_accessor :card_benefits
286
+
287
+ # The issuer's name for the card, including any trademark or service mark
288
+ # designators. A summary field.
289
+ # Corresponds to the JSON property `cardName`
290
+ # @return [String]
291
+ attr_accessor :card_name
292
+
293
+ # What kind of credit card this is, for example secured or unsecured.
294
+ # Corresponds to the JSON property `cardType`
295
+ # @return [String]
296
+ attr_accessor :card_type
297
+
298
+ # Text describing the terms for cash advances. A summary field.
299
+ # Corresponds to the JSON property `cashAdvanceTerms`
300
+ # @return [String]
301
+ attr_accessor :cash_advance_terms
302
+
303
+ # The high end for credit limits the issuer imposes on recipients of this card.
304
+ # Corresponds to the JSON property `creditLimitMax`
305
+ # @return [Float]
306
+ attr_accessor :credit_limit_max
307
+
308
+ # The low end for credit limits the issuer imposes on recipients of this card.
309
+ # Corresponds to the JSON property `creditLimitMin`
310
+ # @return [Float]
311
+ attr_accessor :credit_limit_min
312
+
313
+ # Text describing the credit ratings required for recipients of this card, for
314
+ # example "Excellent/Good." A summary field.
315
+ # Corresponds to the JSON property `creditRatingDisplay`
316
+ # @return [String]
317
+ attr_accessor :credit_rating_display
318
+
319
+ # Fees for defaulting on your payments.
320
+ # Corresponds to the JSON property `defaultFees`
321
+ # @return [Array<Google::Apis::GanV1beta1::CcOffer::DefaultFee>]
322
+ attr_accessor :default_fees
323
+
324
+ # A notice that, if present, is referenced via an asterisk by many of the other
325
+ # summary fields. If this field is present, it will always start with an
326
+ # asterisk ("*"), and must be prominently displayed with the offer. A summary
327
+ # field.
328
+ # Corresponds to the JSON property `disclaimer`
329
+ # @return [String]
330
+ attr_accessor :disclaimer
331
+
332
+ # If you get coverage when you use the card for the given activity, this field
333
+ # describes it.
334
+ # Corresponds to the JSON property `emergencyInsurance`
335
+ # @return [String]
336
+ attr_accessor :emergency_insurance
337
+
338
+ # Whether this card is only available to existing customers of the issuer.
339
+ # Corresponds to the JSON property `existingCustomerOnly`
340
+ # @return [Boolean]
341
+ attr_accessor :existing_customer_only
342
+ alias_method :existing_customer_only?, :existing_customer_only
343
+
344
+ # If you get coverage when you use the card for the given activity, this field
345
+ # describes it.
346
+ # Corresponds to the JSON property `extendedWarranty`
347
+ # @return [String]
348
+ attr_accessor :extended_warranty
349
+
350
+ # The annual fee for the first year, if different from the ongoing fee. Optional.
351
+ # Corresponds to the JSON property `firstYearAnnualFee`
352
+ # @return [Float]
353
+ attr_accessor :first_year_annual_fee
354
+
355
+ # If you get coverage when you use the card for the given activity, this field
356
+ # describes it.
357
+ # Corresponds to the JSON property `flightAccidentInsurance`
358
+ # @return [String]
359
+ attr_accessor :flight_accident_insurance
360
+
361
+ # Fee for each transaction involving a foreign currency.
362
+ # Corresponds to the JSON property `foreignCurrencyTransactionFee`
363
+ # @return [String]
364
+ attr_accessor :foreign_currency_transaction_fee
365
+
366
+ # If you get coverage when you use the card for the given activity, this field
367
+ # describes it.
368
+ # Corresponds to the JSON property `fraudLiability`
369
+ # @return [String]
370
+ attr_accessor :fraud_liability
371
+
372
+ # Text describing the grace period before finance charges apply. A summary field.
373
+ # Corresponds to the JSON property `gracePeriodDisplay`
374
+ # @return [String]
375
+ attr_accessor :grace_period_display
376
+
377
+ # The link to the image of the card that is shown on Connect Commerce. A summary
378
+ # field.
379
+ # Corresponds to the JSON property `imageUrl`
380
+ # @return [String]
381
+ attr_accessor :image_url
382
+
383
+ # Fee for setting up the card.
384
+ # Corresponds to the JSON property `initialSetupAndProcessingFee`
385
+ # @return [String]
386
+ attr_accessor :initial_setup_and_processing_fee
387
+
388
+ # Text describing the terms for introductory period balance transfers. A summary
389
+ # field.
390
+ # Corresponds to the JSON property `introBalanceTransferTerms`
391
+ # @return [String]
392
+ attr_accessor :intro_balance_transfer_terms
393
+
394
+ # Text describing the terms for introductory period cash advances. A summary
395
+ # field.
396
+ # Corresponds to the JSON property `introCashAdvanceTerms`
397
+ # @return [String]
398
+ attr_accessor :intro_cash_advance_terms
399
+
400
+ # Text describing the terms for introductory period purchases. A summary field.
401
+ # Corresponds to the JSON property `introPurchaseTerms`
402
+ # @return [String]
403
+ attr_accessor :intro_purchase_terms
404
+
405
+ # Name of card issuer. A summary field.
406
+ # Corresponds to the JSON property `issuer`
407
+ # @return [String]
408
+ attr_accessor :issuer
409
+
410
+ # The Google Affiliate Network ID of the advertiser making this offer.
411
+ # Corresponds to the JSON property `issuerId`
412
+ # @return [String]
413
+ attr_accessor :issuer_id
414
+
415
+ # The generic link to the issuer's site.
416
+ # Corresponds to the JSON property `issuerWebsite`
417
+ # @return [String]
418
+ attr_accessor :issuer_website
419
+
420
+ # The kind for one credit card offer. A summary field.
421
+ # Corresponds to the JSON property `kind`
422
+ # @return [String]
423
+ attr_accessor :kind
424
+
425
+ # The link to the issuer's page for this card. A summary field.
426
+ # Corresponds to the JSON property `landingPageUrl`
427
+ # @return [String]
428
+ attr_accessor :landing_page_url
429
+
430
+ # Text describing how much a late payment will cost, eg "up to $35." A summary
431
+ # field.
432
+ # Corresponds to the JSON property `latePaymentFee`
433
+ # @return [String]
434
+ attr_accessor :late_payment_fee
435
+
436
+ # If you get coverage when you use the card for the given activity, this field
437
+ # describes it.
438
+ # Corresponds to the JSON property `luggageInsurance`
439
+ # @return [String]
440
+ attr_accessor :luggage_insurance
441
+
442
+ # The highest interest rate the issuer charges on this card. Expressed as an
443
+ # absolute number, not as a percentage.
444
+ # Corresponds to the JSON property `maxPurchaseRate`
445
+ # @return [Float]
446
+ attr_accessor :max_purchase_rate
447
+
448
+ # The lowest interest rate the issuer charges on this card. Expressed as an
449
+ # absolute number, not as a percentage.
450
+ # Corresponds to the JSON property `minPurchaseRate`
451
+ # @return [Float]
452
+ attr_accessor :min_purchase_rate
453
+
454
+ # Text describing how much missing the grace period will cost.
455
+ # Corresponds to the JSON property `minimumFinanceCharge`
456
+ # @return [String]
457
+ attr_accessor :minimum_finance_charge
458
+
459
+ # Which network (eg Visa) the card belongs to. A summary field.
460
+ # Corresponds to the JSON property `network`
461
+ # @return [String]
462
+ attr_accessor :network
463
+
464
+ # This offer's ID. A summary field.
465
+ # Corresponds to the JSON property `offerId`
466
+ # @return [String]
467
+ attr_accessor :offer_id
468
+
469
+ # Whether a cash reward program lets you get cash back sooner than end of year
470
+ # or other longish period.
471
+ # Corresponds to the JSON property `offersImmediateCashReward`
472
+ # @return [Boolean]
473
+ attr_accessor :offers_immediate_cash_reward
474
+ alias_method :offers_immediate_cash_reward?, :offers_immediate_cash_reward
475
+
476
+ # Fee for exceeding the card's charge limit.
477
+ # Corresponds to the JSON property `overLimitFee`
478
+ # @return [String]
479
+ attr_accessor :over_limit_fee
480
+
481
+ # Categories in which the issuer does not wish the card to be displayed. A
482
+ # summary field.
483
+ # Corresponds to the JSON property `prohibitedCategories`
484
+ # @return [Array<String>]
485
+ attr_accessor :prohibited_categories
486
+
487
+ # Text describing any additional details for the purchase rate. A summary field.
488
+ # Corresponds to the JSON property `purchaseRateAdditionalDetails`
489
+ # @return [String]
490
+ attr_accessor :purchase_rate_additional_details
491
+
492
+ # Fixed or variable.
493
+ # Corresponds to the JSON property `purchaseRateType`
494
+ # @return [String]
495
+ attr_accessor :purchase_rate_type
496
+
497
+ # Text describing the fee for a payment that doesn't clear. A summary field.
498
+ # Corresponds to the JSON property `returnedPaymentFee`
499
+ # @return [String]
500
+ attr_accessor :returned_payment_fee
501
+
502
+ # The company that redeems the rewards, if different from the issuer.
503
+ # Corresponds to the JSON property `rewardPartner`
504
+ # @return [String]
505
+ attr_accessor :reward_partner
506
+
507
+ # For cards with rewards programs, the unit of reward. For example, miles, cash
508
+ # back, points.
509
+ # Corresponds to the JSON property `rewardUnit`
510
+ # @return [String]
511
+ attr_accessor :reward_unit
512
+
513
+ # For cards with rewards programs, detailed rules about how the program works.
514
+ # Corresponds to the JSON property `rewards`
515
+ # @return [Array<Google::Apis::GanV1beta1::CcOffer::Reward>]
516
+ attr_accessor :rewards
517
+
518
+ # Whether accumulated rewards ever expire.
519
+ # Corresponds to the JSON property `rewardsExpire`
520
+ # @return [Boolean]
521
+ attr_accessor :rewards_expire
522
+ alias_method :rewards_expire?, :rewards_expire
523
+
524
+ # For airline miles rewards, tells whether blackout dates apply to the miles.
525
+ # Corresponds to the JSON property `rewardsHaveBlackoutDates`
526
+ # @return [Boolean]
527
+ attr_accessor :rewards_have_blackout_dates
528
+ alias_method :rewards_have_blackout_dates?, :rewards_have_blackout_dates
529
+
530
+ # Fee for requesting a copy of your statement.
531
+ # Corresponds to the JSON property `statementCopyFee`
532
+ # @return [String]
533
+ attr_accessor :statement_copy_fee
534
+
535
+ # The link to ping to register a click on this offer. A summary field.
536
+ # Corresponds to the JSON property `trackingUrl`
537
+ # @return [String]
538
+ attr_accessor :tracking_url
539
+
540
+ # If you get coverage when you use the card for the given activity, this field
541
+ # describes it.
542
+ # Corresponds to the JSON property `travelInsurance`
543
+ # @return [String]
544
+ attr_accessor :travel_insurance
545
+
546
+ # When variable rates were last updated.
547
+ # Corresponds to the JSON property `variableRatesLastUpdated`
548
+ # @return [String]
549
+ attr_accessor :variable_rates_last_updated
550
+
551
+ # How often variable rates are updated.
552
+ # Corresponds to the JSON property `variableRatesUpdateFrequency`
553
+ # @return [String]
554
+ attr_accessor :variable_rates_update_frequency
555
+
556
+ def initialize(**args)
557
+ update!(**args)
558
+ end
559
+
560
+ # Update properties of this object
561
+ def update!(**args)
562
+ @additional_card_benefits = args[:additional_card_benefits] unless args[:additional_card_benefits].nil?
563
+ @additional_card_holder_fee = args[:additional_card_holder_fee] unless args[:additional_card_holder_fee].nil?
564
+ @age_minimum = args[:age_minimum] unless args[:age_minimum].nil?
565
+ @age_minimum_details = args[:age_minimum_details] unless args[:age_minimum_details].nil?
566
+ @annual_fee = args[:annual_fee] unless args[:annual_fee].nil?
567
+ @annual_fee_display = args[:annual_fee_display] unless args[:annual_fee_display].nil?
568
+ @annual_reward_maximum = args[:annual_reward_maximum] unless args[:annual_reward_maximum].nil?
569
+ @approved_categories = args[:approved_categories] unless args[:approved_categories].nil?
570
+ @apr_display = args[:apr_display] unless args[:apr_display].nil?
571
+ @balance_computation_method = args[:balance_computation_method] unless args[:balance_computation_method].nil?
572
+ @balance_transfer_terms = args[:balance_transfer_terms] unless args[:balance_transfer_terms].nil?
573
+ @bonus_rewards = args[:bonus_rewards] unless args[:bonus_rewards].nil?
574
+ @car_rental_insurance = args[:car_rental_insurance] unless args[:car_rental_insurance].nil?
575
+ @card_benefits = args[:card_benefits] unless args[:card_benefits].nil?
576
+ @card_name = args[:card_name] unless args[:card_name].nil?
577
+ @card_type = args[:card_type] unless args[:card_type].nil?
578
+ @cash_advance_terms = args[:cash_advance_terms] unless args[:cash_advance_terms].nil?
579
+ @credit_limit_max = args[:credit_limit_max] unless args[:credit_limit_max].nil?
580
+ @credit_limit_min = args[:credit_limit_min] unless args[:credit_limit_min].nil?
581
+ @credit_rating_display = args[:credit_rating_display] unless args[:credit_rating_display].nil?
582
+ @default_fees = args[:default_fees] unless args[:default_fees].nil?
583
+ @disclaimer = args[:disclaimer] unless args[:disclaimer].nil?
584
+ @emergency_insurance = args[:emergency_insurance] unless args[:emergency_insurance].nil?
585
+ @existing_customer_only = args[:existing_customer_only] unless args[:existing_customer_only].nil?
586
+ @extended_warranty = args[:extended_warranty] unless args[:extended_warranty].nil?
587
+ @first_year_annual_fee = args[:first_year_annual_fee] unless args[:first_year_annual_fee].nil?
588
+ @flight_accident_insurance = args[:flight_accident_insurance] unless args[:flight_accident_insurance].nil?
589
+ @foreign_currency_transaction_fee = args[:foreign_currency_transaction_fee] unless args[:foreign_currency_transaction_fee].nil?
590
+ @fraud_liability = args[:fraud_liability] unless args[:fraud_liability].nil?
591
+ @grace_period_display = args[:grace_period_display] unless args[:grace_period_display].nil?
592
+ @image_url = args[:image_url] unless args[:image_url].nil?
593
+ @initial_setup_and_processing_fee = args[:initial_setup_and_processing_fee] unless args[:initial_setup_and_processing_fee].nil?
594
+ @intro_balance_transfer_terms = args[:intro_balance_transfer_terms] unless args[:intro_balance_transfer_terms].nil?
595
+ @intro_cash_advance_terms = args[:intro_cash_advance_terms] unless args[:intro_cash_advance_terms].nil?
596
+ @intro_purchase_terms = args[:intro_purchase_terms] unless args[:intro_purchase_terms].nil?
597
+ @issuer = args[:issuer] unless args[:issuer].nil?
598
+ @issuer_id = args[:issuer_id] unless args[:issuer_id].nil?
599
+ @issuer_website = args[:issuer_website] unless args[:issuer_website].nil?
600
+ @kind = args[:kind] unless args[:kind].nil?
601
+ @landing_page_url = args[:landing_page_url] unless args[:landing_page_url].nil?
602
+ @late_payment_fee = args[:late_payment_fee] unless args[:late_payment_fee].nil?
603
+ @luggage_insurance = args[:luggage_insurance] unless args[:luggage_insurance].nil?
604
+ @max_purchase_rate = args[:max_purchase_rate] unless args[:max_purchase_rate].nil?
605
+ @min_purchase_rate = args[:min_purchase_rate] unless args[:min_purchase_rate].nil?
606
+ @minimum_finance_charge = args[:minimum_finance_charge] unless args[:minimum_finance_charge].nil?
607
+ @network = args[:network] unless args[:network].nil?
608
+ @offer_id = args[:offer_id] unless args[:offer_id].nil?
609
+ @offers_immediate_cash_reward = args[:offers_immediate_cash_reward] unless args[:offers_immediate_cash_reward].nil?
610
+ @over_limit_fee = args[:over_limit_fee] unless args[:over_limit_fee].nil?
611
+ @prohibited_categories = args[:prohibited_categories] unless args[:prohibited_categories].nil?
612
+ @purchase_rate_additional_details = args[:purchase_rate_additional_details] unless args[:purchase_rate_additional_details].nil?
613
+ @purchase_rate_type = args[:purchase_rate_type] unless args[:purchase_rate_type].nil?
614
+ @returned_payment_fee = args[:returned_payment_fee] unless args[:returned_payment_fee].nil?
615
+ @reward_partner = args[:reward_partner] unless args[:reward_partner].nil?
616
+ @reward_unit = args[:reward_unit] unless args[:reward_unit].nil?
617
+ @rewards = args[:rewards] unless args[:rewards].nil?
618
+ @rewards_expire = args[:rewards_expire] unless args[:rewards_expire].nil?
619
+ @rewards_have_blackout_dates = args[:rewards_have_blackout_dates] unless args[:rewards_have_blackout_dates].nil?
620
+ @statement_copy_fee = args[:statement_copy_fee] unless args[:statement_copy_fee].nil?
621
+ @tracking_url = args[:tracking_url] unless args[:tracking_url].nil?
622
+ @travel_insurance = args[:travel_insurance] unless args[:travel_insurance].nil?
623
+ @variable_rates_last_updated = args[:variable_rates_last_updated] unless args[:variable_rates_last_updated].nil?
624
+ @variable_rates_update_frequency = args[:variable_rates_update_frequency] unless args[:variable_rates_update_frequency].nil?
625
+ end
626
+
627
+ #
628
+ class BonusReward
629
+ include Google::Apis::Core::Hashable
630
+
631
+ # How many units of reward will be granted.
632
+ # Corresponds to the JSON property `amount`
633
+ # @return [Float]
634
+ attr_accessor :amount
635
+
636
+ # The circumstances under which this rule applies, for example, booking a flight
637
+ # via Orbitz.
638
+ # Corresponds to the JSON property `details`
639
+ # @return [String]
640
+ attr_accessor :details
641
+
642
+ def initialize(**args)
643
+ update!(**args)
644
+ end
645
+
646
+ # Update properties of this object
647
+ def update!(**args)
648
+ @amount = args[:amount] unless args[:amount].nil?
649
+ @details = args[:details] unless args[:details].nil?
650
+ end
651
+ end
652
+
653
+ #
654
+ class DefaultFee
655
+ include Google::Apis::Core::Hashable
656
+
657
+ # The type of charge, for example Purchases.
658
+ # Corresponds to the JSON property `category`
659
+ # @return [String]
660
+ attr_accessor :category
661
+
662
+ # The highest rate the issuer may charge for defaulting on debt in this category.
663
+ # Expressed as an absolute number, not as a percentage.
664
+ # Corresponds to the JSON property `maxRate`
665
+ # @return [Float]
666
+ attr_accessor :max_rate
667
+
668
+ # The lowest rate the issuer may charge for defaulting on debt in this category.
669
+ # Expressed as an absolute number, not as a percentage.
670
+ # Corresponds to the JSON property `minRate`
671
+ # @return [Float]
672
+ attr_accessor :min_rate
673
+
674
+ # Fixed or variable.
675
+ # Corresponds to the JSON property `rateType`
676
+ # @return [String]
677
+ attr_accessor :rate_type
678
+
679
+ def initialize(**args)
680
+ update!(**args)
681
+ end
682
+
683
+ # Update properties of this object
684
+ def update!(**args)
685
+ @category = args[:category] unless args[:category].nil?
686
+ @max_rate = args[:max_rate] unless args[:max_rate].nil?
687
+ @min_rate = args[:min_rate] unless args[:min_rate].nil?
688
+ @rate_type = args[:rate_type] unless args[:rate_type].nil?
689
+ end
690
+ end
691
+
692
+ #
693
+ class Reward
694
+ include Google::Apis::Core::Hashable
695
+
696
+ # Other limits, for example, if this rule only applies during an introductory
697
+ # period.
698
+ # Corresponds to the JSON property `additionalDetails`
699
+ # @return [String]
700
+ attr_accessor :additional_details
701
+
702
+ # The number of units rewarded per purchase dollar.
703
+ # Corresponds to the JSON property `amount`
704
+ # @return [Float]
705
+ attr_accessor :amount
706
+
707
+ # The kind of purchases covered by this rule.
708
+ # Corresponds to the JSON property `category`
709
+ # @return [String]
710
+ attr_accessor :category
711
+
712
+ # How long rewards granted by this rule last.
713
+ # Corresponds to the JSON property `expirationMonths`
714
+ # @return [Float]
715
+ attr_accessor :expiration_months
716
+
717
+ # The maximum purchase amount in the given category for this rule to apply.
718
+ # Corresponds to the JSON property `maxRewardTier`
719
+ # @return [Float]
720
+ attr_accessor :max_reward_tier
721
+
722
+ # The minimum purchase amount in the given category before this rule applies.
723
+ # Corresponds to the JSON property `minRewardTier`
724
+ # @return [Float]
725
+ attr_accessor :min_reward_tier
726
+
727
+ def initialize(**args)
728
+ update!(**args)
729
+ end
730
+
731
+ # Update properties of this object
732
+ def update!(**args)
733
+ @additional_details = args[:additional_details] unless args[:additional_details].nil?
734
+ @amount = args[:amount] unless args[:amount].nil?
735
+ @category = args[:category] unless args[:category].nil?
736
+ @expiration_months = args[:expiration_months] unless args[:expiration_months].nil?
737
+ @max_reward_tier = args[:max_reward_tier] unless args[:max_reward_tier].nil?
738
+ @min_reward_tier = args[:min_reward_tier] unless args[:min_reward_tier].nil?
739
+ end
740
+ end
741
+ end
742
+
743
+ #
744
+ class CcOffers
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # The credit card offers.
748
+ # Corresponds to the JSON property `items`
749
+ # @return [Array<Google::Apis::GanV1beta1::CcOffer>]
750
+ attr_accessor :items
751
+
752
+ # The kind for a page of credit card offers.
753
+ # Corresponds to the JSON property `kind`
754
+ # @return [String]
755
+ attr_accessor :kind
756
+
757
+ def initialize(**args)
758
+ update!(**args)
759
+ end
760
+
761
+ # Update properties of this object
762
+ def update!(**args)
763
+ @items = args[:items] unless args[:items].nil?
764
+ @kind = args[:kind] unless args[:kind].nil?
765
+ end
766
+ end
767
+
768
+ # An EventResource.
769
+ class Event
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # The ID of advertiser for this event.
773
+ # Corresponds to the JSON property `advertiserId`
774
+ # @return [String]
775
+ attr_accessor :advertiser_id
776
+
777
+ # The name of the advertiser for this event.
778
+ # Corresponds to the JSON property `advertiserName`
779
+ # @return [String]
780
+ attr_accessor :advertiser_name
781
+
782
+ # The charge ID for this event. Only returned for charge events.
783
+ # Corresponds to the JSON property `chargeId`
784
+ # @return [String]
785
+ attr_accessor :charge_id
786
+
787
+ # Charge type of the event (other|slotting_fee|monthly_minimum|tier_bonus|debit|
788
+ # credit). Only returned for charge events.
789
+ # Corresponds to the JSON property `chargeType`
790
+ # @return [String]
791
+ attr_accessor :charge_type
792
+
793
+ # An ApiMoneyProto.
794
+ # Corresponds to the JSON property `commissionableSales`
795
+ # @return [Google::Apis::GanV1beta1::Money]
796
+ attr_accessor :commissionable_sales
797
+
798
+ # An ApiMoneyProto.
799
+ # Corresponds to the JSON property `earnings`
800
+ # @return [Google::Apis::GanV1beta1::Money]
801
+ attr_accessor :earnings
802
+
803
+ # The date-time this event was initiated as a RFC 3339 date-time value.
804
+ # Corresponds to the JSON property `eventDate`
805
+ # @return [DateTime]
806
+ attr_accessor :event_date
807
+
808
+ # The kind for one event.
809
+ # Corresponds to the JSON property `kind`
810
+ # @return [String]
811
+ attr_accessor :kind
812
+
813
+ # The ID of the member attached to this event. Only returned for conversion
814
+ # events.
815
+ # Corresponds to the JSON property `memberId`
816
+ # @return [String]
817
+ attr_accessor :member_id
818
+
819
+ # The date-time this event was last modified as a RFC 3339 date-time value.
820
+ # Corresponds to the JSON property `modifyDate`
821
+ # @return [DateTime]
822
+ attr_accessor :modify_date
823
+
824
+ # An ApiMoneyProto.
825
+ # Corresponds to the JSON property `networkFee`
826
+ # @return [Google::Apis::GanV1beta1::Money]
827
+ attr_accessor :network_fee
828
+
829
+ # The order ID for this event. Only returned for conversion events.
830
+ # Corresponds to the JSON property `orderId`
831
+ # @return [String]
832
+ attr_accessor :order_id
833
+
834
+ # Products associated with the event.
835
+ # Corresponds to the JSON property `products`
836
+ # @return [Array<Google::Apis::GanV1beta1::Event::Product>]
837
+ attr_accessor :products
838
+
839
+ # An ApiMoneyProto.
840
+ # Corresponds to the JSON property `publisherFee`
841
+ # @return [Google::Apis::GanV1beta1::Money]
842
+ attr_accessor :publisher_fee
843
+
844
+ # The ID of the publisher for this event.
845
+ # Corresponds to the JSON property `publisherId`
846
+ # @return [String]
847
+ attr_accessor :publisher_id
848
+
849
+ # The name of the publisher for this event.
850
+ # Corresponds to the JSON property `publisherName`
851
+ # @return [String]
852
+ attr_accessor :publisher_name
853
+
854
+ # Status of the event (active|canceled). Only returned for charge and conversion
855
+ # events.
856
+ # Corresponds to the JSON property `status`
857
+ # @return [String]
858
+ attr_accessor :status
859
+
860
+ # Type of the event (action|transaction|charge).
861
+ # Corresponds to the JSON property `type`
862
+ # @return [String]
863
+ attr_accessor :type
864
+
865
+ def initialize(**args)
866
+ update!(**args)
867
+ end
868
+
869
+ # Update properties of this object
870
+ def update!(**args)
871
+ @advertiser_id = args[:advertiser_id] unless args[:advertiser_id].nil?
872
+ @advertiser_name = args[:advertiser_name] unless args[:advertiser_name].nil?
873
+ @charge_id = args[:charge_id] unless args[:charge_id].nil?
874
+ @charge_type = args[:charge_type] unless args[:charge_type].nil?
875
+ @commissionable_sales = args[:commissionable_sales] unless args[:commissionable_sales].nil?
876
+ @earnings = args[:earnings] unless args[:earnings].nil?
877
+ @event_date = args[:event_date] unless args[:event_date].nil?
878
+ @kind = args[:kind] unless args[:kind].nil?
879
+ @member_id = args[:member_id] unless args[:member_id].nil?
880
+ @modify_date = args[:modify_date] unless args[:modify_date].nil?
881
+ @network_fee = args[:network_fee] unless args[:network_fee].nil?
882
+ @order_id = args[:order_id] unless args[:order_id].nil?
883
+ @products = args[:products] unless args[:products].nil?
884
+ @publisher_fee = args[:publisher_fee] unless args[:publisher_fee].nil?
885
+ @publisher_id = args[:publisher_id] unless args[:publisher_id].nil?
886
+ @publisher_name = args[:publisher_name] unless args[:publisher_name].nil?
887
+ @status = args[:status] unless args[:status].nil?
888
+ @type = args[:type] unless args[:type].nil?
889
+ end
890
+
891
+ #
892
+ class Product
893
+ include Google::Apis::Core::Hashable
894
+
895
+ # Id of the category this product belongs to.
896
+ # Corresponds to the JSON property `categoryId`
897
+ # @return [String]
898
+ attr_accessor :category_id
899
+
900
+ # Name of the category this product belongs to.
901
+ # Corresponds to the JSON property `categoryName`
902
+ # @return [String]
903
+ attr_accessor :category_name
904
+
905
+ # An ApiMoneyProto.
906
+ # Corresponds to the JSON property `earnings`
907
+ # @return [Google::Apis::GanV1beta1::Money]
908
+ attr_accessor :earnings
909
+
910
+ # An ApiMoneyProto.
911
+ # Corresponds to the JSON property `networkFee`
912
+ # @return [Google::Apis::GanV1beta1::Money]
913
+ attr_accessor :network_fee
914
+
915
+ # An ApiMoneyProto.
916
+ # Corresponds to the JSON property `publisherFee`
917
+ # @return [Google::Apis::GanV1beta1::Money]
918
+ attr_accessor :publisher_fee
919
+
920
+ # Quantity of this product bought/exchanged.
921
+ # Corresponds to the JSON property `quantity`
922
+ # @return [String]
923
+ attr_accessor :quantity
924
+
925
+ # Sku of this product.
926
+ # Corresponds to the JSON property `sku`
927
+ # @return [String]
928
+ attr_accessor :sku
929
+
930
+ # Sku name of this product.
931
+ # Corresponds to the JSON property `skuName`
932
+ # @return [String]
933
+ attr_accessor :sku_name
934
+
935
+ # An ApiMoneyProto.
936
+ # Corresponds to the JSON property `unitPrice`
937
+ # @return [Google::Apis::GanV1beta1::Money]
938
+ attr_accessor :unit_price
939
+
940
+ def initialize(**args)
941
+ update!(**args)
942
+ end
943
+
944
+ # Update properties of this object
945
+ def update!(**args)
946
+ @category_id = args[:category_id] unless args[:category_id].nil?
947
+ @category_name = args[:category_name] unless args[:category_name].nil?
948
+ @earnings = args[:earnings] unless args[:earnings].nil?
949
+ @network_fee = args[:network_fee] unless args[:network_fee].nil?
950
+ @publisher_fee = args[:publisher_fee] unless args[:publisher_fee].nil?
951
+ @quantity = args[:quantity] unless args[:quantity].nil?
952
+ @sku = args[:sku] unless args[:sku].nil?
953
+ @sku_name = args[:sku_name] unless args[:sku_name].nil?
954
+ @unit_price = args[:unit_price] unless args[:unit_price].nil?
955
+ end
956
+ end
957
+ end
958
+
959
+ #
960
+ class Events
961
+ include Google::Apis::Core::Hashable
962
+
963
+ # The event list.
964
+ # Corresponds to the JSON property `items`
965
+ # @return [Array<Google::Apis::GanV1beta1::Event>]
966
+ attr_accessor :items
967
+
968
+ # The kind for a page of events.
969
+ # Corresponds to the JSON property `kind`
970
+ # @return [String]
971
+ attr_accessor :kind
972
+
973
+ # The 'pageToken' to pass to the next request to get the next page, if there are
974
+ # more to retrieve.
975
+ # Corresponds to the JSON property `nextPageToken`
976
+ # @return [String]
977
+ attr_accessor :next_page_token
978
+
979
+ def initialize(**args)
980
+ update!(**args)
981
+ end
982
+
983
+ # Update properties of this object
984
+ def update!(**args)
985
+ @items = args[:items] unless args[:items].nil?
986
+ @kind = args[:kind] unless args[:kind].nil?
987
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
988
+ end
989
+ end
990
+
991
+ # A LinkResource.
992
+ class Link
993
+ include Google::Apis::Core::Hashable
994
+
995
+ # The advertiser id for the advertiser who owns this link.
996
+ # Corresponds to the JSON property `advertiserId`
997
+ # @return [String]
998
+ attr_accessor :advertiser_id
999
+
1000
+ # Authorship
1001
+ # Corresponds to the JSON property `authorship`
1002
+ # @return [String]
1003
+ attr_accessor :authorship
1004
+
1005
+ # Availability.
1006
+ # Corresponds to the JSON property `availability`
1007
+ # @return [String]
1008
+ attr_accessor :availability
1009
+
1010
+ # Tracking url for clicks.
1011
+ # Corresponds to the JSON property `clickTrackingUrl`
1012
+ # @return [String]
1013
+ attr_accessor :click_tracking_url
1014
+
1015
+ # Date that this link was created.
1016
+ # Corresponds to the JSON property `createDate`
1017
+ # @return [DateTime]
1018
+ attr_accessor :create_date
1019
+
1020
+ # Description.
1021
+ # Corresponds to the JSON property `description`
1022
+ # @return [String]
1023
+ attr_accessor :description
1024
+
1025
+ # The destination URL for the link.
1026
+ # Corresponds to the JSON property `destinationUrl`
1027
+ # @return [String]
1028
+ attr_accessor :destination_url
1029
+
1030
+ # Duration
1031
+ # Corresponds to the JSON property `duration`
1032
+ # @return [String]
1033
+ attr_accessor :duration
1034
+
1035
+ # Date that this link becomes inactive.
1036
+ # Corresponds to the JSON property `endDate`
1037
+ # @return [DateTime]
1038
+ attr_accessor :end_date
1039
+
1040
+ # An ApiMoneyProto.
1041
+ # Corresponds to the JSON property `epcNinetyDayAverage`
1042
+ # @return [Google::Apis::GanV1beta1::Money]
1043
+ attr_accessor :epc_ninety_day_average
1044
+
1045
+ # An ApiMoneyProto.
1046
+ # Corresponds to the JSON property `epcSevenDayAverage`
1047
+ # @return [Google::Apis::GanV1beta1::Money]
1048
+ attr_accessor :epc_seven_day_average
1049
+
1050
+ # The ID of this link.
1051
+ # Corresponds to the JSON property `id`
1052
+ # @return [String]
1053
+ attr_accessor :id
1054
+
1055
+ # image alt text.
1056
+ # Corresponds to the JSON property `imageAltText`
1057
+ # @return [String]
1058
+ attr_accessor :image_alt_text
1059
+
1060
+ # Tracking url for impressions.
1061
+ # Corresponds to the JSON property `impressionTrackingUrl`
1062
+ # @return [String]
1063
+ attr_accessor :impression_tracking_url
1064
+
1065
+ # Flag for if this link is active.
1066
+ # Corresponds to the JSON property `isActive`
1067
+ # @return [Boolean]
1068
+ attr_accessor :is_active
1069
+ alias_method :is_active?, :is_active
1070
+
1071
+ # The kind for one entity.
1072
+ # Corresponds to the JSON property `kind`
1073
+ # @return [String]
1074
+ attr_accessor :kind
1075
+
1076
+ # The link type.
1077
+ # Corresponds to the JSON property `linkType`
1078
+ # @return [String]
1079
+ attr_accessor :link_type
1080
+
1081
+ # The logical name for this link.
1082
+ # Corresponds to the JSON property `name`
1083
+ # @return [String]
1084
+ attr_accessor :name
1085
+
1086
+ # Promotion Type
1087
+ # Corresponds to the JSON property `promotionType`
1088
+ # @return [String]
1089
+ attr_accessor :promotion_type
1090
+
1091
+ # Special offers on the link.
1092
+ # Corresponds to the JSON property `specialOffers`
1093
+ # @return [Google::Apis::GanV1beta1::Link::SpecialOffers]
1094
+ attr_accessor :special_offers
1095
+
1096
+ # Date that this link becomes active.
1097
+ # Corresponds to the JSON property `startDate`
1098
+ # @return [DateTime]
1099
+ attr_accessor :start_date
1100
+
1101
+ def initialize(**args)
1102
+ update!(**args)
1103
+ end
1104
+
1105
+ # Update properties of this object
1106
+ def update!(**args)
1107
+ @advertiser_id = args[:advertiser_id] unless args[:advertiser_id].nil?
1108
+ @authorship = args[:authorship] unless args[:authorship].nil?
1109
+ @availability = args[:availability] unless args[:availability].nil?
1110
+ @click_tracking_url = args[:click_tracking_url] unless args[:click_tracking_url].nil?
1111
+ @create_date = args[:create_date] unless args[:create_date].nil?
1112
+ @description = args[:description] unless args[:description].nil?
1113
+ @destination_url = args[:destination_url] unless args[:destination_url].nil?
1114
+ @duration = args[:duration] unless args[:duration].nil?
1115
+ @end_date = args[:end_date] unless args[:end_date].nil?
1116
+ @epc_ninety_day_average = args[:epc_ninety_day_average] unless args[:epc_ninety_day_average].nil?
1117
+ @epc_seven_day_average = args[:epc_seven_day_average] unless args[:epc_seven_day_average].nil?
1118
+ @id = args[:id] unless args[:id].nil?
1119
+ @image_alt_text = args[:image_alt_text] unless args[:image_alt_text].nil?
1120
+ @impression_tracking_url = args[:impression_tracking_url] unless args[:impression_tracking_url].nil?
1121
+ @is_active = args[:is_active] unless args[:is_active].nil?
1122
+ @kind = args[:kind] unless args[:kind].nil?
1123
+ @link_type = args[:link_type] unless args[:link_type].nil?
1124
+ @name = args[:name] unless args[:name].nil?
1125
+ @promotion_type = args[:promotion_type] unless args[:promotion_type].nil?
1126
+ @special_offers = args[:special_offers] unless args[:special_offers].nil?
1127
+ @start_date = args[:start_date] unless args[:start_date].nil?
1128
+ end
1129
+
1130
+ # Special offers on the link.
1131
+ class SpecialOffers
1132
+ include Google::Apis::Core::Hashable
1133
+
1134
+ # Whether there is a free gift
1135
+ # Corresponds to the JSON property `freeGift`
1136
+ # @return [Boolean]
1137
+ attr_accessor :free_gift
1138
+ alias_method :free_gift?, :free_gift
1139
+
1140
+ # Whether there is free shipping
1141
+ # Corresponds to the JSON property `freeShipping`
1142
+ # @return [Boolean]
1143
+ attr_accessor :free_shipping
1144
+ alias_method :free_shipping?, :free_shipping
1145
+
1146
+ # An ApiMoneyProto.
1147
+ # Corresponds to the JSON property `freeShippingMin`
1148
+ # @return [Google::Apis::GanV1beta1::Money]
1149
+ attr_accessor :free_shipping_min
1150
+
1151
+ # Percent off on the purchase
1152
+ # Corresponds to the JSON property `percentOff`
1153
+ # @return [Float]
1154
+ attr_accessor :percent_off
1155
+
1156
+ # An ApiMoneyProto.
1157
+ # Corresponds to the JSON property `percentOffMin`
1158
+ # @return [Google::Apis::GanV1beta1::Money]
1159
+ attr_accessor :percent_off_min
1160
+
1161
+ # An ApiMoneyProto.
1162
+ # Corresponds to the JSON property `priceCut`
1163
+ # @return [Google::Apis::GanV1beta1::Money]
1164
+ attr_accessor :price_cut
1165
+
1166
+ # An ApiMoneyProto.
1167
+ # Corresponds to the JSON property `priceCutMin`
1168
+ # @return [Google::Apis::GanV1beta1::Money]
1169
+ attr_accessor :price_cut_min
1170
+
1171
+ # List of promotion code associated with the link
1172
+ # Corresponds to the JSON property `promotionCodes`
1173
+ # @return [Array<String>]
1174
+ attr_accessor :promotion_codes
1175
+
1176
+ def initialize(**args)
1177
+ update!(**args)
1178
+ end
1179
+
1180
+ # Update properties of this object
1181
+ def update!(**args)
1182
+ @free_gift = args[:free_gift] unless args[:free_gift].nil?
1183
+ @free_shipping = args[:free_shipping] unless args[:free_shipping].nil?
1184
+ @free_shipping_min = args[:free_shipping_min] unless args[:free_shipping_min].nil?
1185
+ @percent_off = args[:percent_off] unless args[:percent_off].nil?
1186
+ @percent_off_min = args[:percent_off_min] unless args[:percent_off_min].nil?
1187
+ @price_cut = args[:price_cut] unless args[:price_cut].nil?
1188
+ @price_cut_min = args[:price_cut_min] unless args[:price_cut_min].nil?
1189
+ @promotion_codes = args[:promotion_codes] unless args[:promotion_codes].nil?
1190
+ end
1191
+ end
1192
+ end
1193
+
1194
+ #
1195
+ class Links
1196
+ include Google::Apis::Core::Hashable
1197
+
1198
+ # The links.
1199
+ # Corresponds to the JSON property `items`
1200
+ # @return [Array<Google::Apis::GanV1beta1::Link>]
1201
+ attr_accessor :items
1202
+
1203
+ # The kind for a page of links.
1204
+ # Corresponds to the JSON property `kind`
1205
+ # @return [String]
1206
+ attr_accessor :kind
1207
+
1208
+ # The next page token.
1209
+ # Corresponds to the JSON property `nextPageToken`
1210
+ # @return [String]
1211
+ attr_accessor :next_page_token
1212
+
1213
+ def initialize(**args)
1214
+ update!(**args)
1215
+ end
1216
+
1217
+ # Update properties of this object
1218
+ def update!(**args)
1219
+ @items = args[:items] unless args[:items].nil?
1220
+ @kind = args[:kind] unless args[:kind].nil?
1221
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1222
+ end
1223
+ end
1224
+
1225
+ # An ApiMoneyProto.
1226
+ class Money
1227
+ include Google::Apis::Core::Hashable
1228
+
1229
+ # The amount of money.
1230
+ # Corresponds to the JSON property `amount`
1231
+ # @return [Float]
1232
+ attr_accessor :amount
1233
+
1234
+ # The 3-letter code of the currency in question.
1235
+ # Corresponds to the JSON property `currencyCode`
1236
+ # @return [String]
1237
+ attr_accessor :currency_code
1238
+
1239
+ def initialize(**args)
1240
+ update!(**args)
1241
+ end
1242
+
1243
+ # Update properties of this object
1244
+ def update!(**args)
1245
+ @amount = args[:amount] unless args[:amount].nil?
1246
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
1247
+ end
1248
+ end
1249
+
1250
+ # A PublisherResource.
1251
+ class Publisher
1252
+ include Google::Apis::Core::Hashable
1253
+
1254
+ # Classification that this publisher belongs to. See this link for all publisher
1255
+ # classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/
1256
+ # answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
1257
+ # Corresponds to the JSON property `classification`
1258
+ # @return [String]
1259
+ attr_accessor :classification
1260
+
1261
+ # An ApiMoneyProto.
1262
+ # Corresponds to the JSON property `epcNinetyDayAverage`
1263
+ # @return [Google::Apis::GanV1beta1::Money]
1264
+ attr_accessor :epc_ninety_day_average
1265
+
1266
+ # An ApiMoneyProto.
1267
+ # Corresponds to the JSON property `epcSevenDayAverage`
1268
+ # @return [Google::Apis::GanV1beta1::Money]
1269
+ attr_accessor :epc_seven_day_average
1270
+
1271
+ # The ID of this publisher.
1272
+ # Corresponds to the JSON property `id`
1273
+ # @return [String]
1274
+ attr_accessor :id
1275
+
1276
+ # A PublisherResource.
1277
+ # Corresponds to the JSON property `item`
1278
+ # @return [Google::Apis::GanV1beta1::Publisher]
1279
+ attr_accessor :item
1280
+
1281
+ # Date that this publisher was approved as a Google Affiliate Network publisher.
1282
+ # Corresponds to the JSON property `joinDate`
1283
+ # @return [DateTime]
1284
+ attr_accessor :join_date
1285
+
1286
+ # The kind for a publisher.
1287
+ # Corresponds to the JSON property `kind`
1288
+ # @return [String]
1289
+ attr_accessor :kind
1290
+
1291
+ # The name of this publisher.
1292
+ # Corresponds to the JSON property `name`
1293
+ # @return [String]
1294
+ attr_accessor :name
1295
+
1296
+ # A rank based on commissions paid to this publisher over the past 90 days. A
1297
+ # number between 1 and 4 where 4 means the top quartile (most money paid) and 1
1298
+ # means the bottom quartile (least money paid).
1299
+ # Corresponds to the JSON property `payoutRank`
1300
+ # @return [String]
1301
+ attr_accessor :payout_rank
1302
+
1303
+ # Websites that this publisher uses to advertise.
1304
+ # Corresponds to the JSON property `sites`
1305
+ # @return [Array<String>]
1306
+ attr_accessor :sites
1307
+
1308
+ # The status of the requesting advertiser's relationship with this publisher.
1309
+ # Corresponds to the JSON property `status`
1310
+ # @return [String]
1311
+ attr_accessor :status
1312
+
1313
+ def initialize(**args)
1314
+ update!(**args)
1315
+ end
1316
+
1317
+ # Update properties of this object
1318
+ def update!(**args)
1319
+ @classification = args[:classification] unless args[:classification].nil?
1320
+ @epc_ninety_day_average = args[:epc_ninety_day_average] unless args[:epc_ninety_day_average].nil?
1321
+ @epc_seven_day_average = args[:epc_seven_day_average] unless args[:epc_seven_day_average].nil?
1322
+ @id = args[:id] unless args[:id].nil?
1323
+ @item = args[:item] unless args[:item].nil?
1324
+ @join_date = args[:join_date] unless args[:join_date].nil?
1325
+ @kind = args[:kind] unless args[:kind].nil?
1326
+ @name = args[:name] unless args[:name].nil?
1327
+ @payout_rank = args[:payout_rank] unless args[:payout_rank].nil?
1328
+ @sites = args[:sites] unless args[:sites].nil?
1329
+ @status = args[:status] unless args[:status].nil?
1330
+ end
1331
+ end
1332
+
1333
+ #
1334
+ class Publishers
1335
+ include Google::Apis::Core::Hashable
1336
+
1337
+ # The entity list.
1338
+ # Corresponds to the JSON property `items`
1339
+ # @return [Array<Google::Apis::GanV1beta1::Publisher>]
1340
+ attr_accessor :items
1341
+
1342
+ # The kind for a page of entities.
1343
+ # Corresponds to the JSON property `kind`
1344
+ # @return [String]
1345
+ attr_accessor :kind
1346
+
1347
+ # The 'pageToken' to pass to the next request to get the next page, if there are
1348
+ # more to retrieve.
1349
+ # Corresponds to the JSON property `nextPageToken`
1350
+ # @return [String]
1351
+ attr_accessor :next_page_token
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @items = args[:items] unless args[:items].nil?
1360
+ @kind = args[:kind] unless args[:kind].nil?
1361
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1362
+ end
1363
+ end
1364
+
1365
+ # A ReportResource representing a report of a certain type either for an
1366
+ # advertiser or publisher.
1367
+ class Report
1368
+ include Google::Apis::Core::Hashable
1369
+
1370
+ # The column names for the report
1371
+ # Corresponds to the JSON property `column_names`
1372
+ # @return [Array<String>]
1373
+ attr_accessor :column_names
1374
+
1375
+ # The end of the date range for this report, exclusive.
1376
+ # Corresponds to the JSON property `end_date`
1377
+ # @return [String]
1378
+ attr_accessor :end_date
1379
+
1380
+ # The kind for a report.
1381
+ # Corresponds to the JSON property `kind`
1382
+ # @return [String]
1383
+ attr_accessor :kind
1384
+
1385
+ # The number of matching rows before paging is applied.
1386
+ # Corresponds to the JSON property `matching_row_count`
1387
+ # @return [String]
1388
+ attr_accessor :matching_row_count
1389
+
1390
+ # The rows of data for the report
1391
+ # Corresponds to the JSON property `rows`
1392
+ # @return [Array<Array<Object>>]
1393
+ attr_accessor :rows
1394
+
1395
+ # The start of the date range for this report, inclusive.
1396
+ # Corresponds to the JSON property `start_date`
1397
+ # @return [String]
1398
+ attr_accessor :start_date
1399
+
1400
+ # The totals rows for the report
1401
+ # Corresponds to the JSON property `totals_rows`
1402
+ # @return [Array<Array<Object>>]
1403
+ attr_accessor :totals_rows
1404
+
1405
+ # The report type.
1406
+ # Corresponds to the JSON property `type`
1407
+ # @return [String]
1408
+ attr_accessor :type
1409
+
1410
+ def initialize(**args)
1411
+ update!(**args)
1412
+ end
1413
+
1414
+ # Update properties of this object
1415
+ def update!(**args)
1416
+ @column_names = args[:column_names] unless args[:column_names].nil?
1417
+ @end_date = args[:end_date] unless args[:end_date].nil?
1418
+ @kind = args[:kind] unless args[:kind].nil?
1419
+ @matching_row_count = args[:matching_row_count] unless args[:matching_row_count].nil?
1420
+ @rows = args[:rows] unless args[:rows].nil?
1421
+ @start_date = args[:start_date] unless args[:start_date].nil?
1422
+ @totals_rows = args[:totals_rows] unless args[:totals_rows].nil?
1423
+ @type = args[:type] unless args[:type].nil?
1424
+ end
1425
+ end
1426
+ end
1427
+ end
1428
+ end