google-api-client 0.8.3 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) 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 +22 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +52 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +35 -1
  11. data/MIGRATING.md +171 -0
  12. data/README.md +181 -148
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1036 -0
  15. data/api_names_out.yaml +26053 -0
  16. data/bin/generate-api +95 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  21. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  24. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  25. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  26. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  27. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  28. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  29. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  30. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  31. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  32. data/generated/google/apis/admin_directory_v1.rb +113 -0
  33. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  34. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  35. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  36. data/generated/google/apis/admin_reports_v1.rb +38 -0
  37. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  38. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  39. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  40. data/generated/google/apis/adsense_v1_4.rb +38 -0
  41. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  42. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  43. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  44. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  45. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  46. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  47. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  48. data/generated/google/apis/analytics_v3.rb +49 -0
  49. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  50. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  51. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  52. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  53. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  54. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  55. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  56. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  57. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  58. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  59. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  60. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  61. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  62. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  63. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  64. data/generated/google/apis/appsactivity_v1.rb +46 -0
  65. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  66. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  67. data/generated/google/apis/appstate_v1/service.rb +260 -0
  68. data/generated/google/apis/appstate_v1.rb +34 -0
  69. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  70. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  71. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  72. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  73. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  74. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  75. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  76. data/generated/google/apis/bigquery_v2.rb +52 -0
  77. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  78. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  79. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  80. data/generated/google/apis/blogger_v3.rb +37 -0
  81. data/generated/google/apis/books_v1/classes.rb +3956 -0
  82. data/generated/google/apis/books_v1/representations.rb +1538 -0
  83. data/generated/google/apis/books_v1/service.rb +2290 -0
  84. data/generated/google/apis/books_v1.rb +34 -0
  85. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  86. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  87. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  88. data/generated/google/apis/calendar_v3.rb +37 -0
  89. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  90. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  91. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  92. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  93. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  94. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  95. data/generated/google/apis/classroom_v1/service.rb +970 -0
  96. data/generated/google/apis/classroom_v1.rb +49 -0
  97. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  98. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  99. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  100. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  101. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  102. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  103. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  104. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  105. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  106. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  107. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  108. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  117. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  118. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  119. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  120. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  121. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  122. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  123. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  124. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  125. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  126. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  127. data/generated/google/apis/compute_beta/service.rb +10154 -0
  128. data/generated/google/apis/compute_beta.rb +49 -0
  129. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  130. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  131. data/generated/google/apis/compute_v1/service.rb +9252 -0
  132. data/generated/google/apis/compute_v1.rb +49 -0
  133. data/generated/google/apis/container_v1/classes.rb +463 -0
  134. data/generated/google/apis/container_v1/representations.rb +175 -0
  135. data/generated/google/apis/container_v1/service.rb +367 -0
  136. data/generated/google/apis/container_v1.rb +35 -0
  137. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  138. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  139. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  140. data/generated/google/apis/container_v1beta1.rb +35 -0
  141. data/generated/google/apis/content_v2/classes.rb +5986 -0
  142. data/generated/google/apis/content_v2/representations.rb +2288 -0
  143. data/generated/google/apis/content_v2/service.rb +2338 -0
  144. data/generated/google/apis/content_v2.rb +35 -0
  145. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  146. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  147. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  148. data/generated/google/apis/coordinate_v1.rb +37 -0
  149. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  150. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  151. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  152. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  153. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  154. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  155. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  156. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  157. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  158. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  159. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  160. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  165. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  166. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  167. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  168. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  169. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  170. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  171. data/generated/google/apis/discovery_v1/service.rb +142 -0
  172. data/generated/google/apis/discovery_v1.rb +32 -0
  173. data/generated/google/apis/dns_v1/classes.rb +406 -0
  174. data/generated/google/apis/dns_v1/representations.rb +151 -0
  175. data/generated/google/apis/dns_v1/service.rb +454 -0
  176. data/generated/google/apis/dns_v1.rb +44 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  181. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  182. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  183. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  184. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  185. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  186. data/generated/google/apis/drive_v2/representations.rb +795 -0
  187. data/generated/google/apis/drive_v2/service.rb +2696 -0
  188. data/generated/google/apis/drive_v2.rb +58 -0
  189. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  190. data/generated/google/apis/drive_v3/representations.rb +497 -0
  191. data/generated/google/apis/drive_v3/service.rb +1541 -0
  192. data/generated/google/apis/drive_v3.rb +55 -0
  193. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  194. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  195. data/generated/google/apis/fitness_v1/service.rb +675 -0
  196. data/generated/google/apis/fitness_v1.rb +49 -0
  197. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  198. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  199. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  200. data/generated/google/apis/fusiontables_v2.rb +37 -0
  201. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  202. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  203. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  204. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  205. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  206. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  207. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  208. data/generated/google/apis/games_management_v1management.rb +37 -0
  209. data/generated/google/apis/games_v1/classes.rb +4617 -0
  210. data/generated/google/apis/games_v1/representations.rb +1584 -0
  211. data/generated/google/apis/games_v1/service.rb +2290 -0
  212. data/generated/google/apis/games_v1.rb +40 -0
  213. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  214. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  215. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  216. data/generated/google/apis/gan_v1beta1.rb +31 -0
  217. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  218. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  219. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  220. data/generated/google/apis/genomics_v1.rb +49 -0
  221. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  222. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  223. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  224. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  225. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  226. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  227. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  228. data/generated/google/apis/gmail_v1.rb +52 -0
  229. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  230. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  231. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  232. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  233. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  234. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  235. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  236. data/generated/google/apis/groupssettings_v1.rb +34 -0
  237. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  238. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  239. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  240. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  241. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  242. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  243. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  244. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  245. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  246. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  247. data/generated/google/apis/licensing_v1/service.rb +369 -0
  248. data/generated/google/apis/licensing_v1.rb +34 -0
  249. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  250. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  251. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  252. data/generated/google/apis/logging_v1beta3.rb +47 -0
  253. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  254. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  255. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  256. data/generated/google/apis/manager_v1beta2.rb +53 -0
  257. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  258. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  259. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  260. data/generated/google/apis/mapsengine_v1.rb +38 -0
  261. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  262. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  263. data/generated/google/apis/mirror_v1/service.rb +977 -0
  264. data/generated/google/apis/mirror_v1.rb +37 -0
  265. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  266. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  267. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  268. data/generated/google/apis/oauth2_v2.rb +43 -0
  269. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  270. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  271. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  272. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  273. data/generated/google/apis/partners_v2/classes.rb +942 -0
  274. data/generated/google/apis/partners_v2/representations.rb +402 -0
  275. data/generated/google/apis/partners_v2/service.rb +400 -0
  276. data/generated/google/apis/partners_v2.rb +32 -0
  277. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  278. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  279. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  280. data/generated/google/apis/plus_domains_v1.rb +61 -0
  281. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  282. data/generated/google/apis/plus_v1/representations.rb +805 -0
  283. data/generated/google/apis/plus_v1/service.rb +470 -0
  284. data/generated/google/apis/plus_v1.rb +43 -0
  285. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  286. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  287. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  288. data/generated/google/apis/prediction_v1_6.rb +44 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  293. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  294. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  295. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  296. data/generated/google/apis/pubsub_v1.rb +37 -0
  297. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  298. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  299. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  300. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  301. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  302. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  303. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  304. data/generated/google/apis/qpx_express_v1.rb +31 -0
  305. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  306. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  307. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  308. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  313. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  314. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  315. data/generated/google/apis/reseller_v1/service.rb +623 -0
  316. data/generated/google/apis/reseller_v1.rb +37 -0
  317. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  318. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  319. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  320. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  321. data/generated/google/apis/script_v1/classes.rb +259 -0
  322. data/generated/google/apis/script_v1/representations.rb +106 -0
  323. data/generated/google/apis/script_v1/service.rb +98 -0
  324. data/generated/google/apis/script_v1.rb +61 -0
  325. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  326. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  327. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  328. data/generated/google/apis/site_verification_v1.rb +37 -0
  329. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  330. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  331. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  332. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  333. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  334. data/generated/google/apis/storage_v1/representations.rb +445 -0
  335. data/generated/google/apis/storage_v1/service.rb +1903 -0
  336. data/generated/google/apis/storage_v1.rb +46 -0
  337. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  338. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  339. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  340. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  341. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  342. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  343. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  344. data/generated/google/apis/tagmanager_v1.rb +52 -0
  345. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  346. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  347. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  348. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  349. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  350. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  351. data/generated/google/apis/tasks_v1/service.rb +643 -0
  352. data/generated/google/apis/tasks_v1.rb +37 -0
  353. data/generated/google/apis/translate_v2/classes.rb +168 -0
  354. data/generated/google/apis/translate_v2/representations.rb +109 -0
  355. data/generated/google/apis/translate_v2/service.rb +182 -0
  356. data/generated/google/apis/translate_v2.rb +31 -0
  357. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  358. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  359. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  360. data/generated/google/apis/urlshortener_v1.rb +34 -0
  361. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  362. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  363. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  364. data/generated/google/apis/webmasters_v3.rb +37 -0
  365. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  366. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  367. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  368. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  369. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  370. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  371. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  372. data/generated/google/apis/youtube_v3.rb +49 -0
  373. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  374. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  375. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  376. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  377. data/google-api-client.gemspec +27 -39
  378. data/lib/google/api_client/auth/installed_app.rb +7 -5
  379. data/lib/google/api_client/auth/key_utils.rb +12 -11
  380. data/lib/google/api_client/auth/storage.rb +5 -2
  381. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  382. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  383. data/lib/google/api_client/client_secrets.rb +4 -5
  384. data/lib/google/apis/core/api_command.rb +135 -0
  385. data/lib/google/apis/core/base_service.rb +317 -0
  386. data/lib/google/apis/core/batch.rb +239 -0
  387. data/lib/google/apis/core/download.rb +94 -0
  388. data/lib/google/apis/core/hashable.rb +44 -0
  389. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  390. data/lib/google/apis/core/http_command.rb +312 -0
  391. data/lib/google/apis/core/json_representation.rb +127 -0
  392. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  393. data/lib/google/apis/core/multipart.rb +187 -0
  394. data/lib/google/apis/core/upload.rb +288 -0
  395. data/lib/google/{api_client → apis}/errors.rb +39 -28
  396. data/lib/google/apis/generator/annotator.rb +295 -0
  397. data/lib/google/apis/generator/helpers.rb +74 -0
  398. data/lib/google/apis/generator/model.rb +143 -0
  399. data/lib/google/apis/generator/template.rb +124 -0
  400. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  401. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  402. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  403. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  404. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  405. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  406. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  407. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  408. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  409. data/lib/google/apis/generator.rb +70 -0
  410. data/lib/google/apis/options.rb +85 -0
  411. data/lib/google/apis/version.rb +39 -0
  412. data/lib/google/apis.rb +48 -0
  413. data/rakelib/metrics.rake +22 -0
  414. data/rakelib/rubocop.rake +10 -0
  415. data/rakelib/spec.rake +11 -0
  416. data/rakelib/yard.rake +11 -0
  417. data/samples/Gemfile +7 -0
  418. data/samples/README.md +51 -0
  419. data/samples/google-api-samples +32 -0
  420. data/samples/lib/base_cli.rb +94 -0
  421. data/samples/lib/samples/analytics.rb +62 -0
  422. data/samples/lib/samples/calendar.rb +83 -0
  423. data/samples/lib/samples/drive.rb +82 -0
  424. data/samples/lib/samples/gmail.rb +50 -0
  425. data/samples/lib/samples/pubsub.rb +114 -0
  426. data/samples/lib/samples/translate.rb +44 -0
  427. data/samples/lib/samples/you_tube.rb +44 -0
  428. data/script/generate +95 -0
  429. data/script/package +8 -0
  430. data/script/release +15 -0
  431. data/spec/fixtures/files/api_names.yaml +3 -0
  432. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  433. data/spec/fixtures/files/child/.gitignore +0 -0
  434. data/spec/fixtures/files/client_secrets.json +1 -0
  435. data/spec/fixtures/files/invalid.json +1 -0
  436. data/spec/fixtures/files/test.blah +1 -0
  437. data/spec/fixtures/files/test.txt +1 -0
  438. data/spec/fixtures/files/test_api.json +440 -0
  439. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  440. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  441. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  442. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  443. data/spec/google/apis/core/api_command_spec.rb +209 -0
  444. data/spec/google/apis/core/batch_spec.rb +142 -0
  445. data/spec/google/apis/core/download_spec.rb +103 -0
  446. data/spec/google/apis/core/hashable_spec.rb +60 -0
  447. data/spec/google/apis/core/http_command_spec.rb +284 -0
  448. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  449. data/spec/google/apis/core/service_spec.rb +247 -0
  450. data/spec/google/apis/core/upload_spec.rb +300 -0
  451. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  452. data/spec/google/apis/generator/generator_spec.rb +272 -0
  453. data/spec/google/apis/logging_spec.rb +45 -0
  454. data/spec/google/apis/options_spec.rb +40 -0
  455. data/spec/integration_tests/adsense_spec.rb +29 -0
  456. data/spec/integration_tests/drive_spec.rb +35 -0
  457. data/spec/integration_tests/pubsub_spec.rb +48 -0
  458. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  459. data/spec/spec_helper/load_path_spec.rb +33 -0
  460. data/spec/spec_helper.rb +131 -44
  461. data/third_party/hurley_patches.rb +103 -0
  462. metadata +533 -170
  463. data/lib/compat/multi_json.rb +0 -19
  464. data/lib/google/api_client/auth/file_storage.rb +0 -59
  465. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  466. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  467. data/lib/google/api_client/batch.rb +0 -325
  468. data/lib/google/api_client/charset.rb +0 -33
  469. data/lib/google/api_client/discovery/api.rb +0 -300
  470. data/lib/google/api_client/discovery/media.rb +0 -77
  471. data/lib/google/api_client/discovery/method.rb +0 -363
  472. data/lib/google/api_client/discovery/resource.rb +0 -156
  473. data/lib/google/api_client/discovery/schema.rb +0 -119
  474. data/lib/google/api_client/environment.rb +0 -42
  475. data/lib/google/api_client/gzip.rb +0 -28
  476. data/lib/google/api_client/logging.rb +0 -32
  477. data/lib/google/api_client/media.rb +0 -259
  478. data/lib/google/api_client/railtie.rb +0 -18
  479. data/lib/google/api_client/request.rb +0 -350
  480. data/lib/google/api_client/result.rb +0 -255
  481. data/lib/google/api_client/service/batch.rb +0 -110
  482. data/lib/google/api_client/service/request.rb +0 -144
  483. data/lib/google/api_client/service/resource.rb +0 -40
  484. data/lib/google/api_client/service/result.rb +0 -162
  485. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  486. data/lib/google/api_client/service/stub_generator.rb +0 -61
  487. data/lib/google/api_client/service.rb +0 -233
  488. data/lib/google/api_client.rb +0 -750
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -662
  491. data/spec/google/api_client/gzip_spec.rb +0 -98
  492. data/spec/google/api_client/media_spec.rb +0 -178
  493. data/spec/google/api_client/result_spec.rb +0 -207
  494. data/spec/google/api_client/service_account_spec.rb +0 -169
  495. data/spec/google/api_client/service_spec.rb +0 -618
  496. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  497. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,3956 @@
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 BooksV1
24
+
25
+ #
26
+ class Annotation
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Anchor text after excerpt. For requests, if the user bookmarked a screen that
30
+ # has no flowing text on it, then this field should be empty.
31
+ # Corresponds to the JSON property `afterSelectedText`
32
+ # @return [String]
33
+ attr_accessor :after_selected_text
34
+
35
+ # Anchor text before excerpt. For requests, if the user bookmarked a screen that
36
+ # has no flowing text on it, then this field should be empty.
37
+ # Corresponds to the JSON property `beforeSelectedText`
38
+ # @return [String]
39
+ attr_accessor :before_selected_text
40
+
41
+ # Selection ranges sent from the client.
42
+ # Corresponds to the JSON property `clientVersionRanges`
43
+ # @return [Google::Apis::BooksV1::Annotation::ClientVersionRanges]
44
+ attr_accessor :client_version_ranges
45
+
46
+ # Timestamp for the created time of this annotation.
47
+ # Corresponds to the JSON property `created`
48
+ # @return [DateTime]
49
+ attr_accessor :created
50
+
51
+ # Selection ranges for the most recent content version.
52
+ # Corresponds to the JSON property `currentVersionRanges`
53
+ # @return [Google::Apis::BooksV1::Annotation::CurrentVersionRanges]
54
+ attr_accessor :current_version_ranges
55
+
56
+ # User-created data for this annotation.
57
+ # Corresponds to the JSON property `data`
58
+ # @return [String]
59
+ attr_accessor :data
60
+
61
+ # Indicates that this annotation is deleted.
62
+ # Corresponds to the JSON property `deleted`
63
+ # @return [Boolean]
64
+ attr_accessor :deleted
65
+ alias_method :deleted?, :deleted
66
+
67
+ # The highlight style for this annotation.
68
+ # Corresponds to the JSON property `highlightStyle`
69
+ # @return [String]
70
+ attr_accessor :highlight_style
71
+
72
+ # Id of this annotation, in the form of a GUID.
73
+ # Corresponds to the JSON property `id`
74
+ # @return [String]
75
+ attr_accessor :id
76
+
77
+ # Resource type.
78
+ # Corresponds to the JSON property `kind`
79
+ # @return [String]
80
+ attr_accessor :kind
81
+
82
+ # The layer this annotation is for.
83
+ # Corresponds to the JSON property `layerId`
84
+ # @return [String]
85
+ attr_accessor :layer_id
86
+
87
+ #
88
+ # Corresponds to the JSON property `layerSummary`
89
+ # @return [Google::Apis::BooksV1::Annotation::LayerSummary]
90
+ attr_accessor :layer_summary
91
+
92
+ # Pages that this annotation spans.
93
+ # Corresponds to the JSON property `pageIds`
94
+ # @return [Array<String>]
95
+ attr_accessor :page_ids
96
+
97
+ # Excerpt from the volume.
98
+ # Corresponds to the JSON property `selectedText`
99
+ # @return [String]
100
+ attr_accessor :selected_text
101
+
102
+ # URL to this resource.
103
+ # Corresponds to the JSON property `selfLink`
104
+ # @return [String]
105
+ attr_accessor :self_link
106
+
107
+ # Timestamp for the last time this annotation was modified.
108
+ # Corresponds to the JSON property `updated`
109
+ # @return [DateTime]
110
+ attr_accessor :updated
111
+
112
+ # The volume that this annotation belongs to.
113
+ # Corresponds to the JSON property `volumeId`
114
+ # @return [String]
115
+ attr_accessor :volume_id
116
+
117
+ def initialize(**args)
118
+ update!(**args)
119
+ end
120
+
121
+ # Update properties of this object
122
+ def update!(**args)
123
+ @after_selected_text = args[:after_selected_text] unless args[:after_selected_text].nil?
124
+ @before_selected_text = args[:before_selected_text] unless args[:before_selected_text].nil?
125
+ @client_version_ranges = args[:client_version_ranges] unless args[:client_version_ranges].nil?
126
+ @created = args[:created] unless args[:created].nil?
127
+ @current_version_ranges = args[:current_version_ranges] unless args[:current_version_ranges].nil?
128
+ @data = args[:data] unless args[:data].nil?
129
+ @deleted = args[:deleted] unless args[:deleted].nil?
130
+ @highlight_style = args[:highlight_style] unless args[:highlight_style].nil?
131
+ @id = args[:id] unless args[:id].nil?
132
+ @kind = args[:kind] unless args[:kind].nil?
133
+ @layer_id = args[:layer_id] unless args[:layer_id].nil?
134
+ @layer_summary = args[:layer_summary] unless args[:layer_summary].nil?
135
+ @page_ids = args[:page_ids] unless args[:page_ids].nil?
136
+ @selected_text = args[:selected_text] unless args[:selected_text].nil?
137
+ @self_link = args[:self_link] unless args[:self_link].nil?
138
+ @updated = args[:updated] unless args[:updated].nil?
139
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
140
+ end
141
+
142
+ # Selection ranges sent from the client.
143
+ class ClientVersionRanges
144
+ include Google::Apis::Core::Hashable
145
+
146
+ # Range in CFI format for this annotation sent by client.
147
+ # Corresponds to the JSON property `cfiRange`
148
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
149
+ attr_accessor :cfi_range
150
+
151
+ # Content version the client sent in.
152
+ # Corresponds to the JSON property `contentVersion`
153
+ # @return [String]
154
+ attr_accessor :content_version
155
+
156
+ # Range in GB image format for this annotation sent by client.
157
+ # Corresponds to the JSON property `gbImageRange`
158
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
159
+ attr_accessor :gb_image_range
160
+
161
+ # Range in GB text format for this annotation sent by client.
162
+ # Corresponds to the JSON property `gbTextRange`
163
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
164
+ attr_accessor :gb_text_range
165
+
166
+ # Range in image CFI format for this annotation sent by client.
167
+ # Corresponds to the JSON property `imageCfiRange`
168
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
169
+ attr_accessor :image_cfi_range
170
+
171
+ def initialize(**args)
172
+ update!(**args)
173
+ end
174
+
175
+ # Update properties of this object
176
+ def update!(**args)
177
+ @cfi_range = args[:cfi_range] unless args[:cfi_range].nil?
178
+ @content_version = args[:content_version] unless args[:content_version].nil?
179
+ @gb_image_range = args[:gb_image_range] unless args[:gb_image_range].nil?
180
+ @gb_text_range = args[:gb_text_range] unless args[:gb_text_range].nil?
181
+ @image_cfi_range = args[:image_cfi_range] unless args[:image_cfi_range].nil?
182
+ end
183
+ end
184
+
185
+ # Selection ranges for the most recent content version.
186
+ class CurrentVersionRanges
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # Range in CFI format for this annotation for version above.
190
+ # Corresponds to the JSON property `cfiRange`
191
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
192
+ attr_accessor :cfi_range
193
+
194
+ # Content version applicable to ranges below.
195
+ # Corresponds to the JSON property `contentVersion`
196
+ # @return [String]
197
+ attr_accessor :content_version
198
+
199
+ # Range in GB image format for this annotation for version above.
200
+ # Corresponds to the JSON property `gbImageRange`
201
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
202
+ attr_accessor :gb_image_range
203
+
204
+ # Range in GB text format for this annotation for version above.
205
+ # Corresponds to the JSON property `gbTextRange`
206
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
207
+ attr_accessor :gb_text_range
208
+
209
+ # Range in image CFI format for this annotation for version above.
210
+ # Corresponds to the JSON property `imageCfiRange`
211
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
212
+ attr_accessor :image_cfi_range
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ @cfi_range = args[:cfi_range] unless args[:cfi_range].nil?
221
+ @content_version = args[:content_version] unless args[:content_version].nil?
222
+ @gb_image_range = args[:gb_image_range] unless args[:gb_image_range].nil?
223
+ @gb_text_range = args[:gb_text_range] unless args[:gb_text_range].nil?
224
+ @image_cfi_range = args[:image_cfi_range] unless args[:image_cfi_range].nil?
225
+ end
226
+ end
227
+
228
+ #
229
+ class LayerSummary
230
+ include Google::Apis::Core::Hashable
231
+
232
+ # Maximum allowed characters on this layer, especially for the "copy" layer.
233
+ # Corresponds to the JSON property `allowedCharacterCount`
234
+ # @return [Fixnum]
235
+ attr_accessor :allowed_character_count
236
+
237
+ # Type of limitation on this layer. "limited" or "unlimited" for the "copy"
238
+ # layer.
239
+ # Corresponds to the JSON property `limitType`
240
+ # @return [String]
241
+ attr_accessor :limit_type
242
+
243
+ # Remaining allowed characters on this layer, especially for the "copy" layer.
244
+ # Corresponds to the JSON property `remainingCharacterCount`
245
+ # @return [Fixnum]
246
+ attr_accessor :remaining_character_count
247
+
248
+ def initialize(**args)
249
+ update!(**args)
250
+ end
251
+
252
+ # Update properties of this object
253
+ def update!(**args)
254
+ @allowed_character_count = args[:allowed_character_count] unless args[:allowed_character_count].nil?
255
+ @limit_type = args[:limit_type] unless args[:limit_type].nil?
256
+ @remaining_character_count = args[:remaining_character_count] unless args[:remaining_character_count].nil?
257
+ end
258
+ end
259
+ end
260
+
261
+ #
262
+ class AnnotationData
263
+ include Google::Apis::Core::Hashable
264
+
265
+ # The type of annotation this data is for.
266
+ # Corresponds to the JSON property `annotationType`
267
+ # @return [String]
268
+ attr_accessor :annotation_type
269
+
270
+ #
271
+ # Corresponds to the JSON property `data`
272
+ # @return [Object]
273
+ attr_accessor :data
274
+
275
+ # Base64 encoded data for this annotation data.
276
+ # Corresponds to the JSON property `encoded_data`
277
+ # @return [String]
278
+ attr_accessor :encoded_data
279
+
280
+ # Unique id for this annotation data.
281
+ # Corresponds to the JSON property `id`
282
+ # @return [String]
283
+ attr_accessor :id
284
+
285
+ # Resource Type
286
+ # Corresponds to the JSON property `kind`
287
+ # @return [String]
288
+ attr_accessor :kind
289
+
290
+ # The Layer id for this data. *
291
+ # Corresponds to the JSON property `layerId`
292
+ # @return [String]
293
+ attr_accessor :layer_id
294
+
295
+ # URL for this resource. *
296
+ # Corresponds to the JSON property `selfLink`
297
+ # @return [String]
298
+ attr_accessor :self_link
299
+
300
+ # Timestamp for the last time this data was updated. (RFC 3339 UTC date-time
301
+ # format).
302
+ # Corresponds to the JSON property `updated`
303
+ # @return [DateTime]
304
+ attr_accessor :updated
305
+
306
+ # The volume id for this data. *
307
+ # Corresponds to the JSON property `volumeId`
308
+ # @return [String]
309
+ attr_accessor :volume_id
310
+
311
+ def initialize(**args)
312
+ update!(**args)
313
+ end
314
+
315
+ # Update properties of this object
316
+ def update!(**args)
317
+ @annotation_type = args[:annotation_type] unless args[:annotation_type].nil?
318
+ @data = args[:data] unless args[:data].nil?
319
+ @encoded_data = args[:encoded_data] unless args[:encoded_data].nil?
320
+ @id = args[:id] unless args[:id].nil?
321
+ @kind = args[:kind] unless args[:kind].nil?
322
+ @layer_id = args[:layer_id] unless args[:layer_id].nil?
323
+ @self_link = args[:self_link] unless args[:self_link].nil?
324
+ @updated = args[:updated] unless args[:updated].nil?
325
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
326
+ end
327
+ end
328
+
329
+ #
330
+ class Annotations
331
+ include Google::Apis::Core::Hashable
332
+
333
+ # A list of annotations.
334
+ # Corresponds to the JSON property `items`
335
+ # @return [Array<Google::Apis::BooksV1::Annotation>]
336
+ attr_accessor :items
337
+
338
+ # Resource type.
339
+ # Corresponds to the JSON property `kind`
340
+ # @return [String]
341
+ attr_accessor :kind
342
+
343
+ # Token to pass in for pagination for the next page. This will not be present if
344
+ # this request does not have more results.
345
+ # Corresponds to the JSON property `nextPageToken`
346
+ # @return [String]
347
+ attr_accessor :next_page_token
348
+
349
+ # Total number of annotations found. This may be greater than the number of
350
+ # notes returned in this response if results have been paginated.
351
+ # Corresponds to the JSON property `totalItems`
352
+ # @return [Fixnum]
353
+ attr_accessor :total_items
354
+
355
+ def initialize(**args)
356
+ update!(**args)
357
+ end
358
+
359
+ # Update properties of this object
360
+ def update!(**args)
361
+ @items = args[:items] unless args[:items].nil?
362
+ @kind = args[:kind] unless args[:kind].nil?
363
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
364
+ @total_items = args[:total_items] unless args[:total_items].nil?
365
+ end
366
+ end
367
+
368
+ #
369
+ class AnnotationsSummary
370
+ include Google::Apis::Core::Hashable
371
+
372
+ #
373
+ # Corresponds to the JSON property `kind`
374
+ # @return [String]
375
+ attr_accessor :kind
376
+
377
+ #
378
+ # Corresponds to the JSON property `layers`
379
+ # @return [Array<Google::Apis::BooksV1::AnnotationsSummary::Layer>]
380
+ attr_accessor :layers
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @kind = args[:kind] unless args[:kind].nil?
389
+ @layers = args[:layers] unless args[:layers].nil?
390
+ end
391
+
392
+ #
393
+ class Layer
394
+ include Google::Apis::Core::Hashable
395
+
396
+ #
397
+ # Corresponds to the JSON property `allowedCharacterCount`
398
+ # @return [Fixnum]
399
+ attr_accessor :allowed_character_count
400
+
401
+ #
402
+ # Corresponds to the JSON property `layerId`
403
+ # @return [String]
404
+ attr_accessor :layer_id
405
+
406
+ #
407
+ # Corresponds to the JSON property `limitType`
408
+ # @return [String]
409
+ attr_accessor :limit_type
410
+
411
+ #
412
+ # Corresponds to the JSON property `remainingCharacterCount`
413
+ # @return [Fixnum]
414
+ attr_accessor :remaining_character_count
415
+
416
+ #
417
+ # Corresponds to the JSON property `updated`
418
+ # @return [DateTime]
419
+ attr_accessor :updated
420
+
421
+ def initialize(**args)
422
+ update!(**args)
423
+ end
424
+
425
+ # Update properties of this object
426
+ def update!(**args)
427
+ @allowed_character_count = args[:allowed_character_count] unless args[:allowed_character_count].nil?
428
+ @layer_id = args[:layer_id] unless args[:layer_id].nil?
429
+ @limit_type = args[:limit_type] unless args[:limit_type].nil?
430
+ @remaining_character_count = args[:remaining_character_count] unless args[:remaining_character_count].nil?
431
+ @updated = args[:updated] unless args[:updated].nil?
432
+ end
433
+ end
434
+ end
435
+
436
+ #
437
+ class AnnotationsData
438
+ include Google::Apis::Core::Hashable
439
+
440
+ # A list of Annotation Data.
441
+ # Corresponds to the JSON property `items`
442
+ # @return [Array<Google::Apis::BooksV1::AnnotationData>]
443
+ attr_accessor :items
444
+
445
+ # Resource type
446
+ # Corresponds to the JSON property `kind`
447
+ # @return [String]
448
+ attr_accessor :kind
449
+
450
+ # Token to pass in for pagination for the next page. This will not be present if
451
+ # this request does not have more results.
452
+ # Corresponds to the JSON property `nextPageToken`
453
+ # @return [String]
454
+ attr_accessor :next_page_token
455
+
456
+ # The total number of volume annotations found.
457
+ # Corresponds to the JSON property `totalItems`
458
+ # @return [Fixnum]
459
+ attr_accessor :total_items
460
+
461
+ def initialize(**args)
462
+ update!(**args)
463
+ end
464
+
465
+ # Update properties of this object
466
+ def update!(**args)
467
+ @items = args[:items] unless args[:items].nil?
468
+ @kind = args[:kind] unless args[:kind].nil?
469
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
470
+ @total_items = args[:total_items] unless args[:total_items].nil?
471
+ end
472
+ end
473
+
474
+ #
475
+ class AnnotatinsRange
476
+ include Google::Apis::Core::Hashable
477
+
478
+ # The offset from the ending position.
479
+ # Corresponds to the JSON property `endOffset`
480
+ # @return [String]
481
+ attr_accessor :end_offset
482
+
483
+ # The ending position for the range.
484
+ # Corresponds to the JSON property `endPosition`
485
+ # @return [String]
486
+ attr_accessor :end_position
487
+
488
+ # The offset from the starting position.
489
+ # Corresponds to the JSON property `startOffset`
490
+ # @return [String]
491
+ attr_accessor :start_offset
492
+
493
+ # The starting position for the range.
494
+ # Corresponds to the JSON property `startPosition`
495
+ # @return [String]
496
+ attr_accessor :start_position
497
+
498
+ def initialize(**args)
499
+ update!(**args)
500
+ end
501
+
502
+ # Update properties of this object
503
+ def update!(**args)
504
+ @end_offset = args[:end_offset] unless args[:end_offset].nil?
505
+ @end_position = args[:end_position] unless args[:end_position].nil?
506
+ @start_offset = args[:start_offset] unless args[:start_offset].nil?
507
+ @start_position = args[:start_position] unless args[:start_position].nil?
508
+ end
509
+ end
510
+
511
+ #
512
+ class LoadingResource
513
+ include Google::Apis::Core::Hashable
514
+
515
+ #
516
+ # Corresponds to the JSON property `author`
517
+ # @return [String]
518
+ attr_accessor :author
519
+
520
+ #
521
+ # Corresponds to the JSON property `processingState`
522
+ # @return [String]
523
+ attr_accessor :processing_state
524
+
525
+ #
526
+ # Corresponds to the JSON property `title`
527
+ # @return [String]
528
+ attr_accessor :title
529
+
530
+ #
531
+ # Corresponds to the JSON property `volumeId`
532
+ # @return [String]
533
+ attr_accessor :volume_id
534
+
535
+ def initialize(**args)
536
+ update!(**args)
537
+ end
538
+
539
+ # Update properties of this object
540
+ def update!(**args)
541
+ @author = args[:author] unless args[:author].nil?
542
+ @processing_state = args[:processing_state] unless args[:processing_state].nil?
543
+ @title = args[:title] unless args[:title].nil?
544
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
545
+ end
546
+ end
547
+
548
+ #
549
+ class RateRecommendedVolumeResponse
550
+ include Google::Apis::Core::Hashable
551
+
552
+ #
553
+ # Corresponds to the JSON property `consistency_token`
554
+ # @return [String]
555
+ attr_accessor :consistency_token
556
+
557
+ def initialize(**args)
558
+ update!(**args)
559
+ end
560
+
561
+ # Update properties of this object
562
+ def update!(**args)
563
+ @consistency_token = args[:consistency_token] unless args[:consistency_token].nil?
564
+ end
565
+ end
566
+
567
+ #
568
+ class Bookshelf
569
+ include Google::Apis::Core::Hashable
570
+
571
+ # Whether this bookshelf is PUBLIC or PRIVATE.
572
+ # Corresponds to the JSON property `access`
573
+ # @return [String]
574
+ attr_accessor :access
575
+
576
+ # Created time for this bookshelf (formatted UTC timestamp with millisecond
577
+ # resolution).
578
+ # Corresponds to the JSON property `created`
579
+ # @return [DateTime]
580
+ attr_accessor :created
581
+
582
+ # Description of this bookshelf.
583
+ # Corresponds to the JSON property `description`
584
+ # @return [String]
585
+ attr_accessor :description
586
+
587
+ # Id of this bookshelf, only unique by user.
588
+ # Corresponds to the JSON property `id`
589
+ # @return [Fixnum]
590
+ attr_accessor :id
591
+
592
+ # Resource type for bookshelf metadata.
593
+ # Corresponds to the JSON property `kind`
594
+ # @return [String]
595
+ attr_accessor :kind
596
+
597
+ # URL to this resource.
598
+ # Corresponds to the JSON property `selfLink`
599
+ # @return [String]
600
+ attr_accessor :self_link
601
+
602
+ # Title of this bookshelf.
603
+ # Corresponds to the JSON property `title`
604
+ # @return [String]
605
+ attr_accessor :title
606
+
607
+ # Last modified time of this bookshelf (formatted UTC timestamp with millisecond
608
+ # resolution).
609
+ # Corresponds to the JSON property `updated`
610
+ # @return [DateTime]
611
+ attr_accessor :updated
612
+
613
+ # Number of volumes in this bookshelf.
614
+ # Corresponds to the JSON property `volumeCount`
615
+ # @return [Fixnum]
616
+ attr_accessor :volume_count
617
+
618
+ # Last time a volume was added or removed from this bookshelf (formatted UTC
619
+ # timestamp with millisecond resolution).
620
+ # Corresponds to the JSON property `volumesLastUpdated`
621
+ # @return [DateTime]
622
+ attr_accessor :volumes_last_updated
623
+
624
+ def initialize(**args)
625
+ update!(**args)
626
+ end
627
+
628
+ # Update properties of this object
629
+ def update!(**args)
630
+ @access = args[:access] unless args[:access].nil?
631
+ @created = args[:created] unless args[:created].nil?
632
+ @description = args[:description] unless args[:description].nil?
633
+ @id = args[:id] unless args[:id].nil?
634
+ @kind = args[:kind] unless args[:kind].nil?
635
+ @self_link = args[:self_link] unless args[:self_link].nil?
636
+ @title = args[:title] unless args[:title].nil?
637
+ @updated = args[:updated] unless args[:updated].nil?
638
+ @volume_count = args[:volume_count] unless args[:volume_count].nil?
639
+ @volumes_last_updated = args[:volumes_last_updated] unless args[:volumes_last_updated].nil?
640
+ end
641
+ end
642
+
643
+ #
644
+ class Bookshelves
645
+ include Google::Apis::Core::Hashable
646
+
647
+ # A list of bookshelves.
648
+ # Corresponds to the JSON property `items`
649
+ # @return [Array<Google::Apis::BooksV1::Bookshelf>]
650
+ attr_accessor :items
651
+
652
+ # Resource type.
653
+ # Corresponds to the JSON property `kind`
654
+ # @return [String]
655
+ attr_accessor :kind
656
+
657
+ def initialize(**args)
658
+ update!(**args)
659
+ end
660
+
661
+ # Update properties of this object
662
+ def update!(**args)
663
+ @items = args[:items] unless args[:items].nil?
664
+ @kind = args[:kind] unless args[:kind].nil?
665
+ end
666
+ end
667
+
668
+ #
669
+ class Category
670
+ include Google::Apis::Core::Hashable
671
+
672
+ # A list of onboarding categories.
673
+ # Corresponds to the JSON property `items`
674
+ # @return [Array<Google::Apis::BooksV1::Category::Item>]
675
+ attr_accessor :items
676
+
677
+ # Resource type.
678
+ # Corresponds to the JSON property `kind`
679
+ # @return [String]
680
+ attr_accessor :kind
681
+
682
+ def initialize(**args)
683
+ update!(**args)
684
+ end
685
+
686
+ # Update properties of this object
687
+ def update!(**args)
688
+ @items = args[:items] unless args[:items].nil?
689
+ @kind = args[:kind] unless args[:kind].nil?
690
+ end
691
+
692
+ #
693
+ class Item
694
+ include Google::Apis::Core::Hashable
695
+
696
+ #
697
+ # Corresponds to the JSON property `badgeUrl`
698
+ # @return [String]
699
+ attr_accessor :badge_url
700
+
701
+ #
702
+ # Corresponds to the JSON property `categoryId`
703
+ # @return [String]
704
+ attr_accessor :category_id
705
+
706
+ #
707
+ # Corresponds to the JSON property `name`
708
+ # @return [String]
709
+ attr_accessor :name
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @badge_url = args[:badge_url] unless args[:badge_url].nil?
718
+ @category_id = args[:category_id] unless args[:category_id].nil?
719
+ @name = args[:name] unless args[:name].nil?
720
+ end
721
+ end
722
+ end
723
+
724
+ #
725
+ class ConcurrentAccessRestriction
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # Whether access is granted for this (user, device, volume).
729
+ # Corresponds to the JSON property `deviceAllowed`
730
+ # @return [Boolean]
731
+ attr_accessor :device_allowed
732
+ alias_method :device_allowed?, :device_allowed
733
+
734
+ # Resource type.
735
+ # Corresponds to the JSON property `kind`
736
+ # @return [String]
737
+ attr_accessor :kind
738
+
739
+ # The maximum number of concurrent access licenses for this volume.
740
+ # Corresponds to the JSON property `maxConcurrentDevices`
741
+ # @return [Fixnum]
742
+ attr_accessor :max_concurrent_devices
743
+
744
+ # Error/warning message.
745
+ # Corresponds to the JSON property `message`
746
+ # @return [String]
747
+ attr_accessor :message
748
+
749
+ # Client nonce for verification. Download access and client-validation only.
750
+ # Corresponds to the JSON property `nonce`
751
+ # @return [String]
752
+ attr_accessor :nonce
753
+
754
+ # Error/warning reason code.
755
+ # Corresponds to the JSON property `reasonCode`
756
+ # @return [String]
757
+ attr_accessor :reason_code
758
+
759
+ # Whether this volume has any concurrent access restrictions.
760
+ # Corresponds to the JSON property `restricted`
761
+ # @return [Boolean]
762
+ attr_accessor :restricted
763
+ alias_method :restricted?, :restricted
764
+
765
+ # Response signature.
766
+ # Corresponds to the JSON property `signature`
767
+ # @return [String]
768
+ attr_accessor :signature
769
+
770
+ # Client app identifier for verification. Download access and client-validation
771
+ # only.
772
+ # Corresponds to the JSON property `source`
773
+ # @return [String]
774
+ attr_accessor :source
775
+
776
+ # Time in seconds for license auto-expiration.
777
+ # Corresponds to the JSON property `timeWindowSeconds`
778
+ # @return [Fixnum]
779
+ attr_accessor :time_window_seconds
780
+
781
+ # Identifies the volume for which this entry applies.
782
+ # Corresponds to the JSON property `volumeId`
783
+ # @return [String]
784
+ attr_accessor :volume_id
785
+
786
+ def initialize(**args)
787
+ update!(**args)
788
+ end
789
+
790
+ # Update properties of this object
791
+ def update!(**args)
792
+ @device_allowed = args[:device_allowed] unless args[:device_allowed].nil?
793
+ @kind = args[:kind] unless args[:kind].nil?
794
+ @max_concurrent_devices = args[:max_concurrent_devices] unless args[:max_concurrent_devices].nil?
795
+ @message = args[:message] unless args[:message].nil?
796
+ @nonce = args[:nonce] unless args[:nonce].nil?
797
+ @reason_code = args[:reason_code] unless args[:reason_code].nil?
798
+ @restricted = args[:restricted] unless args[:restricted].nil?
799
+ @signature = args[:signature] unless args[:signature].nil?
800
+ @source = args[:source] unless args[:source].nil?
801
+ @time_window_seconds = args[:time_window_seconds] unless args[:time_window_seconds].nil?
802
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
803
+ end
804
+ end
805
+
806
+ #
807
+ class DictLayerData
808
+ include Google::Apis::Core::Hashable
809
+
810
+ #
811
+ # Corresponds to the JSON property `common`
812
+ # @return [Google::Apis::BooksV1::DictLayerData::Common]
813
+ attr_accessor :common
814
+
815
+ #
816
+ # Corresponds to the JSON property `dict`
817
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict]
818
+ attr_accessor :dict
819
+
820
+ #
821
+ # Corresponds to the JSON property `kind`
822
+ # @return [String]
823
+ attr_accessor :kind
824
+
825
+ def initialize(**args)
826
+ update!(**args)
827
+ end
828
+
829
+ # Update properties of this object
830
+ def update!(**args)
831
+ @common = args[:common] unless args[:common].nil?
832
+ @dict = args[:dict] unless args[:dict].nil?
833
+ @kind = args[:kind] unless args[:kind].nil?
834
+ end
835
+
836
+ #
837
+ class Common
838
+ include Google::Apis::Core::Hashable
839
+
840
+ # The display title and localized canonical name to use when searching for this
841
+ # entity on Google search.
842
+ # Corresponds to the JSON property `title`
843
+ # @return [String]
844
+ attr_accessor :title
845
+
846
+ def initialize(**args)
847
+ update!(**args)
848
+ end
849
+
850
+ # Update properties of this object
851
+ def update!(**args)
852
+ @title = args[:title] unless args[:title].nil?
853
+ end
854
+ end
855
+
856
+ #
857
+ class Dict
858
+ include Google::Apis::Core::Hashable
859
+
860
+ # The source, url and attribution for this dictionary data.
861
+ # Corresponds to the JSON property `source`
862
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Source]
863
+ attr_accessor :source
864
+
865
+ #
866
+ # Corresponds to the JSON property `words`
867
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word>]
868
+ attr_accessor :words
869
+
870
+ def initialize(**args)
871
+ update!(**args)
872
+ end
873
+
874
+ # Update properties of this object
875
+ def update!(**args)
876
+ @source = args[:source] unless args[:source].nil?
877
+ @words = args[:words] unless args[:words].nil?
878
+ end
879
+
880
+ # The source, url and attribution for this dictionary data.
881
+ class Source
882
+ include Google::Apis::Core::Hashable
883
+
884
+ #
885
+ # Corresponds to the JSON property `attribution`
886
+ # @return [String]
887
+ attr_accessor :attribution
888
+
889
+ #
890
+ # Corresponds to the JSON property `url`
891
+ # @return [String]
892
+ attr_accessor :url
893
+
894
+ def initialize(**args)
895
+ update!(**args)
896
+ end
897
+
898
+ # Update properties of this object
899
+ def update!(**args)
900
+ @attribution = args[:attribution] unless args[:attribution].nil?
901
+ @url = args[:url] unless args[:url].nil?
902
+ end
903
+ end
904
+
905
+ #
906
+ class Word
907
+ include Google::Apis::Core::Hashable
908
+
909
+ #
910
+ # Corresponds to the JSON property `derivatives`
911
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Derivative>]
912
+ attr_accessor :derivatives
913
+
914
+ #
915
+ # Corresponds to the JSON property `examples`
916
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Example>]
917
+ attr_accessor :examples
918
+
919
+ #
920
+ # Corresponds to the JSON property `senses`
921
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense>]
922
+ attr_accessor :senses
923
+
924
+ # The words with different meanings but not related words, e.g. "go" (game) and "
925
+ # go" (verb).
926
+ # Corresponds to the JSON property `source`
927
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Word::Source]
928
+ attr_accessor :source
929
+
930
+ def initialize(**args)
931
+ update!(**args)
932
+ end
933
+
934
+ # Update properties of this object
935
+ def update!(**args)
936
+ @derivatives = args[:derivatives] unless args[:derivatives].nil?
937
+ @examples = args[:examples] unless args[:examples].nil?
938
+ @senses = args[:senses] unless args[:senses].nil?
939
+ @source = args[:source] unless args[:source].nil?
940
+ end
941
+
942
+ #
943
+ class Derivative
944
+ include Google::Apis::Core::Hashable
945
+
946
+ #
947
+ # Corresponds to the JSON property `source`
948
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Word::Derivative::Source]
949
+ attr_accessor :source
950
+
951
+ #
952
+ # Corresponds to the JSON property `text`
953
+ # @return [String]
954
+ attr_accessor :text
955
+
956
+ def initialize(**args)
957
+ update!(**args)
958
+ end
959
+
960
+ # Update properties of this object
961
+ def update!(**args)
962
+ @source = args[:source] unless args[:source].nil?
963
+ @text = args[:text] unless args[:text].nil?
964
+ end
965
+
966
+ #
967
+ class Source
968
+ include Google::Apis::Core::Hashable
969
+
970
+ #
971
+ # Corresponds to the JSON property `attribution`
972
+ # @return [String]
973
+ attr_accessor :attribution
974
+
975
+ #
976
+ # Corresponds to the JSON property `url`
977
+ # @return [String]
978
+ attr_accessor :url
979
+
980
+ def initialize(**args)
981
+ update!(**args)
982
+ end
983
+
984
+ # Update properties of this object
985
+ def update!(**args)
986
+ @attribution = args[:attribution] unless args[:attribution].nil?
987
+ @url = args[:url] unless args[:url].nil?
988
+ end
989
+ end
990
+ end
991
+
992
+ #
993
+ class Example
994
+ include Google::Apis::Core::Hashable
995
+
996
+ #
997
+ # Corresponds to the JSON property `source`
998
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Word::Example::Source]
999
+ attr_accessor :source
1000
+
1001
+ #
1002
+ # Corresponds to the JSON property `text`
1003
+ # @return [String]
1004
+ attr_accessor :text
1005
+
1006
+ def initialize(**args)
1007
+ update!(**args)
1008
+ end
1009
+
1010
+ # Update properties of this object
1011
+ def update!(**args)
1012
+ @source = args[:source] unless args[:source].nil?
1013
+ @text = args[:text] unless args[:text].nil?
1014
+ end
1015
+
1016
+ #
1017
+ class Source
1018
+ include Google::Apis::Core::Hashable
1019
+
1020
+ #
1021
+ # Corresponds to the JSON property `attribution`
1022
+ # @return [String]
1023
+ attr_accessor :attribution
1024
+
1025
+ #
1026
+ # Corresponds to the JSON property `url`
1027
+ # @return [String]
1028
+ attr_accessor :url
1029
+
1030
+ def initialize(**args)
1031
+ update!(**args)
1032
+ end
1033
+
1034
+ # Update properties of this object
1035
+ def update!(**args)
1036
+ @attribution = args[:attribution] unless args[:attribution].nil?
1037
+ @url = args[:url] unless args[:url].nil?
1038
+ end
1039
+ end
1040
+ end
1041
+
1042
+ #
1043
+ class Sense
1044
+ include Google::Apis::Core::Hashable
1045
+
1046
+ #
1047
+ # Corresponds to the JSON property `conjugations`
1048
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Conjugation>]
1049
+ attr_accessor :conjugations
1050
+
1051
+ #
1052
+ # Corresponds to the JSON property `definitions`
1053
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Definition>]
1054
+ attr_accessor :definitions
1055
+
1056
+ #
1057
+ # Corresponds to the JSON property `partOfSpeech`
1058
+ # @return [String]
1059
+ attr_accessor :part_of_speech
1060
+
1061
+ #
1062
+ # Corresponds to the JSON property `pronunciation`
1063
+ # @return [String]
1064
+ attr_accessor :pronunciation
1065
+
1066
+ #
1067
+ # Corresponds to the JSON property `pronunciationUrl`
1068
+ # @return [String]
1069
+ attr_accessor :pronunciation_url
1070
+
1071
+ #
1072
+ # Corresponds to the JSON property `source`
1073
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Source]
1074
+ attr_accessor :source
1075
+
1076
+ #
1077
+ # Corresponds to the JSON property `syllabification`
1078
+ # @return [String]
1079
+ attr_accessor :syllabification
1080
+
1081
+ #
1082
+ # Corresponds to the JSON property `synonyms`
1083
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Synonym>]
1084
+ attr_accessor :synonyms
1085
+
1086
+ def initialize(**args)
1087
+ update!(**args)
1088
+ end
1089
+
1090
+ # Update properties of this object
1091
+ def update!(**args)
1092
+ @conjugations = args[:conjugations] unless args[:conjugations].nil?
1093
+ @definitions = args[:definitions] unless args[:definitions].nil?
1094
+ @part_of_speech = args[:part_of_speech] unless args[:part_of_speech].nil?
1095
+ @pronunciation = args[:pronunciation] unless args[:pronunciation].nil?
1096
+ @pronunciation_url = args[:pronunciation_url] unless args[:pronunciation_url].nil?
1097
+ @source = args[:source] unless args[:source].nil?
1098
+ @syllabification = args[:syllabification] unless args[:syllabification].nil?
1099
+ @synonyms = args[:synonyms] unless args[:synonyms].nil?
1100
+ end
1101
+
1102
+ #
1103
+ class Conjugation
1104
+ include Google::Apis::Core::Hashable
1105
+
1106
+ #
1107
+ # Corresponds to the JSON property `type`
1108
+ # @return [String]
1109
+ attr_accessor :type
1110
+
1111
+ #
1112
+ # Corresponds to the JSON property `value`
1113
+ # @return [String]
1114
+ attr_accessor :value
1115
+
1116
+ def initialize(**args)
1117
+ update!(**args)
1118
+ end
1119
+
1120
+ # Update properties of this object
1121
+ def update!(**args)
1122
+ @type = args[:type] unless args[:type].nil?
1123
+ @value = args[:value] unless args[:value].nil?
1124
+ end
1125
+ end
1126
+
1127
+ #
1128
+ class Definition
1129
+ include Google::Apis::Core::Hashable
1130
+
1131
+ #
1132
+ # Corresponds to the JSON property `definition`
1133
+ # @return [String]
1134
+ attr_accessor :definition
1135
+
1136
+ #
1137
+ # Corresponds to the JSON property `examples`
1138
+ # @return [Array<Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Definition::Example>]
1139
+ attr_accessor :examples
1140
+
1141
+ def initialize(**args)
1142
+ update!(**args)
1143
+ end
1144
+
1145
+ # Update properties of this object
1146
+ def update!(**args)
1147
+ @definition = args[:definition] unless args[:definition].nil?
1148
+ @examples = args[:examples] unless args[:examples].nil?
1149
+ end
1150
+
1151
+ #
1152
+ class Example
1153
+ include Google::Apis::Core::Hashable
1154
+
1155
+ #
1156
+ # Corresponds to the JSON property `source`
1157
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Definition::Example::Source]
1158
+ attr_accessor :source
1159
+
1160
+ #
1161
+ # Corresponds to the JSON property `text`
1162
+ # @return [String]
1163
+ attr_accessor :text
1164
+
1165
+ def initialize(**args)
1166
+ update!(**args)
1167
+ end
1168
+
1169
+ # Update properties of this object
1170
+ def update!(**args)
1171
+ @source = args[:source] unless args[:source].nil?
1172
+ @text = args[:text] unless args[:text].nil?
1173
+ end
1174
+
1175
+ #
1176
+ class Source
1177
+ include Google::Apis::Core::Hashable
1178
+
1179
+ #
1180
+ # Corresponds to the JSON property `attribution`
1181
+ # @return [String]
1182
+ attr_accessor :attribution
1183
+
1184
+ #
1185
+ # Corresponds to the JSON property `url`
1186
+ # @return [String]
1187
+ attr_accessor :url
1188
+
1189
+ def initialize(**args)
1190
+ update!(**args)
1191
+ end
1192
+
1193
+ # Update properties of this object
1194
+ def update!(**args)
1195
+ @attribution = args[:attribution] unless args[:attribution].nil?
1196
+ @url = args[:url] unless args[:url].nil?
1197
+ end
1198
+ end
1199
+ end
1200
+ end
1201
+
1202
+ #
1203
+ class Source
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ #
1207
+ # Corresponds to the JSON property `attribution`
1208
+ # @return [String]
1209
+ attr_accessor :attribution
1210
+
1211
+ #
1212
+ # Corresponds to the JSON property `url`
1213
+ # @return [String]
1214
+ attr_accessor :url
1215
+
1216
+ def initialize(**args)
1217
+ update!(**args)
1218
+ end
1219
+
1220
+ # Update properties of this object
1221
+ def update!(**args)
1222
+ @attribution = args[:attribution] unless args[:attribution].nil?
1223
+ @url = args[:url] unless args[:url].nil?
1224
+ end
1225
+ end
1226
+
1227
+ #
1228
+ class Synonym
1229
+ include Google::Apis::Core::Hashable
1230
+
1231
+ #
1232
+ # Corresponds to the JSON property `source`
1233
+ # @return [Google::Apis::BooksV1::DictLayerData::Dict::Word::Sense::Synonym::Source]
1234
+ attr_accessor :source
1235
+
1236
+ #
1237
+ # Corresponds to the JSON property `text`
1238
+ # @return [String]
1239
+ attr_accessor :text
1240
+
1241
+ def initialize(**args)
1242
+ update!(**args)
1243
+ end
1244
+
1245
+ # Update properties of this object
1246
+ def update!(**args)
1247
+ @source = args[:source] unless args[:source].nil?
1248
+ @text = args[:text] unless args[:text].nil?
1249
+ end
1250
+
1251
+ #
1252
+ class Source
1253
+ include Google::Apis::Core::Hashable
1254
+
1255
+ #
1256
+ # Corresponds to the JSON property `attribution`
1257
+ # @return [String]
1258
+ attr_accessor :attribution
1259
+
1260
+ #
1261
+ # Corresponds to the JSON property `url`
1262
+ # @return [String]
1263
+ attr_accessor :url
1264
+
1265
+ def initialize(**args)
1266
+ update!(**args)
1267
+ end
1268
+
1269
+ # Update properties of this object
1270
+ def update!(**args)
1271
+ @attribution = args[:attribution] unless args[:attribution].nil?
1272
+ @url = args[:url] unless args[:url].nil?
1273
+ end
1274
+ end
1275
+ end
1276
+ end
1277
+
1278
+ # The words with different meanings but not related words, e.g. "go" (game) and "
1279
+ # go" (verb).
1280
+ class Source
1281
+ include Google::Apis::Core::Hashable
1282
+
1283
+ #
1284
+ # Corresponds to the JSON property `attribution`
1285
+ # @return [String]
1286
+ attr_accessor :attribution
1287
+
1288
+ #
1289
+ # Corresponds to the JSON property `url`
1290
+ # @return [String]
1291
+ attr_accessor :url
1292
+
1293
+ def initialize(**args)
1294
+ update!(**args)
1295
+ end
1296
+
1297
+ # Update properties of this object
1298
+ def update!(**args)
1299
+ @attribution = args[:attribution] unless args[:attribution].nil?
1300
+ @url = args[:url] unless args[:url].nil?
1301
+ end
1302
+ end
1303
+ end
1304
+ end
1305
+ end
1306
+
1307
+ #
1308
+ class Discoveryclusters
1309
+ include Google::Apis::Core::Hashable
1310
+
1311
+ #
1312
+ # Corresponds to the JSON property `clusters`
1313
+ # @return [Array<Google::Apis::BooksV1::Discoveryclusters::Cluster>]
1314
+ attr_accessor :clusters
1315
+
1316
+ # Resorce type.
1317
+ # Corresponds to the JSON property `kind`
1318
+ # @return [String]
1319
+ attr_accessor :kind
1320
+
1321
+ #
1322
+ # Corresponds to the JSON property `totalClusters`
1323
+ # @return [Fixnum]
1324
+ attr_accessor :total_clusters
1325
+
1326
+ def initialize(**args)
1327
+ update!(**args)
1328
+ end
1329
+
1330
+ # Update properties of this object
1331
+ def update!(**args)
1332
+ @clusters = args[:clusters] unless args[:clusters].nil?
1333
+ @kind = args[:kind] unless args[:kind].nil?
1334
+ @total_clusters = args[:total_clusters] unless args[:total_clusters].nil?
1335
+ end
1336
+
1337
+ #
1338
+ class Cluster
1339
+ include Google::Apis::Core::Hashable
1340
+
1341
+ #
1342
+ # Corresponds to the JSON property `banner_with_content_container`
1343
+ # @return [Google::Apis::BooksV1::Discoveryclusters::Cluster::BannerWithContentContainer]
1344
+ attr_accessor :banner_with_content_container
1345
+
1346
+ #
1347
+ # Corresponds to the JSON property `subTitle`
1348
+ # @return [String]
1349
+ attr_accessor :sub_title
1350
+
1351
+ #
1352
+ # Corresponds to the JSON property `title`
1353
+ # @return [String]
1354
+ attr_accessor :title
1355
+
1356
+ #
1357
+ # Corresponds to the JSON property `totalVolumes`
1358
+ # @return [Fixnum]
1359
+ attr_accessor :total_volumes
1360
+
1361
+ #
1362
+ # Corresponds to the JSON property `uid`
1363
+ # @return [String]
1364
+ attr_accessor :uid
1365
+
1366
+ #
1367
+ # Corresponds to the JSON property `volumes`
1368
+ # @return [Array<Google::Apis::BooksV1::Volume>]
1369
+ attr_accessor :volumes
1370
+
1371
+ def initialize(**args)
1372
+ update!(**args)
1373
+ end
1374
+
1375
+ # Update properties of this object
1376
+ def update!(**args)
1377
+ @banner_with_content_container = args[:banner_with_content_container] unless args[:banner_with_content_container].nil?
1378
+ @sub_title = args[:sub_title] unless args[:sub_title].nil?
1379
+ @title = args[:title] unless args[:title].nil?
1380
+ @total_volumes = args[:total_volumes] unless args[:total_volumes].nil?
1381
+ @uid = args[:uid] unless args[:uid].nil?
1382
+ @volumes = args[:volumes] unless args[:volumes].nil?
1383
+ end
1384
+
1385
+ #
1386
+ class BannerWithContentContainer
1387
+ include Google::Apis::Core::Hashable
1388
+
1389
+ #
1390
+ # Corresponds to the JSON property `fillColorArgb`
1391
+ # @return [String]
1392
+ attr_accessor :fill_color_argb
1393
+
1394
+ #
1395
+ # Corresponds to the JSON property `imageUrl`
1396
+ # @return [String]
1397
+ attr_accessor :image_url
1398
+
1399
+ #
1400
+ # Corresponds to the JSON property `maskColorArgb`
1401
+ # @return [String]
1402
+ attr_accessor :mask_color_argb
1403
+
1404
+ #
1405
+ # Corresponds to the JSON property `moreButtonText`
1406
+ # @return [String]
1407
+ attr_accessor :more_button_text
1408
+
1409
+ #
1410
+ # Corresponds to the JSON property `moreButtonUrl`
1411
+ # @return [String]
1412
+ attr_accessor :more_button_url
1413
+
1414
+ #
1415
+ # Corresponds to the JSON property `textColorArgb`
1416
+ # @return [String]
1417
+ attr_accessor :text_color_argb
1418
+
1419
+ def initialize(**args)
1420
+ update!(**args)
1421
+ end
1422
+
1423
+ # Update properties of this object
1424
+ def update!(**args)
1425
+ @fill_color_argb = args[:fill_color_argb] unless args[:fill_color_argb].nil?
1426
+ @image_url = args[:image_url] unless args[:image_url].nil?
1427
+ @mask_color_argb = args[:mask_color_argb] unless args[:mask_color_argb].nil?
1428
+ @more_button_text = args[:more_button_text] unless args[:more_button_text].nil?
1429
+ @more_button_url = args[:more_button_url] unless args[:more_button_url].nil?
1430
+ @text_color_argb = args[:text_color_argb] unless args[:text_color_argb].nil?
1431
+ end
1432
+ end
1433
+ end
1434
+ end
1435
+
1436
+ #
1437
+ class DownloadAccessRestriction
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ # If restricted, whether access is granted for this (user, device, volume).
1441
+ # Corresponds to the JSON property `deviceAllowed`
1442
+ # @return [Boolean]
1443
+ attr_accessor :device_allowed
1444
+ alias_method :device_allowed?, :device_allowed
1445
+
1446
+ # If restricted, the number of content download licenses already acquired (
1447
+ # including the requesting client, if licensed).
1448
+ # Corresponds to the JSON property `downloadsAcquired`
1449
+ # @return [Fixnum]
1450
+ attr_accessor :downloads_acquired
1451
+
1452
+ # If deviceAllowed, whether access was just acquired with this request.
1453
+ # Corresponds to the JSON property `justAcquired`
1454
+ # @return [Boolean]
1455
+ attr_accessor :just_acquired
1456
+ alias_method :just_acquired?, :just_acquired
1457
+
1458
+ # Resource type.
1459
+ # Corresponds to the JSON property `kind`
1460
+ # @return [String]
1461
+ attr_accessor :kind
1462
+
1463
+ # If restricted, the maximum number of content download licenses for this volume.
1464
+ # Corresponds to the JSON property `maxDownloadDevices`
1465
+ # @return [Fixnum]
1466
+ attr_accessor :max_download_devices
1467
+
1468
+ # Error/warning message.
1469
+ # Corresponds to the JSON property `message`
1470
+ # @return [String]
1471
+ attr_accessor :message
1472
+
1473
+ # Client nonce for verification. Download access and client-validation only.
1474
+ # Corresponds to the JSON property `nonce`
1475
+ # @return [String]
1476
+ attr_accessor :nonce
1477
+
1478
+ # Error/warning reason code. Additional codes may be added in the future. 0 OK
1479
+ # 100 ACCESS_DENIED_PUBLISHER_LIMIT 101 ACCESS_DENIED_LIMIT 200
1480
+ # WARNING_USED_LAST_ACCESS
1481
+ # Corresponds to the JSON property `reasonCode`
1482
+ # @return [String]
1483
+ attr_accessor :reason_code
1484
+
1485
+ # Whether this volume has any download access restrictions.
1486
+ # Corresponds to the JSON property `restricted`
1487
+ # @return [Boolean]
1488
+ attr_accessor :restricted
1489
+ alias_method :restricted?, :restricted
1490
+
1491
+ # Response signature.
1492
+ # Corresponds to the JSON property `signature`
1493
+ # @return [String]
1494
+ attr_accessor :signature
1495
+
1496
+ # Client app identifier for verification. Download access and client-validation
1497
+ # only.
1498
+ # Corresponds to the JSON property `source`
1499
+ # @return [String]
1500
+ attr_accessor :source
1501
+
1502
+ # Identifies the volume for which this entry applies.
1503
+ # Corresponds to the JSON property `volumeId`
1504
+ # @return [String]
1505
+ attr_accessor :volume_id
1506
+
1507
+ def initialize(**args)
1508
+ update!(**args)
1509
+ end
1510
+
1511
+ # Update properties of this object
1512
+ def update!(**args)
1513
+ @device_allowed = args[:device_allowed] unless args[:device_allowed].nil?
1514
+ @downloads_acquired = args[:downloads_acquired] unless args[:downloads_acquired].nil?
1515
+ @just_acquired = args[:just_acquired] unless args[:just_acquired].nil?
1516
+ @kind = args[:kind] unless args[:kind].nil?
1517
+ @max_download_devices = args[:max_download_devices] unless args[:max_download_devices].nil?
1518
+ @message = args[:message] unless args[:message].nil?
1519
+ @nonce = args[:nonce] unless args[:nonce].nil?
1520
+ @reason_code = args[:reason_code] unless args[:reason_code].nil?
1521
+ @restricted = args[:restricted] unless args[:restricted].nil?
1522
+ @signature = args[:signature] unless args[:signature].nil?
1523
+ @source = args[:source] unless args[:source].nil?
1524
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
1525
+ end
1526
+ end
1527
+
1528
+ #
1529
+ class DownloadAccesses
1530
+ include Google::Apis::Core::Hashable
1531
+
1532
+ # A list of download access responses.
1533
+ # Corresponds to the JSON property `downloadAccessList`
1534
+ # @return [Array<Google::Apis::BooksV1::DownloadAccessRestriction>]
1535
+ attr_accessor :download_access_list
1536
+
1537
+ # Resource type.
1538
+ # Corresponds to the JSON property `kind`
1539
+ # @return [String]
1540
+ attr_accessor :kind
1541
+
1542
+ def initialize(**args)
1543
+ update!(**args)
1544
+ end
1545
+
1546
+ # Update properties of this object
1547
+ def update!(**args)
1548
+ @download_access_list = args[:download_access_list] unless args[:download_access_list].nil?
1549
+ @kind = args[:kind] unless args[:kind].nil?
1550
+ end
1551
+ end
1552
+
1553
+ #
1554
+ class GeoLayerData
1555
+ include Google::Apis::Core::Hashable
1556
+
1557
+ #
1558
+ # Corresponds to the JSON property `common`
1559
+ # @return [Google::Apis::BooksV1::GeoLayerData::Common]
1560
+ attr_accessor :common
1561
+
1562
+ #
1563
+ # Corresponds to the JSON property `geo`
1564
+ # @return [Google::Apis::BooksV1::GeoLayerData::Geo]
1565
+ attr_accessor :geo
1566
+
1567
+ #
1568
+ # Corresponds to the JSON property `kind`
1569
+ # @return [String]
1570
+ attr_accessor :kind
1571
+
1572
+ def initialize(**args)
1573
+ update!(**args)
1574
+ end
1575
+
1576
+ # Update properties of this object
1577
+ def update!(**args)
1578
+ @common = args[:common] unless args[:common].nil?
1579
+ @geo = args[:geo] unless args[:geo].nil?
1580
+ @kind = args[:kind] unless args[:kind].nil?
1581
+ end
1582
+
1583
+ #
1584
+ class Common
1585
+ include Google::Apis::Core::Hashable
1586
+
1587
+ # The language of the information url and description.
1588
+ # Corresponds to the JSON property `lang`
1589
+ # @return [String]
1590
+ attr_accessor :lang
1591
+
1592
+ # The URL for the preview image information.
1593
+ # Corresponds to the JSON property `previewImageUrl`
1594
+ # @return [String]
1595
+ attr_accessor :preview_image_url
1596
+
1597
+ # The description for this location.
1598
+ # Corresponds to the JSON property `snippet`
1599
+ # @return [String]
1600
+ attr_accessor :snippet
1601
+
1602
+ # The URL for information for this location. Ex: wikipedia link.
1603
+ # Corresponds to the JSON property `snippetUrl`
1604
+ # @return [String]
1605
+ attr_accessor :snippet_url
1606
+
1607
+ # The display title and localized canonical name to use when searching for this
1608
+ # entity on Google search.
1609
+ # Corresponds to the JSON property `title`
1610
+ # @return [String]
1611
+ attr_accessor :title
1612
+
1613
+ def initialize(**args)
1614
+ update!(**args)
1615
+ end
1616
+
1617
+ # Update properties of this object
1618
+ def update!(**args)
1619
+ @lang = args[:lang] unless args[:lang].nil?
1620
+ @preview_image_url = args[:preview_image_url] unless args[:preview_image_url].nil?
1621
+ @snippet = args[:snippet] unless args[:snippet].nil?
1622
+ @snippet_url = args[:snippet_url] unless args[:snippet_url].nil?
1623
+ @title = args[:title] unless args[:title].nil?
1624
+ end
1625
+ end
1626
+
1627
+ #
1628
+ class Geo
1629
+ include Google::Apis::Core::Hashable
1630
+
1631
+ # The boundary of the location as a set of loops containing pairs of latitude,
1632
+ # longitude coordinates.
1633
+ # Corresponds to the JSON property `boundary`
1634
+ # @return [Array<Array<Google::Apis::BooksV1::GeoLayerData::Geo::Boundary>>]
1635
+ attr_accessor :boundary
1636
+
1637
+ # The cache policy active for this data. EX: UNRESTRICTED, RESTRICTED, NEVER
1638
+ # Corresponds to the JSON property `cachePolicy`
1639
+ # @return [String]
1640
+ attr_accessor :cache_policy
1641
+
1642
+ # The country code of the location.
1643
+ # Corresponds to the JSON property `countryCode`
1644
+ # @return [String]
1645
+ attr_accessor :country_code
1646
+
1647
+ # The latitude of the location.
1648
+ # Corresponds to the JSON property `latitude`
1649
+ # @return [Float]
1650
+ attr_accessor :latitude
1651
+
1652
+ # The longitude of the location.
1653
+ # Corresponds to the JSON property `longitude`
1654
+ # @return [Float]
1655
+ attr_accessor :longitude
1656
+
1657
+ # The type of map that should be used for this location. EX: HYBRID, ROADMAP,
1658
+ # SATELLITE, TERRAIN
1659
+ # Corresponds to the JSON property `mapType`
1660
+ # @return [String]
1661
+ attr_accessor :map_type
1662
+
1663
+ # The viewport for showing this location. This is a latitude, longitude
1664
+ # rectangle.
1665
+ # Corresponds to the JSON property `viewport`
1666
+ # @return [Google::Apis::BooksV1::GeoLayerData::Geo::Viewport]
1667
+ attr_accessor :viewport
1668
+
1669
+ # The Zoom level to use for the map. Zoom levels between 0 (the lowest zoom
1670
+ # level, in which the entire world can be seen on one map) to 21+ (down to
1671
+ # individual buildings). See: https://developers.google.com/maps/documentation/
1672
+ # staticmaps/#Zoomlevels
1673
+ # Corresponds to the JSON property `zoom`
1674
+ # @return [Fixnum]
1675
+ attr_accessor :zoom
1676
+
1677
+ def initialize(**args)
1678
+ update!(**args)
1679
+ end
1680
+
1681
+ # Update properties of this object
1682
+ def update!(**args)
1683
+ @boundary = args[:boundary] unless args[:boundary].nil?
1684
+ @cache_policy = args[:cache_policy] unless args[:cache_policy].nil?
1685
+ @country_code = args[:country_code] unless args[:country_code].nil?
1686
+ @latitude = args[:latitude] unless args[:latitude].nil?
1687
+ @longitude = args[:longitude] unless args[:longitude].nil?
1688
+ @map_type = args[:map_type] unless args[:map_type].nil?
1689
+ @viewport = args[:viewport] unless args[:viewport].nil?
1690
+ @zoom = args[:zoom] unless args[:zoom].nil?
1691
+ end
1692
+
1693
+ #
1694
+ class Boundary
1695
+ include Google::Apis::Core::Hashable
1696
+
1697
+ #
1698
+ # Corresponds to the JSON property `latitude`
1699
+ # @return [Fixnum]
1700
+ attr_accessor :latitude
1701
+
1702
+ #
1703
+ # Corresponds to the JSON property `longitude`
1704
+ # @return [Fixnum]
1705
+ attr_accessor :longitude
1706
+
1707
+ def initialize(**args)
1708
+ update!(**args)
1709
+ end
1710
+
1711
+ # Update properties of this object
1712
+ def update!(**args)
1713
+ @latitude = args[:latitude] unless args[:latitude].nil?
1714
+ @longitude = args[:longitude] unless args[:longitude].nil?
1715
+ end
1716
+ end
1717
+
1718
+ # The viewport for showing this location. This is a latitude, longitude
1719
+ # rectangle.
1720
+ class Viewport
1721
+ include Google::Apis::Core::Hashable
1722
+
1723
+ #
1724
+ # Corresponds to the JSON property `hi`
1725
+ # @return [Google::Apis::BooksV1::GeoLayerData::Geo::Viewport::Hi]
1726
+ attr_accessor :hi
1727
+
1728
+ #
1729
+ # Corresponds to the JSON property `lo`
1730
+ # @return [Google::Apis::BooksV1::GeoLayerData::Geo::Viewport::Lo]
1731
+ attr_accessor :lo
1732
+
1733
+ def initialize(**args)
1734
+ update!(**args)
1735
+ end
1736
+
1737
+ # Update properties of this object
1738
+ def update!(**args)
1739
+ @hi = args[:hi] unless args[:hi].nil?
1740
+ @lo = args[:lo] unless args[:lo].nil?
1741
+ end
1742
+
1743
+ #
1744
+ class Hi
1745
+ include Google::Apis::Core::Hashable
1746
+
1747
+ #
1748
+ # Corresponds to the JSON property `latitude`
1749
+ # @return [Float]
1750
+ attr_accessor :latitude
1751
+
1752
+ #
1753
+ # Corresponds to the JSON property `longitude`
1754
+ # @return [Float]
1755
+ attr_accessor :longitude
1756
+
1757
+ def initialize(**args)
1758
+ update!(**args)
1759
+ end
1760
+
1761
+ # Update properties of this object
1762
+ def update!(**args)
1763
+ @latitude = args[:latitude] unless args[:latitude].nil?
1764
+ @longitude = args[:longitude] unless args[:longitude].nil?
1765
+ end
1766
+ end
1767
+
1768
+ #
1769
+ class Lo
1770
+ include Google::Apis::Core::Hashable
1771
+
1772
+ #
1773
+ # Corresponds to the JSON property `latitude`
1774
+ # @return [Float]
1775
+ attr_accessor :latitude
1776
+
1777
+ #
1778
+ # Corresponds to the JSON property `longitude`
1779
+ # @return [Float]
1780
+ attr_accessor :longitude
1781
+
1782
+ def initialize(**args)
1783
+ update!(**args)
1784
+ end
1785
+
1786
+ # Update properties of this object
1787
+ def update!(**args)
1788
+ @latitude = args[:latitude] unless args[:latitude].nil?
1789
+ @longitude = args[:longitude] unless args[:longitude].nil?
1790
+ end
1791
+ end
1792
+ end
1793
+ end
1794
+ end
1795
+
1796
+ #
1797
+ class LayerSummaries
1798
+ include Google::Apis::Core::Hashable
1799
+
1800
+ # A list of layer summary items.
1801
+ # Corresponds to the JSON property `items`
1802
+ # @return [Array<Google::Apis::BooksV1::LayerSummary>]
1803
+ attr_accessor :items
1804
+
1805
+ # Resource type.
1806
+ # Corresponds to the JSON property `kind`
1807
+ # @return [String]
1808
+ attr_accessor :kind
1809
+
1810
+ # The total number of layer summaries found.
1811
+ # Corresponds to the JSON property `totalItems`
1812
+ # @return [Fixnum]
1813
+ attr_accessor :total_items
1814
+
1815
+ def initialize(**args)
1816
+ update!(**args)
1817
+ end
1818
+
1819
+ # Update properties of this object
1820
+ def update!(**args)
1821
+ @items = args[:items] unless args[:items].nil?
1822
+ @kind = args[:kind] unless args[:kind].nil?
1823
+ @total_items = args[:total_items] unless args[:total_items].nil?
1824
+ end
1825
+ end
1826
+
1827
+ #
1828
+ class LayerSummary
1829
+ include Google::Apis::Core::Hashable
1830
+
1831
+ # The number of annotations for this layer.
1832
+ # Corresponds to the JSON property `annotationCount`
1833
+ # @return [Fixnum]
1834
+ attr_accessor :annotation_count
1835
+
1836
+ # The list of annotation types contained for this layer.
1837
+ # Corresponds to the JSON property `annotationTypes`
1838
+ # @return [Array<String>]
1839
+ attr_accessor :annotation_types
1840
+
1841
+ # Link to get data for this annotation.
1842
+ # Corresponds to the JSON property `annotationsDataLink`
1843
+ # @return [String]
1844
+ attr_accessor :annotations_data_link
1845
+
1846
+ # The link to get the annotations for this layer.
1847
+ # Corresponds to the JSON property `annotationsLink`
1848
+ # @return [String]
1849
+ attr_accessor :annotations_link
1850
+
1851
+ # The content version this resource is for.
1852
+ # Corresponds to the JSON property `contentVersion`
1853
+ # @return [String]
1854
+ attr_accessor :content_version
1855
+
1856
+ # The number of data items for this layer.
1857
+ # Corresponds to the JSON property `dataCount`
1858
+ # @return [Fixnum]
1859
+ attr_accessor :data_count
1860
+
1861
+ # Unique id of this layer summary.
1862
+ # Corresponds to the JSON property `id`
1863
+ # @return [String]
1864
+ attr_accessor :id
1865
+
1866
+ # Resource Type
1867
+ # Corresponds to the JSON property `kind`
1868
+ # @return [String]
1869
+ attr_accessor :kind
1870
+
1871
+ # The layer id for this summary.
1872
+ # Corresponds to the JSON property `layerId`
1873
+ # @return [String]
1874
+ attr_accessor :layer_id
1875
+
1876
+ # URL to this resource.
1877
+ # Corresponds to the JSON property `selfLink`
1878
+ # @return [String]
1879
+ attr_accessor :self_link
1880
+
1881
+ # Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC
1882
+ # date-time format).
1883
+ # Corresponds to the JSON property `updated`
1884
+ # @return [DateTime]
1885
+ attr_accessor :updated
1886
+
1887
+ # The current version of this layer's volume annotations. Note that this version
1888
+ # applies only to the data in the books.layers.volumeAnnotations.* responses.
1889
+ # The actual annotation data is versioned separately.
1890
+ # Corresponds to the JSON property `volumeAnnotationsVersion`
1891
+ # @return [String]
1892
+ attr_accessor :volume_annotations_version
1893
+
1894
+ # The volume id this resource is for.
1895
+ # Corresponds to the JSON property `volumeId`
1896
+ # @return [String]
1897
+ attr_accessor :volume_id
1898
+
1899
+ def initialize(**args)
1900
+ update!(**args)
1901
+ end
1902
+
1903
+ # Update properties of this object
1904
+ def update!(**args)
1905
+ @annotation_count = args[:annotation_count] unless args[:annotation_count].nil?
1906
+ @annotation_types = args[:annotation_types] unless args[:annotation_types].nil?
1907
+ @annotations_data_link = args[:annotations_data_link] unless args[:annotations_data_link].nil?
1908
+ @annotations_link = args[:annotations_link] unless args[:annotations_link].nil?
1909
+ @content_version = args[:content_version] unless args[:content_version].nil?
1910
+ @data_count = args[:data_count] unless args[:data_count].nil?
1911
+ @id = args[:id] unless args[:id].nil?
1912
+ @kind = args[:kind] unless args[:kind].nil?
1913
+ @layer_id = args[:layer_id] unless args[:layer_id].nil?
1914
+ @self_link = args[:self_link] unless args[:self_link].nil?
1915
+ @updated = args[:updated] unless args[:updated].nil?
1916
+ @volume_annotations_version = args[:volume_annotations_version] unless args[:volume_annotations_version].nil?
1917
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
1918
+ end
1919
+ end
1920
+
1921
+ #
1922
+ class Metadata
1923
+ include Google::Apis::Core::Hashable
1924
+
1925
+ # A list of offline dictionary metadata.
1926
+ # Corresponds to the JSON property `items`
1927
+ # @return [Array<Google::Apis::BooksV1::Metadata::Item>]
1928
+ attr_accessor :items
1929
+
1930
+ # Resource type.
1931
+ # Corresponds to the JSON property `kind`
1932
+ # @return [String]
1933
+ attr_accessor :kind
1934
+
1935
+ def initialize(**args)
1936
+ update!(**args)
1937
+ end
1938
+
1939
+ # Update properties of this object
1940
+ def update!(**args)
1941
+ @items = args[:items] unless args[:items].nil?
1942
+ @kind = args[:kind] unless args[:kind].nil?
1943
+ end
1944
+
1945
+ #
1946
+ class Item
1947
+ include Google::Apis::Core::Hashable
1948
+
1949
+ #
1950
+ # Corresponds to the JSON property `download_url`
1951
+ # @return [String]
1952
+ attr_accessor :download_url
1953
+
1954
+ #
1955
+ # Corresponds to the JSON property `encrypted_key`
1956
+ # @return [String]
1957
+ attr_accessor :encrypted_key
1958
+
1959
+ #
1960
+ # Corresponds to the JSON property `language`
1961
+ # @return [String]
1962
+ attr_accessor :language
1963
+
1964
+ #
1965
+ # Corresponds to the JSON property `size`
1966
+ # @return [String]
1967
+ attr_accessor :size
1968
+
1969
+ #
1970
+ # Corresponds to the JSON property `version`
1971
+ # @return [String]
1972
+ attr_accessor :version
1973
+
1974
+ def initialize(**args)
1975
+ update!(**args)
1976
+ end
1977
+
1978
+ # Update properties of this object
1979
+ def update!(**args)
1980
+ @download_url = args[:download_url] unless args[:download_url].nil?
1981
+ @encrypted_key = args[:encrypted_key] unless args[:encrypted_key].nil?
1982
+ @language = args[:language] unless args[:language].nil?
1983
+ @size = args[:size] unless args[:size].nil?
1984
+ @version = args[:version] unless args[:version].nil?
1985
+ end
1986
+ end
1987
+ end
1988
+
1989
+ #
1990
+ class Notification
1991
+ include Google::Apis::Core::Hashable
1992
+
1993
+ #
1994
+ # Corresponds to the JSON property `body`
1995
+ # @return [String]
1996
+ attr_accessor :body
1997
+
1998
+ #
1999
+ # Corresponds to the JSON property `iconUrl`
2000
+ # @return [String]
2001
+ attr_accessor :icon_url
2002
+
2003
+ # Resource type.
2004
+ # Corresponds to the JSON property `kind`
2005
+ # @return [String]
2006
+ attr_accessor :kind
2007
+
2008
+ #
2009
+ # Corresponds to the JSON property `notification_type`
2010
+ # @return [String]
2011
+ attr_accessor :notification_type
2012
+
2013
+ #
2014
+ # Corresponds to the JSON property `show_notification_settings_action`
2015
+ # @return [Boolean]
2016
+ attr_accessor :show_notification_settings_action
2017
+ alias_method :show_notification_settings_action?, :show_notification_settings_action
2018
+
2019
+ #
2020
+ # Corresponds to the JSON property `targetUrl`
2021
+ # @return [String]
2022
+ attr_accessor :target_url
2023
+
2024
+ #
2025
+ # Corresponds to the JSON property `title`
2026
+ # @return [String]
2027
+ attr_accessor :title
2028
+
2029
+ def initialize(**args)
2030
+ update!(**args)
2031
+ end
2032
+
2033
+ # Update properties of this object
2034
+ def update!(**args)
2035
+ @body = args[:body] unless args[:body].nil?
2036
+ @icon_url = args[:icon_url] unless args[:icon_url].nil?
2037
+ @kind = args[:kind] unless args[:kind].nil?
2038
+ @notification_type = args[:notification_type] unless args[:notification_type].nil?
2039
+ @show_notification_settings_action = args[:show_notification_settings_action] unless args[:show_notification_settings_action].nil?
2040
+ @target_url = args[:target_url] unless args[:target_url].nil?
2041
+ @title = args[:title] unless args[:title].nil?
2042
+ end
2043
+ end
2044
+
2045
+ #
2046
+ class Offers
2047
+ include Google::Apis::Core::Hashable
2048
+
2049
+ # A list of offers.
2050
+ # Corresponds to the JSON property `items`
2051
+ # @return [Array<Google::Apis::BooksV1::Offers::Item>]
2052
+ attr_accessor :items
2053
+
2054
+ # Resource type.
2055
+ # Corresponds to the JSON property `kind`
2056
+ # @return [String]
2057
+ attr_accessor :kind
2058
+
2059
+ def initialize(**args)
2060
+ update!(**args)
2061
+ end
2062
+
2063
+ # Update properties of this object
2064
+ def update!(**args)
2065
+ @items = args[:items] unless args[:items].nil?
2066
+ @kind = args[:kind] unless args[:kind].nil?
2067
+ end
2068
+
2069
+ #
2070
+ class Item
2071
+ include Google::Apis::Core::Hashable
2072
+
2073
+ #
2074
+ # Corresponds to the JSON property `artUrl`
2075
+ # @return [String]
2076
+ attr_accessor :art_url
2077
+
2078
+ #
2079
+ # Corresponds to the JSON property `gservicesKey`
2080
+ # @return [String]
2081
+ attr_accessor :gservices_key
2082
+
2083
+ #
2084
+ # Corresponds to the JSON property `id`
2085
+ # @return [String]
2086
+ attr_accessor :id
2087
+
2088
+ #
2089
+ # Corresponds to the JSON property `items`
2090
+ # @return [Array<Google::Apis::BooksV1::Offers::Item::Item>]
2091
+ attr_accessor :items
2092
+
2093
+ def initialize(**args)
2094
+ update!(**args)
2095
+ end
2096
+
2097
+ # Update properties of this object
2098
+ def update!(**args)
2099
+ @art_url = args[:art_url] unless args[:art_url].nil?
2100
+ @gservices_key = args[:gservices_key] unless args[:gservices_key].nil?
2101
+ @id = args[:id] unless args[:id].nil?
2102
+ @items = args[:items] unless args[:items].nil?
2103
+ end
2104
+
2105
+ #
2106
+ class Item
2107
+ include Google::Apis::Core::Hashable
2108
+
2109
+ #
2110
+ # Corresponds to the JSON property `author`
2111
+ # @return [String]
2112
+ attr_accessor :author
2113
+
2114
+ #
2115
+ # Corresponds to the JSON property `canonicalVolumeLink`
2116
+ # @return [String]
2117
+ attr_accessor :canonical_volume_link
2118
+
2119
+ #
2120
+ # Corresponds to the JSON property `coverUrl`
2121
+ # @return [String]
2122
+ attr_accessor :cover_url
2123
+
2124
+ #
2125
+ # Corresponds to the JSON property `description`
2126
+ # @return [String]
2127
+ attr_accessor :description
2128
+
2129
+ #
2130
+ # Corresponds to the JSON property `title`
2131
+ # @return [String]
2132
+ attr_accessor :title
2133
+
2134
+ #
2135
+ # Corresponds to the JSON property `volumeId`
2136
+ # @return [String]
2137
+ attr_accessor :volume_id
2138
+
2139
+ def initialize(**args)
2140
+ update!(**args)
2141
+ end
2142
+
2143
+ # Update properties of this object
2144
+ def update!(**args)
2145
+ @author = args[:author] unless args[:author].nil?
2146
+ @canonical_volume_link = args[:canonical_volume_link] unless args[:canonical_volume_link].nil?
2147
+ @cover_url = args[:cover_url] unless args[:cover_url].nil?
2148
+ @description = args[:description] unless args[:description].nil?
2149
+ @title = args[:title] unless args[:title].nil?
2150
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
2151
+ end
2152
+ end
2153
+ end
2154
+ end
2155
+
2156
+ #
2157
+ class ReadingPosition
2158
+ include Google::Apis::Core::Hashable
2159
+
2160
+ # Position in an EPUB as a CFI.
2161
+ # Corresponds to the JSON property `epubCfiPosition`
2162
+ # @return [String]
2163
+ attr_accessor :epub_cfi_position
2164
+
2165
+ # Position in a volume for image-based content.
2166
+ # Corresponds to the JSON property `gbImagePosition`
2167
+ # @return [String]
2168
+ attr_accessor :gb_image_position
2169
+
2170
+ # Position in a volume for text-based content.
2171
+ # Corresponds to the JSON property `gbTextPosition`
2172
+ # @return [String]
2173
+ attr_accessor :gb_text_position
2174
+
2175
+ # Resource type for a reading position.
2176
+ # Corresponds to the JSON property `kind`
2177
+ # @return [String]
2178
+ attr_accessor :kind
2179
+
2180
+ # Position in a PDF file.
2181
+ # Corresponds to the JSON property `pdfPosition`
2182
+ # @return [String]
2183
+ attr_accessor :pdf_position
2184
+
2185
+ # Timestamp when this reading position was last updated (formatted UTC timestamp
2186
+ # with millisecond resolution).
2187
+ # Corresponds to the JSON property `updated`
2188
+ # @return [DateTime]
2189
+ attr_accessor :updated
2190
+
2191
+ # Volume id associated with this reading position.
2192
+ # Corresponds to the JSON property `volumeId`
2193
+ # @return [String]
2194
+ attr_accessor :volume_id
2195
+
2196
+ def initialize(**args)
2197
+ update!(**args)
2198
+ end
2199
+
2200
+ # Update properties of this object
2201
+ def update!(**args)
2202
+ @epub_cfi_position = args[:epub_cfi_position] unless args[:epub_cfi_position].nil?
2203
+ @gb_image_position = args[:gb_image_position] unless args[:gb_image_position].nil?
2204
+ @gb_text_position = args[:gb_text_position] unless args[:gb_text_position].nil?
2205
+ @kind = args[:kind] unless args[:kind].nil?
2206
+ @pdf_position = args[:pdf_position] unless args[:pdf_position].nil?
2207
+ @updated = args[:updated] unless args[:updated].nil?
2208
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
2209
+ end
2210
+ end
2211
+
2212
+ #
2213
+ class RequestAccess
2214
+ include Google::Apis::Core::Hashable
2215
+
2216
+ # A concurrent access response.
2217
+ # Corresponds to the JSON property `concurrentAccess`
2218
+ # @return [Google::Apis::BooksV1::ConcurrentAccessRestriction]
2219
+ attr_accessor :concurrent_access
2220
+
2221
+ # A download access response.
2222
+ # Corresponds to the JSON property `downloadAccess`
2223
+ # @return [Google::Apis::BooksV1::DownloadAccessRestriction]
2224
+ attr_accessor :download_access
2225
+
2226
+ # Resource type.
2227
+ # Corresponds to the JSON property `kind`
2228
+ # @return [String]
2229
+ attr_accessor :kind
2230
+
2231
+ def initialize(**args)
2232
+ update!(**args)
2233
+ end
2234
+
2235
+ # Update properties of this object
2236
+ def update!(**args)
2237
+ @concurrent_access = args[:concurrent_access] unless args[:concurrent_access].nil?
2238
+ @download_access = args[:download_access] unless args[:download_access].nil?
2239
+ @kind = args[:kind] unless args[:kind].nil?
2240
+ end
2241
+ end
2242
+
2243
+ #
2244
+ class Review
2245
+ include Google::Apis::Core::Hashable
2246
+
2247
+ # Author of this review.
2248
+ # Corresponds to the JSON property `author`
2249
+ # @return [Google::Apis::BooksV1::Review::Author]
2250
+ attr_accessor :author
2251
+
2252
+ # Review text.
2253
+ # Corresponds to the JSON property `content`
2254
+ # @return [String]
2255
+ attr_accessor :content
2256
+
2257
+ # Date of this review.
2258
+ # Corresponds to the JSON property `date`
2259
+ # @return [String]
2260
+ attr_accessor :date
2261
+
2262
+ # URL for the full review text, for reviews gathered from the web.
2263
+ # Corresponds to the JSON property `fullTextUrl`
2264
+ # @return [String]
2265
+ attr_accessor :full_text_url
2266
+
2267
+ # Resource type for a review.
2268
+ # Corresponds to the JSON property `kind`
2269
+ # @return [String]
2270
+ attr_accessor :kind
2271
+
2272
+ # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE
2273
+ # or NOT_RATED.
2274
+ # Corresponds to the JSON property `rating`
2275
+ # @return [String]
2276
+ attr_accessor :rating
2277
+
2278
+ # Information regarding the source of this review, when the review is not from a
2279
+ # Google Books user.
2280
+ # Corresponds to the JSON property `source`
2281
+ # @return [Google::Apis::BooksV1::Review::Source]
2282
+ attr_accessor :source
2283
+
2284
+ # Title for this review.
2285
+ # Corresponds to the JSON property `title`
2286
+ # @return [String]
2287
+ attr_accessor :title
2288
+
2289
+ # Source type for this review. Possible values are EDITORIAL, WEB_USER or
2290
+ # GOOGLE_USER.
2291
+ # Corresponds to the JSON property `type`
2292
+ # @return [String]
2293
+ attr_accessor :type
2294
+
2295
+ # Volume that this review is for.
2296
+ # Corresponds to the JSON property `volumeId`
2297
+ # @return [String]
2298
+ attr_accessor :volume_id
2299
+
2300
+ def initialize(**args)
2301
+ update!(**args)
2302
+ end
2303
+
2304
+ # Update properties of this object
2305
+ def update!(**args)
2306
+ @author = args[:author] unless args[:author].nil?
2307
+ @content = args[:content] unless args[:content].nil?
2308
+ @date = args[:date] unless args[:date].nil?
2309
+ @full_text_url = args[:full_text_url] unless args[:full_text_url].nil?
2310
+ @kind = args[:kind] unless args[:kind].nil?
2311
+ @rating = args[:rating] unless args[:rating].nil?
2312
+ @source = args[:source] unless args[:source].nil?
2313
+ @title = args[:title] unless args[:title].nil?
2314
+ @type = args[:type] unless args[:type].nil?
2315
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
2316
+ end
2317
+
2318
+ # Author of this review.
2319
+ class Author
2320
+ include Google::Apis::Core::Hashable
2321
+
2322
+ # Name of this person.
2323
+ # Corresponds to the JSON property `displayName`
2324
+ # @return [String]
2325
+ attr_accessor :display_name
2326
+
2327
+ def initialize(**args)
2328
+ update!(**args)
2329
+ end
2330
+
2331
+ # Update properties of this object
2332
+ def update!(**args)
2333
+ @display_name = args[:display_name] unless args[:display_name].nil?
2334
+ end
2335
+ end
2336
+
2337
+ # Information regarding the source of this review, when the review is not from a
2338
+ # Google Books user.
2339
+ class Source
2340
+ include Google::Apis::Core::Hashable
2341
+
2342
+ # Name of the source.
2343
+ # Corresponds to the JSON property `description`
2344
+ # @return [String]
2345
+ attr_accessor :description
2346
+
2347
+ # Extra text about the source of the review.
2348
+ # Corresponds to the JSON property `extraDescription`
2349
+ # @return [String]
2350
+ attr_accessor :extra_description
2351
+
2352
+ # URL of the source of the review.
2353
+ # Corresponds to the JSON property `url`
2354
+ # @return [String]
2355
+ attr_accessor :url
2356
+
2357
+ def initialize(**args)
2358
+ update!(**args)
2359
+ end
2360
+
2361
+ # Update properties of this object
2362
+ def update!(**args)
2363
+ @description = args[:description] unless args[:description].nil?
2364
+ @extra_description = args[:extra_description] unless args[:extra_description].nil?
2365
+ @url = args[:url] unless args[:url].nil?
2366
+ end
2367
+ end
2368
+ end
2369
+
2370
+ #
2371
+ class Series
2372
+ include Google::Apis::Core::Hashable
2373
+
2374
+ # Resource type.
2375
+ # Corresponds to the JSON property `kind`
2376
+ # @return [String]
2377
+ attr_accessor :kind
2378
+
2379
+ #
2380
+ # Corresponds to the JSON property `series`
2381
+ # @return [Array<Google::Apis::BooksV1::Series::Series>]
2382
+ attr_accessor :series
2383
+
2384
+ def initialize(**args)
2385
+ update!(**args)
2386
+ end
2387
+
2388
+ # Update properties of this object
2389
+ def update!(**args)
2390
+ @kind = args[:kind] unless args[:kind].nil?
2391
+ @series = args[:series] unless args[:series].nil?
2392
+ end
2393
+
2394
+ #
2395
+ class Series
2396
+ include Google::Apis::Core::Hashable
2397
+
2398
+ #
2399
+ # Corresponds to the JSON property `bannerImageUrl`
2400
+ # @return [String]
2401
+ attr_accessor :banner_image_url
2402
+
2403
+ #
2404
+ # Corresponds to the JSON property `imageUrl`
2405
+ # @return [String]
2406
+ attr_accessor :image_url
2407
+
2408
+ #
2409
+ # Corresponds to the JSON property `seriesId`
2410
+ # @return [String]
2411
+ attr_accessor :series_id
2412
+
2413
+ #
2414
+ # Corresponds to the JSON property `title`
2415
+ # @return [String]
2416
+ attr_accessor :title
2417
+
2418
+ def initialize(**args)
2419
+ update!(**args)
2420
+ end
2421
+
2422
+ # Update properties of this object
2423
+ def update!(**args)
2424
+ @banner_image_url = args[:banner_image_url] unless args[:banner_image_url].nil?
2425
+ @image_url = args[:image_url] unless args[:image_url].nil?
2426
+ @series_id = args[:series_id] unless args[:series_id].nil?
2427
+ @title = args[:title] unless args[:title].nil?
2428
+ end
2429
+ end
2430
+ end
2431
+
2432
+ #
2433
+ class SeriesMembership
2434
+ include Google::Apis::Core::Hashable
2435
+
2436
+ # Resorce type.
2437
+ # Corresponds to the JSON property `kind`
2438
+ # @return [String]
2439
+ attr_accessor :kind
2440
+
2441
+ #
2442
+ # Corresponds to the JSON property `member`
2443
+ # @return [Array<Google::Apis::BooksV1::Volume>]
2444
+ attr_accessor :member
2445
+
2446
+ #
2447
+ # Corresponds to the JSON property `nextPageToken`
2448
+ # @return [String]
2449
+ attr_accessor :next_page_token
2450
+
2451
+ def initialize(**args)
2452
+ update!(**args)
2453
+ end
2454
+
2455
+ # Update properties of this object
2456
+ def update!(**args)
2457
+ @kind = args[:kind] unless args[:kind].nil?
2458
+ @member = args[:member] unless args[:member].nil?
2459
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2460
+ end
2461
+ end
2462
+
2463
+ #
2464
+ class UserSettings
2465
+ include Google::Apis::Core::Hashable
2466
+
2467
+ # Resource type.
2468
+ # Corresponds to the JSON property `kind`
2469
+ # @return [String]
2470
+ attr_accessor :kind
2471
+
2472
+ # User settings in sub-objects, each for different purposes.
2473
+ # Corresponds to the JSON property `notesExport`
2474
+ # @return [Google::Apis::BooksV1::UserSettings::NotesExport]
2475
+ attr_accessor :notes_export
2476
+
2477
+ #
2478
+ # Corresponds to the JSON property `notification`
2479
+ # @return [Google::Apis::BooksV1::UserSettings::Notification]
2480
+ attr_accessor :notification
2481
+
2482
+ def initialize(**args)
2483
+ update!(**args)
2484
+ end
2485
+
2486
+ # Update properties of this object
2487
+ def update!(**args)
2488
+ @kind = args[:kind] unless args[:kind].nil?
2489
+ @notes_export = args[:notes_export] unless args[:notes_export].nil?
2490
+ @notification = args[:notification] unless args[:notification].nil?
2491
+ end
2492
+
2493
+ # User settings in sub-objects, each for different purposes.
2494
+ class NotesExport
2495
+ include Google::Apis::Core::Hashable
2496
+
2497
+ #
2498
+ # Corresponds to the JSON property `folderName`
2499
+ # @return [String]
2500
+ attr_accessor :folder_name
2501
+
2502
+ #
2503
+ # Corresponds to the JSON property `isEnabled`
2504
+ # @return [Boolean]
2505
+ attr_accessor :is_enabled
2506
+ alias_method :is_enabled?, :is_enabled
2507
+
2508
+ def initialize(**args)
2509
+ update!(**args)
2510
+ end
2511
+
2512
+ # Update properties of this object
2513
+ def update!(**args)
2514
+ @folder_name = args[:folder_name] unless args[:folder_name].nil?
2515
+ @is_enabled = args[:is_enabled] unless args[:is_enabled].nil?
2516
+ end
2517
+ end
2518
+
2519
+ #
2520
+ class Notification
2521
+ include Google::Apis::Core::Hashable
2522
+
2523
+ #
2524
+ # Corresponds to the JSON property `moreFromAuthors`
2525
+ # @return [Google::Apis::BooksV1::UserSettings::Notification::MoreFromAuthors]
2526
+ attr_accessor :more_from_authors
2527
+
2528
+ def initialize(**args)
2529
+ update!(**args)
2530
+ end
2531
+
2532
+ # Update properties of this object
2533
+ def update!(**args)
2534
+ @more_from_authors = args[:more_from_authors] unless args[:more_from_authors].nil?
2535
+ end
2536
+
2537
+ #
2538
+ class MoreFromAuthors
2539
+ include Google::Apis::Core::Hashable
2540
+
2541
+ #
2542
+ # Corresponds to the JSON property `opted_state`
2543
+ # @return [String]
2544
+ attr_accessor :opted_state
2545
+
2546
+ def initialize(**args)
2547
+ update!(**args)
2548
+ end
2549
+
2550
+ # Update properties of this object
2551
+ def update!(**args)
2552
+ @opted_state = args[:opted_state] unless args[:opted_state].nil?
2553
+ end
2554
+ end
2555
+ end
2556
+ end
2557
+
2558
+ #
2559
+ class Volume
2560
+ include Google::Apis::Core::Hashable
2561
+
2562
+ # Any information about a volume related to reading or obtaining that volume
2563
+ # text. This information can depend on country (books may be public domain in
2564
+ # one country but not in another, e.g.).
2565
+ # Corresponds to the JSON property `accessInfo`
2566
+ # @return [Google::Apis::BooksV1::Volume::AccessInfo]
2567
+ attr_accessor :access_info
2568
+
2569
+ # Opaque identifier for a specific version of a volume resource. (In LITE
2570
+ # projection)
2571
+ # Corresponds to the JSON property `etag`
2572
+ # @return [String]
2573
+ attr_accessor :etag
2574
+
2575
+ # Unique identifier for a volume. (In LITE projection.)
2576
+ # Corresponds to the JSON property `id`
2577
+ # @return [String]
2578
+ attr_accessor :id
2579
+
2580
+ # Resource type for a volume. (In LITE projection.)
2581
+ # Corresponds to the JSON property `kind`
2582
+ # @return [String]
2583
+ attr_accessor :kind
2584
+
2585
+ # What layers exist in this volume and high level information about them.
2586
+ # Corresponds to the JSON property `layerInfo`
2587
+ # @return [Google::Apis::BooksV1::Volume::LayerInfo]
2588
+ attr_accessor :layer_info
2589
+
2590
+ # Recommendation related information for this volume.
2591
+ # Corresponds to the JSON property `recommendedInfo`
2592
+ # @return [Google::Apis::BooksV1::Volume::RecommendedInfo]
2593
+ attr_accessor :recommended_info
2594
+
2595
+ # Any information about a volume related to the eBookstore and/or
2596
+ # purchaseability. This information can depend on the country where the request
2597
+ # originates from (i.e. books may not be for sale in certain countries).
2598
+ # Corresponds to the JSON property `saleInfo`
2599
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo]
2600
+ attr_accessor :sale_info
2601
+
2602
+ # Search result information related to this volume.
2603
+ # Corresponds to the JSON property `searchInfo`
2604
+ # @return [Google::Apis::BooksV1::Volume::SearchInfo]
2605
+ attr_accessor :search_info
2606
+
2607
+ # URL to this resource. (In LITE projection.)
2608
+ # Corresponds to the JSON property `selfLink`
2609
+ # @return [String]
2610
+ attr_accessor :self_link
2611
+
2612
+ # User specific information related to this volume. (e.g. page this user last
2613
+ # read or whether they purchased this book)
2614
+ # Corresponds to the JSON property `userInfo`
2615
+ # @return [Google::Apis::BooksV1::Volume::UserInfo]
2616
+ attr_accessor :user_info
2617
+
2618
+ # General volume information.
2619
+ # Corresponds to the JSON property `volumeInfo`
2620
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo]
2621
+ attr_accessor :volume_info
2622
+
2623
+ def initialize(**args)
2624
+ update!(**args)
2625
+ end
2626
+
2627
+ # Update properties of this object
2628
+ def update!(**args)
2629
+ @access_info = args[:access_info] unless args[:access_info].nil?
2630
+ @etag = args[:etag] unless args[:etag].nil?
2631
+ @id = args[:id] unless args[:id].nil?
2632
+ @kind = args[:kind] unless args[:kind].nil?
2633
+ @layer_info = args[:layer_info] unless args[:layer_info].nil?
2634
+ @recommended_info = args[:recommended_info] unless args[:recommended_info].nil?
2635
+ @sale_info = args[:sale_info] unless args[:sale_info].nil?
2636
+ @search_info = args[:search_info] unless args[:search_info].nil?
2637
+ @self_link = args[:self_link] unless args[:self_link].nil?
2638
+ @user_info = args[:user_info] unless args[:user_info].nil?
2639
+ @volume_info = args[:volume_info] unless args[:volume_info].nil?
2640
+ end
2641
+
2642
+ # Any information about a volume related to reading or obtaining that volume
2643
+ # text. This information can depend on country (books may be public domain in
2644
+ # one country but not in another, e.g.).
2645
+ class AccessInfo
2646
+ include Google::Apis::Core::Hashable
2647
+
2648
+ # Combines the access and viewability of this volume into a single status field
2649
+ # for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or
2650
+ # NONE. (In LITE projection.)
2651
+ # Corresponds to the JSON property `accessViewStatus`
2652
+ # @return [String]
2653
+ attr_accessor :access_view_status
2654
+
2655
+ # The two-letter ISO_3166-1 country code for which this access information is
2656
+ # valid. (In LITE projection.)
2657
+ # Corresponds to the JSON property `country`
2658
+ # @return [String]
2659
+ attr_accessor :country
2660
+
2661
+ # Information about a volume's download license access restrictions.
2662
+ # Corresponds to the JSON property `downloadAccess`
2663
+ # @return [Google::Apis::BooksV1::DownloadAccessRestriction]
2664
+ attr_accessor :download_access
2665
+
2666
+ # URL to the Google Drive viewer if this volume is uploaded by the user by
2667
+ # selecting the file from Google Drive.
2668
+ # Corresponds to the JSON property `driveImportedContentLink`
2669
+ # @return [String]
2670
+ attr_accessor :drive_imported_content_link
2671
+
2672
+ # Whether this volume can be embedded in a viewport using the Embedded Viewer
2673
+ # API.
2674
+ # Corresponds to the JSON property `embeddable`
2675
+ # @return [Boolean]
2676
+ attr_accessor :embeddable
2677
+ alias_method :embeddable?, :embeddable
2678
+
2679
+ # Information about epub content. (In LITE projection.)
2680
+ # Corresponds to the JSON property `epub`
2681
+ # @return [Google::Apis::BooksV1::Volume::AccessInfo::Epub]
2682
+ attr_accessor :epub
2683
+
2684
+ # Whether this volume requires that the client explicitly request offline
2685
+ # download license rather than have it done automatically when loading the
2686
+ # content, if the client supports it.
2687
+ # Corresponds to the JSON property `explicitOfflineLicenseManagement`
2688
+ # @return [Boolean]
2689
+ attr_accessor :explicit_offline_license_management
2690
+ alias_method :explicit_offline_license_management?, :explicit_offline_license_management
2691
+
2692
+ # Information about pdf content. (In LITE projection.)
2693
+ # Corresponds to the JSON property `pdf`
2694
+ # @return [Google::Apis::BooksV1::Volume::AccessInfo::Pdf]
2695
+ attr_accessor :pdf
2696
+
2697
+ # Whether or not this book is public domain in the country listed above.
2698
+ # Corresponds to the JSON property `publicDomain`
2699
+ # @return [Boolean]
2700
+ attr_accessor :public_domain
2701
+ alias_method :public_domain?, :public_domain
2702
+
2703
+ # Whether quote sharing is allowed for this volume.
2704
+ # Corresponds to the JSON property `quoteSharingAllowed`
2705
+ # @return [Boolean]
2706
+ attr_accessor :quote_sharing_allowed
2707
+ alias_method :quote_sharing_allowed?, :quote_sharing_allowed
2708
+
2709
+ # Whether text-to-speech is permitted for this volume. Values can be ALLOWED,
2710
+ # ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
2711
+ # Corresponds to the JSON property `textToSpeechPermission`
2712
+ # @return [String]
2713
+ attr_accessor :text_to_speech_permission
2714
+
2715
+ # For ordered but not yet processed orders, we give a URL that can be used to go
2716
+ # to the appropriate Google Wallet page.
2717
+ # Corresponds to the JSON property `viewOrderUrl`
2718
+ # @return [String]
2719
+ attr_accessor :view_order_url
2720
+
2721
+ # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES
2722
+ # or UNKNOWN. This value depends on the country listed above. A value of PARTIAL
2723
+ # means that the publisher has allowed some portion of the volume to be viewed
2724
+ # publicly, without purchase. This can apply to eBooks as well as non-eBooks.
2725
+ # Public domain books will always have a value of ALL_PAGES.
2726
+ # Corresponds to the JSON property `viewability`
2727
+ # @return [String]
2728
+ attr_accessor :viewability
2729
+
2730
+ # URL to read this volume on the Google Books site. Link will not allow users to
2731
+ # read non-viewable volumes.
2732
+ # Corresponds to the JSON property `webReaderLink`
2733
+ # @return [String]
2734
+ attr_accessor :web_reader_link
2735
+
2736
+ def initialize(**args)
2737
+ update!(**args)
2738
+ end
2739
+
2740
+ # Update properties of this object
2741
+ def update!(**args)
2742
+ @access_view_status = args[:access_view_status] unless args[:access_view_status].nil?
2743
+ @country = args[:country] unless args[:country].nil?
2744
+ @download_access = args[:download_access] unless args[:download_access].nil?
2745
+ @drive_imported_content_link = args[:drive_imported_content_link] unless args[:drive_imported_content_link].nil?
2746
+ @embeddable = args[:embeddable] unless args[:embeddable].nil?
2747
+ @epub = args[:epub] unless args[:epub].nil?
2748
+ @explicit_offline_license_management = args[:explicit_offline_license_management] unless args[:explicit_offline_license_management].nil?
2749
+ @pdf = args[:pdf] unless args[:pdf].nil?
2750
+ @public_domain = args[:public_domain] unless args[:public_domain].nil?
2751
+ @quote_sharing_allowed = args[:quote_sharing_allowed] unless args[:quote_sharing_allowed].nil?
2752
+ @text_to_speech_permission = args[:text_to_speech_permission] unless args[:text_to_speech_permission].nil?
2753
+ @view_order_url = args[:view_order_url] unless args[:view_order_url].nil?
2754
+ @viewability = args[:viewability] unless args[:viewability].nil?
2755
+ @web_reader_link = args[:web_reader_link] unless args[:web_reader_link].nil?
2756
+ end
2757
+
2758
+ # Information about epub content. (In LITE projection.)
2759
+ class Epub
2760
+ include Google::Apis::Core::Hashable
2761
+
2762
+ # URL to retrieve ACS token for epub download. (In LITE projection.)
2763
+ # Corresponds to the JSON property `acsTokenLink`
2764
+ # @return [String]
2765
+ attr_accessor :acs_token_link
2766
+
2767
+ # URL to download epub. (In LITE projection.)
2768
+ # Corresponds to the JSON property `downloadLink`
2769
+ # @return [String]
2770
+ attr_accessor :download_link
2771
+
2772
+ # Is a flowing text epub available either as public domain or for purchase. (In
2773
+ # LITE projection.)
2774
+ # Corresponds to the JSON property `isAvailable`
2775
+ # @return [Boolean]
2776
+ attr_accessor :is_available
2777
+ alias_method :is_available?, :is_available
2778
+
2779
+ def initialize(**args)
2780
+ update!(**args)
2781
+ end
2782
+
2783
+ # Update properties of this object
2784
+ def update!(**args)
2785
+ @acs_token_link = args[:acs_token_link] unless args[:acs_token_link].nil?
2786
+ @download_link = args[:download_link] unless args[:download_link].nil?
2787
+ @is_available = args[:is_available] unless args[:is_available].nil?
2788
+ end
2789
+ end
2790
+
2791
+ # Information about pdf content. (In LITE projection.)
2792
+ class Pdf
2793
+ include Google::Apis::Core::Hashable
2794
+
2795
+ # URL to retrieve ACS token for pdf download. (In LITE projection.)
2796
+ # Corresponds to the JSON property `acsTokenLink`
2797
+ # @return [String]
2798
+ attr_accessor :acs_token_link
2799
+
2800
+ # URL to download pdf. (In LITE projection.)
2801
+ # Corresponds to the JSON property `downloadLink`
2802
+ # @return [String]
2803
+ attr_accessor :download_link
2804
+
2805
+ # Is a scanned image pdf available either as public domain or for purchase. (In
2806
+ # LITE projection.)
2807
+ # Corresponds to the JSON property `isAvailable`
2808
+ # @return [Boolean]
2809
+ attr_accessor :is_available
2810
+ alias_method :is_available?, :is_available
2811
+
2812
+ def initialize(**args)
2813
+ update!(**args)
2814
+ end
2815
+
2816
+ # Update properties of this object
2817
+ def update!(**args)
2818
+ @acs_token_link = args[:acs_token_link] unless args[:acs_token_link].nil?
2819
+ @download_link = args[:download_link] unless args[:download_link].nil?
2820
+ @is_available = args[:is_available] unless args[:is_available].nil?
2821
+ end
2822
+ end
2823
+ end
2824
+
2825
+ # What layers exist in this volume and high level information about them.
2826
+ class LayerInfo
2827
+ include Google::Apis::Core::Hashable
2828
+
2829
+ # A layer should appear here if and only if the layer exists for this book.
2830
+ # Corresponds to the JSON property `layers`
2831
+ # @return [Array<Google::Apis::BooksV1::Volume::LayerInfo::Layer>]
2832
+ attr_accessor :layers
2833
+
2834
+ def initialize(**args)
2835
+ update!(**args)
2836
+ end
2837
+
2838
+ # Update properties of this object
2839
+ def update!(**args)
2840
+ @layers = args[:layers] unless args[:layers].nil?
2841
+ end
2842
+
2843
+ #
2844
+ class Layer
2845
+ include Google::Apis::Core::Hashable
2846
+
2847
+ # The layer id of this layer (e.g. "geo").
2848
+ # Corresponds to the JSON property `layerId`
2849
+ # @return [String]
2850
+ attr_accessor :layer_id
2851
+
2852
+ # The current version of this layer's volume annotations. Note that this version
2853
+ # applies only to the data in the books.layers.volumeAnnotations.* responses.
2854
+ # The actual annotation data is versioned separately.
2855
+ # Corresponds to the JSON property `volumeAnnotationsVersion`
2856
+ # @return [String]
2857
+ attr_accessor :volume_annotations_version
2858
+
2859
+ def initialize(**args)
2860
+ update!(**args)
2861
+ end
2862
+
2863
+ # Update properties of this object
2864
+ def update!(**args)
2865
+ @layer_id = args[:layer_id] unless args[:layer_id].nil?
2866
+ @volume_annotations_version = args[:volume_annotations_version] unless args[:volume_annotations_version].nil?
2867
+ end
2868
+ end
2869
+ end
2870
+
2871
+ # Recommendation related information for this volume.
2872
+ class RecommendedInfo
2873
+ include Google::Apis::Core::Hashable
2874
+
2875
+ # A text explaining why this volume is recommended.
2876
+ # Corresponds to the JSON property `explanation`
2877
+ # @return [String]
2878
+ attr_accessor :explanation
2879
+
2880
+ def initialize(**args)
2881
+ update!(**args)
2882
+ end
2883
+
2884
+ # Update properties of this object
2885
+ def update!(**args)
2886
+ @explanation = args[:explanation] unless args[:explanation].nil?
2887
+ end
2888
+ end
2889
+
2890
+ # Any information about a volume related to the eBookstore and/or
2891
+ # purchaseability. This information can depend on the country where the request
2892
+ # originates from (i.e. books may not be for sale in certain countries).
2893
+ class SaleInfo
2894
+ include Google::Apis::Core::Hashable
2895
+
2896
+ # URL to purchase this volume on the Google Books site. (In LITE projection)
2897
+ # Corresponds to the JSON property `buyLink`
2898
+ # @return [String]
2899
+ attr_accessor :buy_link
2900
+
2901
+ # The two-letter ISO_3166-1 country code for which this sale information is
2902
+ # valid. (In LITE projection.)
2903
+ # Corresponds to the JSON property `country`
2904
+ # @return [String]
2905
+ attr_accessor :country
2906
+
2907
+ # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
2908
+ # Corresponds to the JSON property `isEbook`
2909
+ # @return [Boolean]
2910
+ attr_accessor :is_ebook
2911
+ alias_method :is_ebook?, :is_ebook
2912
+
2913
+ # Suggested retail price. (In LITE projection.)
2914
+ # Corresponds to the JSON property `listPrice`
2915
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::ListPrice]
2916
+ attr_accessor :list_price
2917
+
2918
+ # Offers available for this volume (sales and rentals).
2919
+ # Corresponds to the JSON property `offers`
2920
+ # @return [Array<Google::Apis::BooksV1::Volume::SaleInfo::Offer>]
2921
+ attr_accessor :offers
2922
+
2923
+ # The date on which this book is available for sale.
2924
+ # Corresponds to the JSON property `onSaleDate`
2925
+ # @return [DateTime]
2926
+ attr_accessor :on_sale_date
2927
+
2928
+ # The actual selling price of the book. This is the same as the suggested retail
2929
+ # or list price unless there are offers or discounts on this volume. (In LITE
2930
+ # projection.)
2931
+ # Corresponds to the JSON property `retailPrice`
2932
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::RetailPrice]
2933
+ attr_accessor :retail_price
2934
+
2935
+ # Whether or not this book is available for sale or offered for free in the
2936
+ # Google eBookstore for the country listed above. Possible values are FOR_SALE,
2937
+ # FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
2938
+ # Corresponds to the JSON property `saleability`
2939
+ # @return [String]
2940
+ attr_accessor :saleability
2941
+
2942
+ def initialize(**args)
2943
+ update!(**args)
2944
+ end
2945
+
2946
+ # Update properties of this object
2947
+ def update!(**args)
2948
+ @buy_link = args[:buy_link] unless args[:buy_link].nil?
2949
+ @country = args[:country] unless args[:country].nil?
2950
+ @is_ebook = args[:is_ebook] unless args[:is_ebook].nil?
2951
+ @list_price = args[:list_price] unless args[:list_price].nil?
2952
+ @offers = args[:offers] unless args[:offers].nil?
2953
+ @on_sale_date = args[:on_sale_date] unless args[:on_sale_date].nil?
2954
+ @retail_price = args[:retail_price] unless args[:retail_price].nil?
2955
+ @saleability = args[:saleability] unless args[:saleability].nil?
2956
+ end
2957
+
2958
+ # Suggested retail price. (In LITE projection.)
2959
+ class ListPrice
2960
+ include Google::Apis::Core::Hashable
2961
+
2962
+ # Amount in the currency listed below. (In LITE projection.)
2963
+ # Corresponds to the JSON property `amount`
2964
+ # @return [Float]
2965
+ attr_accessor :amount
2966
+
2967
+ # An ISO 4217, three-letter currency code. (In LITE projection.)
2968
+ # Corresponds to the JSON property `currencyCode`
2969
+ # @return [String]
2970
+ attr_accessor :currency_code
2971
+
2972
+ def initialize(**args)
2973
+ update!(**args)
2974
+ end
2975
+
2976
+ # Update properties of this object
2977
+ def update!(**args)
2978
+ @amount = args[:amount] unless args[:amount].nil?
2979
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
2980
+ end
2981
+ end
2982
+
2983
+ #
2984
+ class Offer
2985
+ include Google::Apis::Core::Hashable
2986
+
2987
+ # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
2988
+ # Corresponds to the JSON property `finskyOfferType`
2989
+ # @return [Fixnum]
2990
+ attr_accessor :finsky_offer_type
2991
+
2992
+ # Offer list (=undiscounted) price in Micros.
2993
+ # Corresponds to the JSON property `listPrice`
2994
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::Offer::ListPrice]
2995
+ attr_accessor :list_price
2996
+
2997
+ # The rental duration (for rental offers only).
2998
+ # Corresponds to the JSON property `rentalDuration`
2999
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::Offer::RentalDuration]
3000
+ attr_accessor :rental_duration
3001
+
3002
+ # Offer retail (=discounted) price in Micros
3003
+ # Corresponds to the JSON property `retailPrice`
3004
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::Offer::RetailPrice]
3005
+ attr_accessor :retail_price
3006
+
3007
+ def initialize(**args)
3008
+ update!(**args)
3009
+ end
3010
+
3011
+ # Update properties of this object
3012
+ def update!(**args)
3013
+ @finsky_offer_type = args[:finsky_offer_type] unless args[:finsky_offer_type].nil?
3014
+ @list_price = args[:list_price] unless args[:list_price].nil?
3015
+ @rental_duration = args[:rental_duration] unless args[:rental_duration].nil?
3016
+ @retail_price = args[:retail_price] unless args[:retail_price].nil?
3017
+ end
3018
+
3019
+ # Offer list (=undiscounted) price in Micros.
3020
+ class ListPrice
3021
+ include Google::Apis::Core::Hashable
3022
+
3023
+ #
3024
+ # Corresponds to the JSON property `amountInMicros`
3025
+ # @return [Float]
3026
+ attr_accessor :amount_in_micros
3027
+
3028
+ #
3029
+ # Corresponds to the JSON property `currencyCode`
3030
+ # @return [String]
3031
+ attr_accessor :currency_code
3032
+
3033
+ def initialize(**args)
3034
+ update!(**args)
3035
+ end
3036
+
3037
+ # Update properties of this object
3038
+ def update!(**args)
3039
+ @amount_in_micros = args[:amount_in_micros] unless args[:amount_in_micros].nil?
3040
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
3041
+ end
3042
+ end
3043
+
3044
+ # The rental duration (for rental offers only).
3045
+ class RentalDuration
3046
+ include Google::Apis::Core::Hashable
3047
+
3048
+ #
3049
+ # Corresponds to the JSON property `count`
3050
+ # @return [Float]
3051
+ attr_accessor :count
3052
+
3053
+ #
3054
+ # Corresponds to the JSON property `unit`
3055
+ # @return [String]
3056
+ attr_accessor :unit
3057
+
3058
+ def initialize(**args)
3059
+ update!(**args)
3060
+ end
3061
+
3062
+ # Update properties of this object
3063
+ def update!(**args)
3064
+ @count = args[:count] unless args[:count].nil?
3065
+ @unit = args[:unit] unless args[:unit].nil?
3066
+ end
3067
+ end
3068
+
3069
+ # Offer retail (=discounted) price in Micros
3070
+ class RetailPrice
3071
+ include Google::Apis::Core::Hashable
3072
+
3073
+ #
3074
+ # Corresponds to the JSON property `amountInMicros`
3075
+ # @return [Float]
3076
+ attr_accessor :amount_in_micros
3077
+
3078
+ #
3079
+ # Corresponds to the JSON property `currencyCode`
3080
+ # @return [String]
3081
+ attr_accessor :currency_code
3082
+
3083
+ def initialize(**args)
3084
+ update!(**args)
3085
+ end
3086
+
3087
+ # Update properties of this object
3088
+ def update!(**args)
3089
+ @amount_in_micros = args[:amount_in_micros] unless args[:amount_in_micros].nil?
3090
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
3091
+ end
3092
+ end
3093
+ end
3094
+
3095
+ # The actual selling price of the book. This is the same as the suggested retail
3096
+ # or list price unless there are offers or discounts on this volume. (In LITE
3097
+ # projection.)
3098
+ class RetailPrice
3099
+ include Google::Apis::Core::Hashable
3100
+
3101
+ # Amount in the currency listed below. (In LITE projection.)
3102
+ # Corresponds to the JSON property `amount`
3103
+ # @return [Float]
3104
+ attr_accessor :amount
3105
+
3106
+ # An ISO 4217, three-letter currency code. (In LITE projection.)
3107
+ # Corresponds to the JSON property `currencyCode`
3108
+ # @return [String]
3109
+ attr_accessor :currency_code
3110
+
3111
+ def initialize(**args)
3112
+ update!(**args)
3113
+ end
3114
+
3115
+ # Update properties of this object
3116
+ def update!(**args)
3117
+ @amount = args[:amount] unless args[:amount].nil?
3118
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
3119
+ end
3120
+ end
3121
+ end
3122
+
3123
+ # Search result information related to this volume.
3124
+ class SearchInfo
3125
+ include Google::Apis::Core::Hashable
3126
+
3127
+ # A text snippet containing the search query.
3128
+ # Corresponds to the JSON property `textSnippet`
3129
+ # @return [String]
3130
+ attr_accessor :text_snippet
3131
+
3132
+ def initialize(**args)
3133
+ update!(**args)
3134
+ end
3135
+
3136
+ # Update properties of this object
3137
+ def update!(**args)
3138
+ @text_snippet = args[:text_snippet] unless args[:text_snippet].nil?
3139
+ end
3140
+ end
3141
+
3142
+ # User specific information related to this volume. (e.g. page this user last
3143
+ # read or whether they purchased this book)
3144
+ class UserInfo
3145
+ include Google::Apis::Core::Hashable
3146
+
3147
+ # How this volume was acquired.
3148
+ # Corresponds to the JSON property `acquisitionType`
3149
+ # @return [Fixnum]
3150
+ attr_accessor :acquisition_type
3151
+
3152
+ # Copy/Paste accounting information.
3153
+ # Corresponds to the JSON property `copy`
3154
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::Copy]
3155
+ attr_accessor :copy
3156
+
3157
+ # Whether this volume is purchased, sample, pd download etc.
3158
+ # Corresponds to the JSON property `entitlementType`
3159
+ # @return [Fixnum]
3160
+ attr_accessor :entitlement_type
3161
+
3162
+ # Whether or not this volume is currently in "my books."
3163
+ # Corresponds to the JSON property `isInMyBooks`
3164
+ # @return [Boolean]
3165
+ attr_accessor :is_in_my_books
3166
+ alias_method :is_in_my_books?, :is_in_my_books
3167
+
3168
+ # Whether or not this volume was pre-ordered by the authenticated user making
3169
+ # the request. (In LITE projection.)
3170
+ # Corresponds to the JSON property `isPreordered`
3171
+ # @return [Boolean]
3172
+ attr_accessor :is_preordered
3173
+ alias_method :is_preordered?, :is_preordered
3174
+
3175
+ # Whether or not this volume was purchased by the authenticated user making the
3176
+ # request. (In LITE projection.)
3177
+ # Corresponds to the JSON property `isPurchased`
3178
+ # @return [Boolean]
3179
+ attr_accessor :is_purchased
3180
+ alias_method :is_purchased?, :is_purchased
3181
+
3182
+ # Whether or not this volume was user uploaded.
3183
+ # Corresponds to the JSON property `isUploaded`
3184
+ # @return [Boolean]
3185
+ attr_accessor :is_uploaded
3186
+ alias_method :is_uploaded?, :is_uploaded
3187
+
3188
+ # The user's current reading position in the volume, if one is available. (In
3189
+ # LITE projection.)
3190
+ # Corresponds to the JSON property `readingPosition`
3191
+ # @return [Google::Apis::BooksV1::ReadingPosition]
3192
+ attr_accessor :reading_position
3193
+
3194
+ # Period during this book is/was a valid rental.
3195
+ # Corresponds to the JSON property `rentalPeriod`
3196
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::RentalPeriod]
3197
+ attr_accessor :rental_period
3198
+
3199
+ # Whether this book is an active or an expired rental.
3200
+ # Corresponds to the JSON property `rentalState`
3201
+ # @return [String]
3202
+ attr_accessor :rental_state
3203
+
3204
+ # This user's review of this volume, if one exists.
3205
+ # Corresponds to the JSON property `review`
3206
+ # @return [Google::Apis::BooksV1::Review]
3207
+ attr_accessor :review
3208
+
3209
+ # Timestamp when this volume was last modified by a user action, such as a
3210
+ # reading position update, volume purchase or writing a review. (RFC 3339 UTC
3211
+ # date-time format).
3212
+ # Corresponds to the JSON property `updated`
3213
+ # @return [DateTime]
3214
+ attr_accessor :updated
3215
+
3216
+ #
3217
+ # Corresponds to the JSON property `userUploadedVolumeInfo`
3218
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::UserUploadedVolumeInfo]
3219
+ attr_accessor :user_uploaded_volume_info
3220
+
3221
+ def initialize(**args)
3222
+ update!(**args)
3223
+ end
3224
+
3225
+ # Update properties of this object
3226
+ def update!(**args)
3227
+ @acquisition_type = args[:acquisition_type] unless args[:acquisition_type].nil?
3228
+ @copy = args[:copy] unless args[:copy].nil?
3229
+ @entitlement_type = args[:entitlement_type] unless args[:entitlement_type].nil?
3230
+ @is_in_my_books = args[:is_in_my_books] unless args[:is_in_my_books].nil?
3231
+ @is_preordered = args[:is_preordered] unless args[:is_preordered].nil?
3232
+ @is_purchased = args[:is_purchased] unless args[:is_purchased].nil?
3233
+ @is_uploaded = args[:is_uploaded] unless args[:is_uploaded].nil?
3234
+ @reading_position = args[:reading_position] unless args[:reading_position].nil?
3235
+ @rental_period = args[:rental_period] unless args[:rental_period].nil?
3236
+ @rental_state = args[:rental_state] unless args[:rental_state].nil?
3237
+ @review = args[:review] unless args[:review].nil?
3238
+ @updated = args[:updated] unless args[:updated].nil?
3239
+ @user_uploaded_volume_info = args[:user_uploaded_volume_info] unless args[:user_uploaded_volume_info].nil?
3240
+ end
3241
+
3242
+ # Copy/Paste accounting information.
3243
+ class Copy
3244
+ include Google::Apis::Core::Hashable
3245
+
3246
+ #
3247
+ # Corresponds to the JSON property `allowedCharacterCount`
3248
+ # @return [Fixnum]
3249
+ attr_accessor :allowed_character_count
3250
+
3251
+ #
3252
+ # Corresponds to the JSON property `limitType`
3253
+ # @return [String]
3254
+ attr_accessor :limit_type
3255
+
3256
+ #
3257
+ # Corresponds to the JSON property `remainingCharacterCount`
3258
+ # @return [Fixnum]
3259
+ attr_accessor :remaining_character_count
3260
+
3261
+ #
3262
+ # Corresponds to the JSON property `updated`
3263
+ # @return [DateTime]
3264
+ attr_accessor :updated
3265
+
3266
+ def initialize(**args)
3267
+ update!(**args)
3268
+ end
3269
+
3270
+ # Update properties of this object
3271
+ def update!(**args)
3272
+ @allowed_character_count = args[:allowed_character_count] unless args[:allowed_character_count].nil?
3273
+ @limit_type = args[:limit_type] unless args[:limit_type].nil?
3274
+ @remaining_character_count = args[:remaining_character_count] unless args[:remaining_character_count].nil?
3275
+ @updated = args[:updated] unless args[:updated].nil?
3276
+ end
3277
+ end
3278
+
3279
+ # Period during this book is/was a valid rental.
3280
+ class RentalPeriod
3281
+ include Google::Apis::Core::Hashable
3282
+
3283
+ #
3284
+ # Corresponds to the JSON property `endUtcSec`
3285
+ # @return [String]
3286
+ attr_accessor :end_utc_sec
3287
+
3288
+ #
3289
+ # Corresponds to the JSON property `startUtcSec`
3290
+ # @return [String]
3291
+ attr_accessor :start_utc_sec
3292
+
3293
+ def initialize(**args)
3294
+ update!(**args)
3295
+ end
3296
+
3297
+ # Update properties of this object
3298
+ def update!(**args)
3299
+ @end_utc_sec = args[:end_utc_sec] unless args[:end_utc_sec].nil?
3300
+ @start_utc_sec = args[:start_utc_sec] unless args[:start_utc_sec].nil?
3301
+ end
3302
+ end
3303
+
3304
+ #
3305
+ class UserUploadedVolumeInfo
3306
+ include Google::Apis::Core::Hashable
3307
+
3308
+ #
3309
+ # Corresponds to the JSON property `processingState`
3310
+ # @return [String]
3311
+ attr_accessor :processing_state
3312
+
3313
+ def initialize(**args)
3314
+ update!(**args)
3315
+ end
3316
+
3317
+ # Update properties of this object
3318
+ def update!(**args)
3319
+ @processing_state = args[:processing_state] unless args[:processing_state].nil?
3320
+ end
3321
+ end
3322
+ end
3323
+
3324
+ # General volume information.
3325
+ class VolumeInfo
3326
+ include Google::Apis::Core::Hashable
3327
+
3328
+ # Whether anonymous logging should be allowed.
3329
+ # Corresponds to the JSON property `allowAnonLogging`
3330
+ # @return [Boolean]
3331
+ attr_accessor :allow_anon_logging
3332
+ alias_method :allow_anon_logging?, :allow_anon_logging
3333
+
3334
+ # The names of the authors and/or editors for this volume. (In LITE projection)
3335
+ # Corresponds to the JSON property `authors`
3336
+ # @return [Array<String>]
3337
+ attr_accessor :authors
3338
+
3339
+ # The mean review rating for this volume. (min = 1.0, max = 5.0)
3340
+ # Corresponds to the JSON property `averageRating`
3341
+ # @return [Float]
3342
+ attr_accessor :average_rating
3343
+
3344
+ # Canonical URL for a volume. (In LITE projection.)
3345
+ # Corresponds to the JSON property `canonicalVolumeLink`
3346
+ # @return [String]
3347
+ attr_accessor :canonical_volume_link
3348
+
3349
+ # A list of subject categories, such as "Fiction", "Suspense", etc.
3350
+ # Corresponds to the JSON property `categories`
3351
+ # @return [Array<String>]
3352
+ attr_accessor :categories
3353
+
3354
+ # An identifier for the version of the volume content (text & images). (In LITE
3355
+ # projection)
3356
+ # Corresponds to the JSON property `contentVersion`
3357
+ # @return [String]
3358
+ attr_accessor :content_version
3359
+
3360
+ # A synopsis of the volume. The text of the description is formatted in HTML and
3361
+ # includes simple formatting elements, such as b, i, and br tags. (In LITE
3362
+ # projection.)
3363
+ # Corresponds to the JSON property `description`
3364
+ # @return [String]
3365
+ attr_accessor :description
3366
+
3367
+ # Physical dimensions of this volume.
3368
+ # Corresponds to the JSON property `dimensions`
3369
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo::Dimensions]
3370
+ attr_accessor :dimensions
3371
+
3372
+ # A list of image links for all the sizes that are available. (In LITE
3373
+ # projection.)
3374
+ # Corresponds to the JSON property `imageLinks`
3375
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo::ImageLinks]
3376
+ attr_accessor :image_links
3377
+
3378
+ # Industry standard identifiers for this volume.
3379
+ # Corresponds to the JSON property `industryIdentifiers`
3380
+ # @return [Array<Google::Apis::BooksV1::Volume::VolumeInfo::IndustryIdentifier>]
3381
+ attr_accessor :industry_identifiers
3382
+
3383
+ # URL to view information about this volume on the Google Books site. (In LITE
3384
+ # projection)
3385
+ # Corresponds to the JSON property `infoLink`
3386
+ # @return [String]
3387
+ attr_accessor :info_link
3388
+
3389
+ # Best language for this volume (based on content). It is the two-letter ISO 639-
3390
+ # 1 code such as 'fr', 'en', etc.
3391
+ # Corresponds to the JSON property `language`
3392
+ # @return [String]
3393
+ attr_accessor :language
3394
+
3395
+ # The main category to which this volume belongs. It will be the category from
3396
+ # the categories list returned below that has the highest weight.
3397
+ # Corresponds to the JSON property `mainCategory`
3398
+ # @return [String]
3399
+ attr_accessor :main_category
3400
+
3401
+ #
3402
+ # Corresponds to the JSON property `maturityRating`
3403
+ # @return [String]
3404
+ attr_accessor :maturity_rating
3405
+
3406
+ # Total number of pages as per publisher metadata.
3407
+ # Corresponds to the JSON property `pageCount`
3408
+ # @return [Fixnum]
3409
+ attr_accessor :page_count
3410
+
3411
+ # URL to preview this volume on the Google Books site.
3412
+ # Corresponds to the JSON property `previewLink`
3413
+ # @return [String]
3414
+ attr_accessor :preview_link
3415
+
3416
+ # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
3417
+ # Corresponds to the JSON property `printType`
3418
+ # @return [String]
3419
+ attr_accessor :print_type
3420
+
3421
+ # Total number of printed pages in generated pdf representation.
3422
+ # Corresponds to the JSON property `printedPageCount`
3423
+ # @return [Fixnum]
3424
+ attr_accessor :printed_page_count
3425
+
3426
+ # Date of publication. (In LITE projection.)
3427
+ # Corresponds to the JSON property `publishedDate`
3428
+ # @return [String]
3429
+ attr_accessor :published_date
3430
+
3431
+ # Publisher of this volume. (In LITE projection.)
3432
+ # Corresponds to the JSON property `publisher`
3433
+ # @return [String]
3434
+ attr_accessor :publisher
3435
+
3436
+ # The number of review ratings for this volume.
3437
+ # Corresponds to the JSON property `ratingsCount`
3438
+ # @return [Fixnum]
3439
+ attr_accessor :ratings_count
3440
+
3441
+ # The reading modes available for this volume.
3442
+ # Corresponds to the JSON property `readingModes`
3443
+ # @return [Object]
3444
+ attr_accessor :reading_modes
3445
+
3446
+ # Total number of sample pages as per publisher metadata.
3447
+ # Corresponds to the JSON property `samplePageCount`
3448
+ # @return [Fixnum]
3449
+ attr_accessor :sample_page_count
3450
+
3451
+ #
3452
+ # Corresponds to the JSON property `seriesInfo`
3453
+ # @return [Google::Apis::BooksV1::Volumeseriesinfo]
3454
+ attr_accessor :series_info
3455
+
3456
+ # Volume subtitle. (In LITE projection.)
3457
+ # Corresponds to the JSON property `subtitle`
3458
+ # @return [String]
3459
+ attr_accessor :subtitle
3460
+
3461
+ # Volume title. (In LITE projection.)
3462
+ # Corresponds to the JSON property `title`
3463
+ # @return [String]
3464
+ attr_accessor :title
3465
+
3466
+ def initialize(**args)
3467
+ update!(**args)
3468
+ end
3469
+
3470
+ # Update properties of this object
3471
+ def update!(**args)
3472
+ @allow_anon_logging = args[:allow_anon_logging] unless args[:allow_anon_logging].nil?
3473
+ @authors = args[:authors] unless args[:authors].nil?
3474
+ @average_rating = args[:average_rating] unless args[:average_rating].nil?
3475
+ @canonical_volume_link = args[:canonical_volume_link] unless args[:canonical_volume_link].nil?
3476
+ @categories = args[:categories] unless args[:categories].nil?
3477
+ @content_version = args[:content_version] unless args[:content_version].nil?
3478
+ @description = args[:description] unless args[:description].nil?
3479
+ @dimensions = args[:dimensions] unless args[:dimensions].nil?
3480
+ @image_links = args[:image_links] unless args[:image_links].nil?
3481
+ @industry_identifiers = args[:industry_identifiers] unless args[:industry_identifiers].nil?
3482
+ @info_link = args[:info_link] unless args[:info_link].nil?
3483
+ @language = args[:language] unless args[:language].nil?
3484
+ @main_category = args[:main_category] unless args[:main_category].nil?
3485
+ @maturity_rating = args[:maturity_rating] unless args[:maturity_rating].nil?
3486
+ @page_count = args[:page_count] unless args[:page_count].nil?
3487
+ @preview_link = args[:preview_link] unless args[:preview_link].nil?
3488
+ @print_type = args[:print_type] unless args[:print_type].nil?
3489
+ @printed_page_count = args[:printed_page_count] unless args[:printed_page_count].nil?
3490
+ @published_date = args[:published_date] unless args[:published_date].nil?
3491
+ @publisher = args[:publisher] unless args[:publisher].nil?
3492
+ @ratings_count = args[:ratings_count] unless args[:ratings_count].nil?
3493
+ @reading_modes = args[:reading_modes] unless args[:reading_modes].nil?
3494
+ @sample_page_count = args[:sample_page_count] unless args[:sample_page_count].nil?
3495
+ @series_info = args[:series_info] unless args[:series_info].nil?
3496
+ @subtitle = args[:subtitle] unless args[:subtitle].nil?
3497
+ @title = args[:title] unless args[:title].nil?
3498
+ end
3499
+
3500
+ # Physical dimensions of this volume.
3501
+ class Dimensions
3502
+ include Google::Apis::Core::Hashable
3503
+
3504
+ # Height or length of this volume (in cm).
3505
+ # Corresponds to the JSON property `height`
3506
+ # @return [String]
3507
+ attr_accessor :height
3508
+
3509
+ # Thickness of this volume (in cm).
3510
+ # Corresponds to the JSON property `thickness`
3511
+ # @return [String]
3512
+ attr_accessor :thickness
3513
+
3514
+ # Width of this volume (in cm).
3515
+ # Corresponds to the JSON property `width`
3516
+ # @return [String]
3517
+ attr_accessor :width
3518
+
3519
+ def initialize(**args)
3520
+ update!(**args)
3521
+ end
3522
+
3523
+ # Update properties of this object
3524
+ def update!(**args)
3525
+ @height = args[:height] unless args[:height].nil?
3526
+ @thickness = args[:thickness] unless args[:thickness].nil?
3527
+ @width = args[:width] unless args[:width].nil?
3528
+ end
3529
+ end
3530
+
3531
+ # A list of image links for all the sizes that are available. (In LITE
3532
+ # projection.)
3533
+ class ImageLinks
3534
+ include Google::Apis::Core::Hashable
3535
+
3536
+ # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
3537
+ # Corresponds to the JSON property `extraLarge`
3538
+ # @return [String]
3539
+ attr_accessor :extra_large
3540
+
3541
+ # Image link for large size (width of ~800 pixels). (In LITE projection)
3542
+ # Corresponds to the JSON property `large`
3543
+ # @return [String]
3544
+ attr_accessor :large
3545
+
3546
+ # Image link for medium size (width of ~575 pixels). (In LITE projection)
3547
+ # Corresponds to the JSON property `medium`
3548
+ # @return [String]
3549
+ attr_accessor :medium
3550
+
3551
+ # Image link for small size (width of ~300 pixels). (In LITE projection)
3552
+ # Corresponds to the JSON property `small`
3553
+ # @return [String]
3554
+ attr_accessor :small
3555
+
3556
+ # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
3557
+ # Corresponds to the JSON property `smallThumbnail`
3558
+ # @return [String]
3559
+ attr_accessor :small_thumbnail
3560
+
3561
+ # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
3562
+ # Corresponds to the JSON property `thumbnail`
3563
+ # @return [String]
3564
+ attr_accessor :thumbnail
3565
+
3566
+ def initialize(**args)
3567
+ update!(**args)
3568
+ end
3569
+
3570
+ # Update properties of this object
3571
+ def update!(**args)
3572
+ @extra_large = args[:extra_large] unless args[:extra_large].nil?
3573
+ @large = args[:large] unless args[:large].nil?
3574
+ @medium = args[:medium] unless args[:medium].nil?
3575
+ @small = args[:small] unless args[:small].nil?
3576
+ @small_thumbnail = args[:small_thumbnail] unless args[:small_thumbnail].nil?
3577
+ @thumbnail = args[:thumbnail] unless args[:thumbnail].nil?
3578
+ end
3579
+ end
3580
+
3581
+ #
3582
+ class IndustryIdentifier
3583
+ include Google::Apis::Core::Hashable
3584
+
3585
+ # Industry specific volume identifier.
3586
+ # Corresponds to the JSON property `identifier`
3587
+ # @return [String]
3588
+ attr_accessor :identifier
3589
+
3590
+ # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
3591
+ # Corresponds to the JSON property `type`
3592
+ # @return [String]
3593
+ attr_accessor :type
3594
+
3595
+ def initialize(**args)
3596
+ update!(**args)
3597
+ end
3598
+
3599
+ # Update properties of this object
3600
+ def update!(**args)
3601
+ @identifier = args[:identifier] unless args[:identifier].nil?
3602
+ @type = args[:type] unless args[:type].nil?
3603
+ end
3604
+ end
3605
+ end
3606
+ end
3607
+
3608
+ #
3609
+ class Volume2
3610
+ include Google::Apis::Core::Hashable
3611
+
3612
+ # A list of volumes.
3613
+ # Corresponds to the JSON property `items`
3614
+ # @return [Array<Google::Apis::BooksV1::Volume>]
3615
+ attr_accessor :items
3616
+
3617
+ # Resource type.
3618
+ # Corresponds to the JSON property `kind`
3619
+ # @return [String]
3620
+ attr_accessor :kind
3621
+
3622
+ #
3623
+ # Corresponds to the JSON property `nextPageToken`
3624
+ # @return [String]
3625
+ attr_accessor :next_page_token
3626
+
3627
+ def initialize(**args)
3628
+ update!(**args)
3629
+ end
3630
+
3631
+ # Update properties of this object
3632
+ def update!(**args)
3633
+ @items = args[:items] unless args[:items].nil?
3634
+ @kind = args[:kind] unless args[:kind].nil?
3635
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
3636
+ end
3637
+ end
3638
+
3639
+ #
3640
+ class VolumeAnnotation
3641
+ include Google::Apis::Core::Hashable
3642
+
3643
+ # The annotation data id for this volume annotation.
3644
+ # Corresponds to the JSON property `annotationDataId`
3645
+ # @return [String]
3646
+ attr_accessor :annotation_data_id
3647
+
3648
+ # Link to get data for this annotation.
3649
+ # Corresponds to the JSON property `annotationDataLink`
3650
+ # @return [String]
3651
+ attr_accessor :annotation_data_link
3652
+
3653
+ # The type of annotation this is.
3654
+ # Corresponds to the JSON property `annotationType`
3655
+ # @return [String]
3656
+ attr_accessor :annotation_type
3657
+
3658
+ # The content ranges to identify the selected text.
3659
+ # Corresponds to the JSON property `contentRanges`
3660
+ # @return [Google::Apis::BooksV1::VolumeAnnotation::ContentRanges]
3661
+ attr_accessor :content_ranges
3662
+
3663
+ # Data for this annotation.
3664
+ # Corresponds to the JSON property `data`
3665
+ # @return [String]
3666
+ attr_accessor :data
3667
+
3668
+ # Indicates that this annotation is deleted.
3669
+ # Corresponds to the JSON property `deleted`
3670
+ # @return [Boolean]
3671
+ attr_accessor :deleted
3672
+ alias_method :deleted?, :deleted
3673
+
3674
+ # Unique id of this volume annotation.
3675
+ # Corresponds to the JSON property `id`
3676
+ # @return [String]
3677
+ attr_accessor :id
3678
+
3679
+ # Resource Type
3680
+ # Corresponds to the JSON property `kind`
3681
+ # @return [String]
3682
+ attr_accessor :kind
3683
+
3684
+ # The Layer this annotation is for.
3685
+ # Corresponds to the JSON property `layerId`
3686
+ # @return [String]
3687
+ attr_accessor :layer_id
3688
+
3689
+ # Pages the annotation spans.
3690
+ # Corresponds to the JSON property `pageIds`
3691
+ # @return [Array<String>]
3692
+ attr_accessor :page_ids
3693
+
3694
+ # Excerpt from the volume.
3695
+ # Corresponds to the JSON property `selectedText`
3696
+ # @return [String]
3697
+ attr_accessor :selected_text
3698
+
3699
+ # URL to this resource.
3700
+ # Corresponds to the JSON property `selfLink`
3701
+ # @return [String]
3702
+ attr_accessor :self_link
3703
+
3704
+ # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-
3705
+ # time format).
3706
+ # Corresponds to the JSON property `updated`
3707
+ # @return [DateTime]
3708
+ attr_accessor :updated
3709
+
3710
+ # The Volume this annotation is for.
3711
+ # Corresponds to the JSON property `volumeId`
3712
+ # @return [String]
3713
+ attr_accessor :volume_id
3714
+
3715
+ def initialize(**args)
3716
+ update!(**args)
3717
+ end
3718
+
3719
+ # Update properties of this object
3720
+ def update!(**args)
3721
+ @annotation_data_id = args[:annotation_data_id] unless args[:annotation_data_id].nil?
3722
+ @annotation_data_link = args[:annotation_data_link] unless args[:annotation_data_link].nil?
3723
+ @annotation_type = args[:annotation_type] unless args[:annotation_type].nil?
3724
+ @content_ranges = args[:content_ranges] unless args[:content_ranges].nil?
3725
+ @data = args[:data] unless args[:data].nil?
3726
+ @deleted = args[:deleted] unless args[:deleted].nil?
3727
+ @id = args[:id] unless args[:id].nil?
3728
+ @kind = args[:kind] unless args[:kind].nil?
3729
+ @layer_id = args[:layer_id] unless args[:layer_id].nil?
3730
+ @page_ids = args[:page_ids] unless args[:page_ids].nil?
3731
+ @selected_text = args[:selected_text] unless args[:selected_text].nil?
3732
+ @self_link = args[:self_link] unless args[:self_link].nil?
3733
+ @updated = args[:updated] unless args[:updated].nil?
3734
+ @volume_id = args[:volume_id] unless args[:volume_id].nil?
3735
+ end
3736
+
3737
+ # The content ranges to identify the selected text.
3738
+ class ContentRanges
3739
+ include Google::Apis::Core::Hashable
3740
+
3741
+ # Range in CFI format for this annotation for version above.
3742
+ # Corresponds to the JSON property `cfiRange`
3743
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
3744
+ attr_accessor :cfi_range
3745
+
3746
+ # Content version applicable to ranges below.
3747
+ # Corresponds to the JSON property `contentVersion`
3748
+ # @return [String]
3749
+ attr_accessor :content_version
3750
+
3751
+ # Range in GB image format for this annotation for version above.
3752
+ # Corresponds to the JSON property `gbImageRange`
3753
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
3754
+ attr_accessor :gb_image_range
3755
+
3756
+ # Range in GB text format for this annotation for version above.
3757
+ # Corresponds to the JSON property `gbTextRange`
3758
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
3759
+ attr_accessor :gb_text_range
3760
+
3761
+ def initialize(**args)
3762
+ update!(**args)
3763
+ end
3764
+
3765
+ # Update properties of this object
3766
+ def update!(**args)
3767
+ @cfi_range = args[:cfi_range] unless args[:cfi_range].nil?
3768
+ @content_version = args[:content_version] unless args[:content_version].nil?
3769
+ @gb_image_range = args[:gb_image_range] unless args[:gb_image_range].nil?
3770
+ @gb_text_range = args[:gb_text_range] unless args[:gb_text_range].nil?
3771
+ end
3772
+ end
3773
+ end
3774
+
3775
+ #
3776
+ class Volumeannotations
3777
+ include Google::Apis::Core::Hashable
3778
+
3779
+ # A list of volume annotations.
3780
+ # Corresponds to the JSON property `items`
3781
+ # @return [Array<Google::Apis::BooksV1::VolumeAnnotation>]
3782
+ attr_accessor :items
3783
+
3784
+ # Resource type
3785
+ # Corresponds to the JSON property `kind`
3786
+ # @return [String]
3787
+ attr_accessor :kind
3788
+
3789
+ # Token to pass in for pagination for the next page. This will not be present if
3790
+ # this request does not have more results.
3791
+ # Corresponds to the JSON property `nextPageToken`
3792
+ # @return [String]
3793
+ attr_accessor :next_page_token
3794
+
3795
+ # The total number of volume annotations found.
3796
+ # Corresponds to the JSON property `totalItems`
3797
+ # @return [Fixnum]
3798
+ attr_accessor :total_items
3799
+
3800
+ # The version string for all of the volume annotations in this layer (not just
3801
+ # the ones in this response). Note: the version string doesn't apply to the
3802
+ # annotation data, just the information in this response (e.g. the location of
3803
+ # annotations in the book).
3804
+ # Corresponds to the JSON property `version`
3805
+ # @return [String]
3806
+ attr_accessor :version
3807
+
3808
+ def initialize(**args)
3809
+ update!(**args)
3810
+ end
3811
+
3812
+ # Update properties of this object
3813
+ def update!(**args)
3814
+ @items = args[:items] unless args[:items].nil?
3815
+ @kind = args[:kind] unless args[:kind].nil?
3816
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
3817
+ @total_items = args[:total_items] unless args[:total_items].nil?
3818
+ @version = args[:version] unless args[:version].nil?
3819
+ end
3820
+ end
3821
+
3822
+ #
3823
+ class Volumes
3824
+ include Google::Apis::Core::Hashable
3825
+
3826
+ # A list of volumes.
3827
+ # Corresponds to the JSON property `items`
3828
+ # @return [Array<Google::Apis::BooksV1::Volume>]
3829
+ attr_accessor :items
3830
+
3831
+ # Resource type.
3832
+ # Corresponds to the JSON property `kind`
3833
+ # @return [String]
3834
+ attr_accessor :kind
3835
+
3836
+ # Total number of volumes found. This might be greater than the number of
3837
+ # volumes returned in this response if results have been paginated.
3838
+ # Corresponds to the JSON property `totalItems`
3839
+ # @return [Fixnum]
3840
+ attr_accessor :total_items
3841
+
3842
+ def initialize(**args)
3843
+ update!(**args)
3844
+ end
3845
+
3846
+ # Update properties of this object
3847
+ def update!(**args)
3848
+ @items = args[:items] unless args[:items].nil?
3849
+ @kind = args[:kind] unless args[:kind].nil?
3850
+ @total_items = args[:total_items] unless args[:total_items].nil?
3851
+ end
3852
+ end
3853
+
3854
+ #
3855
+ class Volumeseriesinfo
3856
+ include Google::Apis::Core::Hashable
3857
+
3858
+ # The display number string. This should be used only for display purposes and
3859
+ # the actual sequence should be inferred from the below orderNumber.
3860
+ # Corresponds to the JSON property `bookDisplayNumber`
3861
+ # @return [String]
3862
+ attr_accessor :book_display_number
3863
+
3864
+ # Resource type.
3865
+ # Corresponds to the JSON property `kind`
3866
+ # @return [String]
3867
+ attr_accessor :kind
3868
+
3869
+ # Short book title in the context of the series.
3870
+ # Corresponds to the JSON property `shortSeriesBookTitle`
3871
+ # @return [String]
3872
+ attr_accessor :short_series_book_title
3873
+
3874
+ #
3875
+ # Corresponds to the JSON property `volumeSeries`
3876
+ # @return [Array<Google::Apis::BooksV1::Volumeseriesinfo::VolumeSeries>]
3877
+ attr_accessor :volume_series
3878
+
3879
+ def initialize(**args)
3880
+ update!(**args)
3881
+ end
3882
+
3883
+ # Update properties of this object
3884
+ def update!(**args)
3885
+ @book_display_number = args[:book_display_number] unless args[:book_display_number].nil?
3886
+ @kind = args[:kind] unless args[:kind].nil?
3887
+ @short_series_book_title = args[:short_series_book_title] unless args[:short_series_book_title].nil?
3888
+ @volume_series = args[:volume_series] unless args[:volume_series].nil?
3889
+ end
3890
+
3891
+ #
3892
+ class VolumeSeries
3893
+ include Google::Apis::Core::Hashable
3894
+
3895
+ # List of issues. Applicable only for Collection Edition and Omnibus.
3896
+ # Corresponds to the JSON property `issue`
3897
+ # @return [Array<Google::Apis::BooksV1::Volumeseriesinfo::VolumeSeries::Issue>]
3898
+ attr_accessor :issue
3899
+
3900
+ # The book order number in the series.
3901
+ # Corresponds to the JSON property `orderNumber`
3902
+ # @return [Fixnum]
3903
+ attr_accessor :order_number
3904
+
3905
+ # The book type in the context of series. Examples - Single Issue, Collection
3906
+ # Edition, etc.
3907
+ # Corresponds to the JSON property `seriesBookType`
3908
+ # @return [String]
3909
+ attr_accessor :series_book_type
3910
+
3911
+ # The series id.
3912
+ # Corresponds to the JSON property `seriesId`
3913
+ # @return [String]
3914
+ attr_accessor :series_id
3915
+
3916
+ def initialize(**args)
3917
+ update!(**args)
3918
+ end
3919
+
3920
+ # Update properties of this object
3921
+ def update!(**args)
3922
+ @issue = args[:issue] unless args[:issue].nil?
3923
+ @order_number = args[:order_number] unless args[:order_number].nil?
3924
+ @series_book_type = args[:series_book_type] unless args[:series_book_type].nil?
3925
+ @series_id = args[:series_id] unless args[:series_id].nil?
3926
+ end
3927
+
3928
+ #
3929
+ class Issue
3930
+ include Google::Apis::Core::Hashable
3931
+
3932
+ #
3933
+ # Corresponds to the JSON property `issueDisplayNumber`
3934
+ # @return [String]
3935
+ attr_accessor :issue_display_number
3936
+
3937
+ #
3938
+ # Corresponds to the JSON property `issueOrderNumber`
3939
+ # @return [Fixnum]
3940
+ attr_accessor :issue_order_number
3941
+
3942
+ def initialize(**args)
3943
+ update!(**args)
3944
+ end
3945
+
3946
+ # Update properties of this object
3947
+ def update!(**args)
3948
+ @issue_display_number = args[:issue_display_number] unless args[:issue_display_number].nil?
3949
+ @issue_order_number = args[:issue_order_number] unless args[:issue_order_number].nil?
3950
+ end
3951
+ end
3952
+ end
3953
+ end
3954
+ end
3955
+ end
3956
+ end