google-api-client 0.8.6 → 0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +41 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +32 -2
  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.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  25. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  26. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  27. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  28. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  29. data/generated/google/apis/admin_directory_v1.rb +113 -0
  30. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  31. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  32. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  33. data/generated/google/apis/admin_reports_v1.rb +38 -0
  34. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  35. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  36. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  37. data/generated/google/apis/adsense_v1_4.rb +38 -0
  38. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  39. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  40. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  41. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  42. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  43. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  44. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  45. data/generated/google/apis/analytics_v3.rb +49 -0
  46. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  47. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  48. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  49. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  50. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  51. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  52. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  53. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  54. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  55. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  56. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  57. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  58. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  59. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  60. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  61. data/generated/google/apis/appsactivity_v1.rb +46 -0
  62. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  63. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  64. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  65. data/generated/google/apis/appstate_v1.rb +34 -0
  66. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  67. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  68. data/generated/google/apis/appstate_v1/service.rb +260 -0
  69. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  70. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  71. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  72. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  73. data/generated/google/apis/bigquery_v2.rb +52 -0
  74. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  75. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  76. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  77. data/generated/google/apis/blogger_v3.rb +37 -0
  78. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  79. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  80. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  81. data/generated/google/apis/books_v1.rb +34 -0
  82. data/generated/google/apis/books_v1/classes.rb +3956 -0
  83. data/generated/google/apis/books_v1/representations.rb +1538 -0
  84. data/generated/google/apis/books_v1/service.rb +2290 -0
  85. data/generated/google/apis/calendar_v3.rb +37 -0
  86. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  87. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  88. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  89. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  90. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  91. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  92. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  93. data/generated/google/apis/classroom_v1.rb +49 -0
  94. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  95. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  96. data/generated/google/apis/classroom_v1/service.rb +970 -0
  97. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  98. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  99. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  100. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  101. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  102. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  103. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  104. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  105. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  106. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  107. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  108. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  117. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  118. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  119. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  120. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  121. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  122. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  123. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  124. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  125. data/generated/google/apis/compute_beta.rb +49 -0
  126. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  127. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  128. data/generated/google/apis/compute_beta/service.rb +10154 -0
  129. data/generated/google/apis/compute_v1.rb +49 -0
  130. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  131. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  132. data/generated/google/apis/compute_v1/service.rb +9252 -0
  133. data/generated/google/apis/container_v1.rb +35 -0
  134. data/generated/google/apis/container_v1/classes.rb +463 -0
  135. data/generated/google/apis/container_v1/representations.rb +175 -0
  136. data/generated/google/apis/container_v1/service.rb +367 -0
  137. data/generated/google/apis/container_v1beta1.rb +35 -0
  138. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  139. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  140. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  141. data/generated/google/apis/content_v2.rb +35 -0
  142. data/generated/google/apis/content_v2/classes.rb +5986 -0
  143. data/generated/google/apis/content_v2/representations.rb +2288 -0
  144. data/generated/google/apis/content_v2/service.rb +2338 -0
  145. data/generated/google/apis/coordinate_v1.rb +37 -0
  146. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  147. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  148. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  149. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  150. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  151. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  152. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  153. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  154. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  155. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  156. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  157. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  158. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  159. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  160. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  165. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  166. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  167. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  168. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  169. data/generated/google/apis/discovery_v1.rb +32 -0
  170. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  171. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  172. data/generated/google/apis/discovery_v1/service.rb +142 -0
  173. data/generated/google/apis/dns_v1.rb +44 -0
  174. data/generated/google/apis/dns_v1/classes.rb +406 -0
  175. data/generated/google/apis/dns_v1/representations.rb +151 -0
  176. data/generated/google/apis/dns_v1/service.rb +454 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  181. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  182. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  183. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  184. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  185. data/generated/google/apis/drive_v2.rb +58 -0
  186. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  187. data/generated/google/apis/drive_v2/representations.rb +795 -0
  188. data/generated/google/apis/drive_v2/service.rb +2696 -0
  189. data/generated/google/apis/drive_v3.rb +55 -0
  190. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  191. data/generated/google/apis/drive_v3/representations.rb +497 -0
  192. data/generated/google/apis/drive_v3/service.rb +1541 -0
  193. data/generated/google/apis/fitness_v1.rb +49 -0
  194. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  195. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  196. data/generated/google/apis/fitness_v1/service.rb +675 -0
  197. data/generated/google/apis/fusiontables_v2.rb +37 -0
  198. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  199. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  200. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  201. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  202. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  203. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  204. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  205. data/generated/google/apis/games_management_v1management.rb +37 -0
  206. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  207. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  208. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  209. data/generated/google/apis/games_v1.rb +40 -0
  210. data/generated/google/apis/games_v1/classes.rb +4617 -0
  211. data/generated/google/apis/games_v1/representations.rb +1584 -0
  212. data/generated/google/apis/games_v1/service.rb +2290 -0
  213. data/generated/google/apis/gan_v1beta1.rb +31 -0
  214. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  215. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  216. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  217. data/generated/google/apis/genomics_v1.rb +49 -0
  218. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  219. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  220. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  221. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  222. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  223. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  224. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  225. data/generated/google/apis/gmail_v1.rb +52 -0
  226. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  227. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  228. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  229. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  230. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  231. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  232. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  233. data/generated/google/apis/groupssettings_v1.rb +34 -0
  234. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  235. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  236. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  237. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  238. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  239. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  240. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  241. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  242. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  243. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  244. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  245. data/generated/google/apis/licensing_v1.rb +34 -0
  246. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  247. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  248. data/generated/google/apis/licensing_v1/service.rb +369 -0
  249. data/generated/google/apis/logging_v1beta3.rb +47 -0
  250. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  251. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  252. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  253. data/generated/google/apis/manager_v1beta2.rb +53 -0
  254. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  255. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  256. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  257. data/generated/google/apis/mapsengine_v1.rb +38 -0
  258. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  259. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  260. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  261. data/generated/google/apis/mirror_v1.rb +37 -0
  262. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  263. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  264. data/generated/google/apis/mirror_v1/service.rb +977 -0
  265. data/generated/google/apis/oauth2_v2.rb +43 -0
  266. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  267. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  268. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  269. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  270. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  271. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  272. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  273. data/generated/google/apis/partners_v2.rb +32 -0
  274. data/generated/google/apis/partners_v2/classes.rb +942 -0
  275. data/generated/google/apis/partners_v2/representations.rb +402 -0
  276. data/generated/google/apis/partners_v2/service.rb +400 -0
  277. data/generated/google/apis/plus_domains_v1.rb +61 -0
  278. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  279. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  280. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  281. data/generated/google/apis/plus_v1.rb +43 -0
  282. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  283. data/generated/google/apis/plus_v1/representations.rb +805 -0
  284. data/generated/google/apis/plus_v1/service.rb +470 -0
  285. data/generated/google/apis/prediction_v1_6.rb +44 -0
  286. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  287. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  288. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  293. data/generated/google/apis/pubsub_v1.rb +37 -0
  294. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  295. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  296. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  297. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  298. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  299. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  300. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  301. data/generated/google/apis/qpx_express_v1.rb +31 -0
  302. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  303. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  304. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  305. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  306. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  307. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  308. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  313. data/generated/google/apis/reseller_v1.rb +37 -0
  314. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  315. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  316. data/generated/google/apis/reseller_v1/service.rb +623 -0
  317. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  318. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  319. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  320. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  321. data/generated/google/apis/script_v1.rb +61 -0
  322. data/generated/google/apis/script_v1/classes.rb +259 -0
  323. data/generated/google/apis/script_v1/representations.rb +106 -0
  324. data/generated/google/apis/script_v1/service.rb +98 -0
  325. data/generated/google/apis/site_verification_v1.rb +37 -0
  326. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  327. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  328. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  329. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  330. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  331. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  332. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  333. data/generated/google/apis/storage_v1.rb +46 -0
  334. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  335. data/generated/google/apis/storage_v1/representations.rb +445 -0
  336. data/generated/google/apis/storage_v1/service.rb +1903 -0
  337. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  338. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  339. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  340. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  341. data/generated/google/apis/tagmanager_v1.rb +52 -0
  342. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  343. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  344. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  345. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  346. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  347. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  348. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  349. data/generated/google/apis/tasks_v1.rb +37 -0
  350. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  351. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  352. data/generated/google/apis/tasks_v1/service.rb +643 -0
  353. data/generated/google/apis/translate_v2.rb +31 -0
  354. data/generated/google/apis/translate_v2/classes.rb +168 -0
  355. data/generated/google/apis/translate_v2/representations.rb +109 -0
  356. data/generated/google/apis/translate_v2/service.rb +182 -0
  357. data/generated/google/apis/urlshortener_v1.rb +34 -0
  358. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  359. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  360. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  361. data/generated/google/apis/webmasters_v3.rb +37 -0
  362. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  363. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  364. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  365. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  366. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  367. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  368. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  369. data/generated/google/apis/youtube_v3.rb +49 -0
  370. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  371. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  372. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  373. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  374. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  375. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  376. data/generated/google/apis/youtubereporting_v1/service.rb +364 -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 +1 -0
  380. data/lib/google/api_client/auth/storage.rb +4 -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.rb +48 -0
  385. data/lib/google/apis/core/api_command.rb +135 -0
  386. data/lib/google/apis/core/base_service.rb +317 -0
  387. data/lib/google/apis/core/batch.rb +239 -0
  388. data/lib/google/apis/core/download.rb +94 -0
  389. data/lib/google/apis/core/hashable.rb +44 -0
  390. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  391. data/lib/google/apis/core/http_command.rb +312 -0
  392. data/lib/google/apis/core/json_representation.rb +127 -0
  393. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  394. data/lib/google/apis/core/multipart.rb +187 -0
  395. data/lib/google/apis/core/upload.rb +288 -0
  396. data/lib/google/{api_client → apis}/errors.rb +39 -28
  397. data/lib/google/apis/generator.rb +70 -0
  398. data/lib/google/apis/generator/annotator.rb +295 -0
  399. data/lib/google/apis/generator/helpers.rb +74 -0
  400. data/lib/google/apis/generator/model.rb +143 -0
  401. data/lib/google/apis/generator/template.rb +124 -0
  402. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  403. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  404. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  405. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  406. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  407. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  408. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  409. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  410. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  411. data/lib/google/apis/options.rb +85 -0
  412. data/lib/google/apis/version.rb +39 -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.rb +131 -44
  460. data/spec/spec_helper/load_path_spec.rb +33 -0
  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.rb +0 -750
  465. data/lib/google/api_client/auth/file_storage.rb +0 -59
  466. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  467. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  468. data/lib/google/api_client/batch.rb +0 -326
  469. data/lib/google/api_client/charset.rb +0 -33
  470. data/lib/google/api_client/discovery/api.rb +0 -310
  471. data/lib/google/api_client/discovery/media.rb +0 -77
  472. data/lib/google/api_client/discovery/method.rb +0 -363
  473. data/lib/google/api_client/discovery/resource.rb +0 -156
  474. data/lib/google/api_client/discovery/schema.rb +0 -117
  475. data/lib/google/api_client/environment.rb +0 -42
  476. data/lib/google/api_client/gzip.rb +0 -28
  477. data/lib/google/api_client/logging.rb +0 -32
  478. data/lib/google/api_client/media.rb +0 -259
  479. data/lib/google/api_client/railtie.rb +0 -18
  480. data/lib/google/api_client/request.rb +0 -350
  481. data/lib/google/api_client/result.rb +0 -255
  482. data/lib/google/api_client/service.rb +0 -233
  483. data/lib/google/api_client/service/batch.rb +0 -110
  484. data/lib/google/api_client/service/request.rb +0 -144
  485. data/lib/google/api_client/service/resource.rb +0 -40
  486. data/lib/google/api_client/service/result.rb +0 -162
  487. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  488. data/lib/google/api_client/service/stub_generator.rb +0 -61
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -708
  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,34 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/books_v1/service.rb'
16
+ require 'google/apis/books_v1/classes.rb'
17
+ require 'google/apis/books_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Books API
22
+ #
23
+ # Lets you search for books and manage your Google Books library.
24
+ #
25
+ # @see https://developers.google.com/books/docs/v1/getting_started
26
+ module BooksV1
27
+ VERSION = 'V1'
28
+ REVISION = '20151106'
29
+
30
+ # Manage your books
31
+ AUTH_BOOKS = 'https://www.googleapis.com/auth/books'
32
+ end
33
+ end
34
+ end
@@ -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