lemboy-google-api-client 0.9.26

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 (555) hide show
  1. checksums.yaml +7 -0
  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 +27 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +309 -0
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +53 -0
  11. data/LICENSE +202 -0
  12. data/MIGRATING.md +171 -0
  13. data/README.md +327 -0
  14. data/Rakefile +2 -0
  15. data/api_names.yaml +36215 -0
  16. data/bin/generate-api +109 -0
  17. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +298 -0
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +122 -0
  20. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +458 -0
  21. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  22. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  23. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  24. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  25. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  26. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +3550 -0
  27. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1421 -0
  28. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1538 -0
  29. data/generated/google/apis/adexchangeseller_v2_0.rb +37 -0
  30. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  31. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +347 -0
  32. data/generated/google/apis/adexchangeseller_v2_0/service.rb +667 -0
  33. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  34. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  35. data/generated/google/apis/admin_datatransfer_v1/representations.rb +130 -0
  36. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  37. data/generated/google/apis/admin_directory_v1.rb +113 -0
  38. data/generated/google/apis/admin_directory_v1/classes.rb +3241 -0
  39. data/generated/google/apis/admin_directory_v1/representations.rb +1172 -0
  40. data/generated/google/apis/admin_directory_v1/service.rb +3857 -0
  41. data/generated/google/apis/admin_reports_v1.rb +38 -0
  42. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  43. data/generated/google/apis/admin_reports_v1/representations.rb +257 -0
  44. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  45. data/generated/google/apis/adsense_v1_4.rb +37 -0
  46. data/generated/google/apis/adsense_v1_4/classes.rb +1280 -0
  47. data/generated/google/apis/adsense_v1_4/representations.rb +555 -0
  48. data/generated/google/apis/adsense_v1_4/service.rb +1713 -0
  49. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  50. data/generated/google/apis/adsensehost_v4_1/classes.rb +836 -0
  51. data/generated/google/apis/adsensehost_v4_1/representations.rb +367 -0
  52. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  53. data/generated/google/apis/analytics_v3.rb +49 -0
  54. data/generated/google/apis/analytics_v3/classes.rb +5536 -0
  55. data/generated/google/apis/analytics_v3/representations.rb +1992 -0
  56. data/generated/google/apis/analytics_v3/service.rb +3785 -0
  57. data/generated/google/apis/analyticsreporting_v4.rb +37 -0
  58. data/generated/google/apis/analyticsreporting_v4/classes.rb +1420 -0
  59. data/generated/google/apis/analyticsreporting_v4/representations.rb +598 -0
  60. data/generated/google/apis/analyticsreporting_v4/service.rb +88 -0
  61. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  62. data/generated/google/apis/androidenterprise_v1/classes.rb +2250 -0
  63. data/generated/google/apis/androidenterprise_v1/representations.rb +970 -0
  64. data/generated/google/apis/androidenterprise_v1/service.rb +3267 -0
  65. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  66. data/generated/google/apis/androidpublisher_v2/classes.rb +1941 -0
  67. data/generated/google/apis/androidpublisher_v2/representations.rb +975 -0
  68. data/generated/google/apis/androidpublisher_v2/service.rb +2572 -0
  69. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  70. data/generated/google/apis/appengine_v1beta4/classes.rb +1585 -0
  71. data/generated/google/apis/appengine_v1beta4/representations.rb +542 -0
  72. data/generated/google/apis/appengine_v1beta4/service.rb +477 -0
  73. data/generated/google/apis/appengine_v1beta5.rb +40 -0
  74. data/generated/google/apis/appengine_v1beta5/classes.rb +1984 -0
  75. data/generated/google/apis/appengine_v1beta5/representations.rb +765 -0
  76. data/generated/google/apis/appengine_v1beta5/service.rb +864 -0
  77. data/generated/google/apis/appsactivity_v1.rb +46 -0
  78. data/generated/google/apis/appsactivity_v1/classes.rb +415 -0
  79. data/generated/google/apis/appsactivity_v1/representations.rb +209 -0
  80. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  81. data/generated/google/apis/appstate_v1.rb +34 -0
  82. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  83. data/generated/google/apis/appstate_v1/representations.rb +87 -0
  84. data/generated/google/apis/appstate_v1/service.rb +260 -0
  85. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  86. data/generated/google/apis/autoscaler_v1beta2/classes.rb +710 -0
  87. data/generated/google/apis/autoscaler_v1beta2/representations.rb +296 -0
  88. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  89. data/generated/google/apis/bigquery_v2.rb +52 -0
  90. data/generated/google/apis/bigquery_v2/classes.rb +3081 -0
  91. data/generated/google/apis/bigquery_v2/representations.rb +1094 -0
  92. data/generated/google/apis/bigquery_v2/service.rb +988 -0
  93. data/generated/google/apis/blogger_v3.rb +37 -0
  94. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  95. data/generated/google/apis/blogger_v3/representations.rb +632 -0
  96. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  97. data/generated/google/apis/books_v1.rb +34 -0
  98. data/generated/google/apis/books_v1/classes.rb +4160 -0
  99. data/generated/google/apis/books_v1/representations.rb +1799 -0
  100. data/generated/google/apis/books_v1/service.rb +2300 -0
  101. data/generated/google/apis/calendar_v3.rb +37 -0
  102. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  103. data/generated/google/apis/calendar_v3/representations.rb +631 -0
  104. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  105. data/generated/google/apis/civicinfo_v2.rb +32 -0
  106. data/generated/google/apis/civicinfo_v2/classes.rb +1499 -0
  107. data/generated/google/apis/civicinfo_v2/representations.rb +572 -0
  108. data/generated/google/apis/civicinfo_v2/service.rb +300 -0
  109. data/generated/google/apis/classroom_v1.rb +70 -0
  110. data/generated/google/apis/classroom_v1/classes.rb +1572 -0
  111. data/generated/google/apis/classroom_v1/representations.rb +729 -0
  112. data/generated/google/apis/classroom_v1/service.rb +1945 -0
  113. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  114. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  115. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  116. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  117. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  118. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  119. data/generated/google/apis/cloudbilling_v1/representations.rb +87 -0
  120. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  121. data/generated/google/apis/cloudbuild_v1.rb +34 -0
  122. data/generated/google/apis/cloudbuild_v1/classes.rb +919 -0
  123. data/generated/google/apis/cloudbuild_v1/representations.rb +364 -0
  124. data/generated/google/apis/cloudbuild_v1/service.rb +492 -0
  125. data/generated/google/apis/clouddebugger_v2.rb +38 -0
  126. data/generated/google/apis/clouddebugger_v2/classes.rb +1081 -0
  127. data/generated/google/apis/clouddebugger_v2/representations.rb +465 -0
  128. data/generated/google/apis/clouddebugger_v2/service.rb +396 -0
  129. data/generated/google/apis/cloudkms_v1beta1.rb +34 -0
  130. data/generated/google/apis/cloudkms_v1beta1/classes.rb +999 -0
  131. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  132. data/generated/google/apis/cloudkms_v1beta1/service.rb +932 -0
  133. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  134. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  135. data/generated/google/apis/cloudlatencytest_v2/representations.rb +127 -0
  136. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  137. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  138. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  139. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +353 -0
  140. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  141. data/generated/google/apis/cloudresourcemanager_v1.rb +38 -0
  142. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +886 -0
  143. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +359 -0
  144. data/generated/google/apis/cloudresourcemanager_v1/service.rb +686 -0
  145. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  146. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +682 -0
  147. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +312 -0
  148. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +710 -0
  149. data/generated/google/apis/cloudtrace_v1.rb +43 -0
  150. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  151. data/generated/google/apis/cloudtrace_v1/representations.rb +102 -0
  152. data/generated/google/apis/cloudtrace_v1/service.rb +192 -0
  153. data/generated/google/apis/clouduseraccounts_beta.rb +44 -0
  154. data/generated/google/apis/clouduseraccounts_beta/classes.rb +845 -0
  155. data/generated/google/apis/clouduseraccounts_beta/representations.rb +352 -0
  156. data/generated/google/apis/clouduseraccounts_beta/service.rb +907 -0
  157. data/generated/google/apis/compute_beta.rb +49 -0
  158. data/generated/google/apis/compute_beta/classes.rb +12261 -0
  159. data/generated/google/apis/compute_beta/representations.rb +4615 -0
  160. data/generated/google/apis/compute_beta/service.rb +15330 -0
  161. data/generated/google/apis/compute_v1.rb +49 -0
  162. data/generated/google/apis/compute_v1/classes.rb +11179 -0
  163. data/generated/google/apis/compute_v1/representations.rb +4203 -0
  164. data/generated/google/apis/compute_v1/service.rb +12937 -0
  165. data/generated/google/apis/container_v1.rb +35 -0
  166. data/generated/google/apis/container_v1/classes.rb +1040 -0
  167. data/generated/google/apis/container_v1/representations.rb +415 -0
  168. data/generated/google/apis/container_v1/service.rb +659 -0
  169. data/generated/google/apis/container_v1beta1.rb +35 -0
  170. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  171. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  172. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  173. data/generated/google/apis/content_v2.rb +35 -0
  174. data/generated/google/apis/content_v2/classes.rb +6887 -0
  175. data/generated/google/apis/content_v2/representations.rb +2963 -0
  176. data/generated/google/apis/content_v2/service.rb +2653 -0
  177. data/generated/google/apis/coordinate_v1.rb +37 -0
  178. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  179. data/generated/google/apis/coordinate_v1/representations.rb +321 -0
  180. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  181. data/generated/google/apis/customsearch_v1.rb +31 -0
  182. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  183. data/generated/google/apis/customsearch_v1/representations.rb +302 -0
  184. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  185. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  186. data/generated/google/apis/dataflow_v1b3/classes.rb +4225 -0
  187. data/generated/google/apis/dataflow_v1b3/representations.rb +1809 -0
  188. data/generated/google/apis/dataflow_v1b3/service.rb +874 -0
  189. data/generated/google/apis/dataproc_v1.rb +34 -0
  190. data/generated/google/apis/dataproc_v1/classes.rb +1716 -0
  191. data/generated/google/apis/dataproc_v1/representations.rb +678 -0
  192. data/generated/google/apis/dataproc_v1/service.rb +670 -0
  193. data/generated/google/apis/datastore_v1.rb +38 -0
  194. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  195. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  196. data/generated/google/apis/datastore_v1/service.rb +259 -0
  197. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  198. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  199. data/generated/google/apis/datastore_v1beta2/representations.rb +594 -0
  200. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  201. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  202. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  203. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  204. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  205. data/generated/google/apis/deploymentmanager_v2.rb +43 -0
  206. data/generated/google/apis/deploymentmanager_v2/classes.rb +1582 -0
  207. data/generated/google/apis/deploymentmanager_v2/representations.rb +686 -0
  208. data/generated/google/apis/deploymentmanager_v2/service.rb +1026 -0
  209. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  210. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  211. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  212. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  213. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  214. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  215. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  216. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  217. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  218. data/generated/google/apis/dfareporting_v2_3/classes.rb +10839 -0
  219. data/generated/google/apis/dfareporting_v2_3/representations.rb +3829 -0
  220. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  221. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  222. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  223. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  224. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  225. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  226. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  227. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  228. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  229. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  230. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  231. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  232. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  233. data/generated/google/apis/discovery_v1.rb +32 -0
  234. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  235. data/generated/google/apis/discovery_v1/representations.rb +397 -0
  236. data/generated/google/apis/discovery_v1/service.rb +142 -0
  237. data/generated/google/apis/dns_v1.rb +43 -0
  238. data/generated/google/apis/dns_v1/classes.rb +406 -0
  239. data/generated/google/apis/dns_v1/representations.rb +167 -0
  240. data/generated/google/apis/dns_v1/service.rb +453 -0
  241. data/generated/google/apis/dns_v2beta1.rb +43 -0
  242. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  243. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  244. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  245. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  246. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +795 -0
  247. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +368 -0
  248. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +376 -0
  249. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  250. data/generated/google/apis/doubleclicksearch_v2/classes.rb +960 -0
  251. data/generated/google/apis/doubleclicksearch_v2/representations.rb +350 -0
  252. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  253. data/generated/google/apis/drive_v2.rb +59 -0
  254. data/generated/google/apis/drive_v2/classes.rb +2633 -0
  255. data/generated/google/apis/drive_v2/representations.rb +885 -0
  256. data/generated/google/apis/drive_v2/service.rb +2754 -0
  257. data/generated/google/apis/drive_v3.rb +56 -0
  258. data/generated/google/apis/drive_v3/classes.rb +1611 -0
  259. data/generated/google/apis/drive_v3/representations.rb +555 -0
  260. data/generated/google/apis/drive_v3/service.rb +1553 -0
  261. data/generated/google/apis/fitness_v1.rb +85 -0
  262. data/generated/google/apis/fitness_v1/classes.rb +943 -0
  263. data/generated/google/apis/fitness_v1/representations.rb +380 -0
  264. data/generated/google/apis/fitness_v1/service.rb +674 -0
  265. data/generated/google/apis/fusiontables_v2.rb +37 -0
  266. data/generated/google/apis/fusiontables_v2/classes.rb +1049 -0
  267. data/generated/google/apis/fusiontables_v2/representations.rb +457 -0
  268. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  269. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  270. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  271. data/generated/google/apis/games_configuration_v1configuration/representations.rb +228 -0
  272. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  273. data/generated/google/apis/games_management_v1management.rb +37 -0
  274. data/generated/google/apis/games_management_v1management/classes.rb +567 -0
  275. data/generated/google/apis/games_management_v1management/representations.rb +278 -0
  276. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  277. data/generated/google/apis/games_v1.rb +40 -0
  278. data/generated/google/apis/games_v1/classes.rb +4667 -0
  279. data/generated/google/apis/games_v1/representations.rb +1800 -0
  280. data/generated/google/apis/games_v1/service.rb +2449 -0
  281. data/generated/google/apis/gan_v1beta1.rb +31 -0
  282. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  283. data/generated/google/apis/gan_v1beta1/representations.rb +462 -0
  284. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  285. data/generated/google/apis/genomics_v1.rb +46 -0
  286. data/generated/google/apis/genomics_v1/classes.rb +3477 -0
  287. data/generated/google/apis/genomics_v1/representations.rb +1284 -0
  288. data/generated/google/apis/genomics_v1/service.rb +2207 -0
  289. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  290. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  291. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  292. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  293. data/generated/google/apis/gmail_v1.rb +61 -0
  294. data/generated/google/apis/gmail_v1/classes.rb +1382 -0
  295. data/generated/google/apis/gmail_v1/representations.rb +624 -0
  296. data/generated/google/apis/gmail_v1/service.rb +2447 -0
  297. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  298. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  299. data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
  300. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  301. data/generated/google/apis/groupssettings_v1.rb +34 -0
  302. data/generated/google/apis/groupssettings_v1/classes.rb +240 -0
  303. data/generated/google/apis/groupssettings_v1/representations.rb +69 -0
  304. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  305. data/generated/google/apis/iam_v1.rb +36 -0
  306. data/generated/google/apis/iam_v1/classes.rb +640 -0
  307. data/generated/google/apis/iam_v1/representations.rb +316 -0
  308. data/generated/google/apis/iam_v1/service.rb +554 -0
  309. data/generated/google/apis/identitytoolkit_v3.rb +37 -0
  310. data/generated/google/apis/identitytoolkit_v3/classes.rb +2182 -0
  311. data/generated/google/apis/identitytoolkit_v3/representations.rb +742 -0
  312. data/generated/google/apis/identitytoolkit_v3/service.rb +657 -0
  313. data/generated/google/apis/kgsearch_v1.rb +31 -0
  314. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  315. data/generated/google/apis/kgsearch_v1/representations.rb +41 -0
  316. data/generated/google/apis/kgsearch_v1/service.rb +113 -0
  317. data/generated/google/apis/language_v1beta1.rb +36 -0
  318. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  319. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  320. data/generated/google/apis/language_v1beta1/service.rb +184 -0
  321. data/generated/google/apis/licensing_v1.rb +34 -0
  322. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  323. data/generated/google/apis/licensing_v1/representations.rb +74 -0
  324. data/generated/google/apis/licensing_v1/service.rb +369 -0
  325. data/generated/google/apis/logging_v1beta3.rb +47 -0
  326. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  327. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  328. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  329. data/generated/google/apis/logging_v2beta1.rb +46 -0
  330. data/generated/google/apis/logging_v2beta1/classes.rb +1254 -0
  331. data/generated/google/apis/logging_v2beta1/representations.rb +421 -0
  332. data/generated/google/apis/logging_v2beta1/service.rb +788 -0
  333. data/generated/google/apis/manager_v1beta2.rb +53 -0
  334. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  335. data/generated/google/apis/manager_v1beta2/representations.rb +606 -0
  336. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  337. data/generated/google/apis/manufacturers_v1.rb +34 -0
  338. data/generated/google/apis/manufacturers_v1/classes.rb +258 -0
  339. data/generated/google/apis/manufacturers_v1/representations.rb +103 -0
  340. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  341. data/generated/google/apis/mirror_v1.rb +37 -0
  342. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  343. data/generated/google/apis/mirror_v1/representations.rb +390 -0
  344. data/generated/google/apis/mirror_v1/service.rb +977 -0
  345. data/generated/google/apis/monitoring_v3.rb +45 -0
  346. data/generated/google/apis/monitoring_v3/classes.rb +1335 -0
  347. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  348. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  349. data/generated/google/apis/mybusiness_v3.rb +32 -0
  350. data/generated/google/apis/mybusiness_v3/classes.rb +1864 -0
  351. data/generated/google/apis/mybusiness_v3/representations.rb +741 -0
  352. data/generated/google/apis/mybusiness_v3/service.rb +960 -0
  353. data/generated/google/apis/oauth2_v2.rb +43 -0
  354. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  355. data/generated/google/apis/oauth2_v2/representations.rb +102 -0
  356. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  357. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  358. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  359. data/generated/google/apis/pagespeedonline_v2/representations.rb +272 -0
  360. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  361. data/generated/google/apis/partners_v2.rb +32 -0
  362. data/generated/google/apis/partners_v2/classes.rb +942 -0
  363. data/generated/google/apis/partners_v2/representations.rb +454 -0
  364. data/generated/google/apis/partners_v2/service.rb +400 -0
  365. data/generated/google/apis/people_v1.rb +59 -0
  366. data/generated/google/apis/people_v1/classes.rb +1521 -0
  367. data/generated/google/apis/people_v1/representations.rb +663 -0
  368. data/generated/google/apis/people_v1/service.rb +189 -0
  369. data/generated/google/apis/plus_domains_v1.rb +61 -0
  370. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  371. data/generated/google/apis/plus_domains_v1/representations.rb +1111 -0
  372. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  373. data/generated/google/apis/plus_v1.rb +43 -0
  374. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  375. data/generated/google/apis/plus_v1/representations.rb +907 -0
  376. data/generated/google/apis/plus_v1/service.rb +470 -0
  377. data/generated/google/apis/prediction_v1_6.rb +47 -0
  378. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  379. data/generated/google/apis/prediction_v1_6/representations.rb +369 -0
  380. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  381. data/generated/google/apis/proximitybeacon_v1beta1.rb +34 -0
  382. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +786 -0
  383. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +347 -0
  384. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +806 -0
  385. data/generated/google/apis/pubsub_v1.rb +37 -0
  386. data/generated/google/apis/pubsub_v1/classes.rb +676 -0
  387. data/generated/google/apis/pubsub_v1/representations.rb +323 -0
  388. data/generated/google/apis/pubsub_v1/service.rb +900 -0
  389. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  390. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  391. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  392. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  393. data/generated/google/apis/qpx_express_v1.rb +31 -0
  394. data/generated/google/apis/qpx_express_v1/classes.rb +1274 -0
  395. data/generated/google/apis/qpx_express_v1/representations.rb +473 -0
  396. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  397. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  398. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  399. data/generated/google/apis/replicapool_v1beta2/representations.rb +264 -0
  400. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  401. data/generated/google/apis/replicapoolupdater_v1beta1.rb +45 -0
  402. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  403. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +294 -0
  404. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +509 -0
  405. data/generated/google/apis/reseller_v1.rb +37 -0
  406. data/generated/google/apis/reseller_v1/classes.rb +540 -0
  407. data/generated/google/apis/reseller_v1/representations.rb +225 -0
  408. data/generated/google/apis/reseller_v1/service.rb +623 -0
  409. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  410. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  411. data/generated/google/apis/resourceviews_v1beta2/representations.rb +301 -0
  412. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  413. data/generated/google/apis/script_v1.rb +64 -0
  414. data/generated/google/apis/script_v1/classes.rb +265 -0
  415. data/generated/google/apis/script_v1/representations.rb +119 -0
  416. data/generated/google/apis/script_v1/service.rb +98 -0
  417. data/generated/google/apis/sheets_v4.rb +43 -0
  418. data/generated/google/apis/sheets_v4/classes.rb +6368 -0
  419. data/generated/google/apis/sheets_v4/representations.rb +2289 -0
  420. data/generated/google/apis/sheets_v4/service.rb +569 -0
  421. data/generated/google/apis/site_verification_v1.rb +37 -0
  422. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  423. data/generated/google/apis/site_verification_v1/representations.rb +113 -0
  424. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  425. data/generated/google/apis/slides_v1.rb +49 -0
  426. data/generated/google/apis/slides_v1/classes.rb +4044 -0
  427. data/generated/google/apis/slides_v1/representations.rb +1765 -0
  428. data/generated/google/apis/slides_v1/service.rb +202 -0
  429. data/generated/google/apis/speech_v1beta1.rb +34 -0
  430. data/generated/google/apis/speech_v1beta1/classes.rb +513 -0
  431. data/generated/google/apis/speech_v1beta1/representations.rb +218 -0
  432. data/generated/google/apis/speech_v1beta1/service.rb +273 -0
  433. data/generated/google/apis/sqladmin_v1beta4.rb +38 -0
  434. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2142 -0
  435. data/generated/google/apis/sqladmin_v1beta4/representations.rb +893 -0
  436. data/generated/google/apis/sqladmin_v1beta4/service.rb +1709 -0
  437. data/generated/google/apis/storage_v1.rb +46 -0
  438. data/generated/google/apis/storage_v1/classes.rb +1255 -0
  439. data/generated/google/apis/storage_v1/representations.rb +502 -0
  440. data/generated/google/apis/storage_v1/service.rb +1906 -0
  441. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  442. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  443. data/generated/google/apis/storagetransfer_v1/representations.rb +418 -0
  444. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  445. data/generated/google/apis/tagmanager_v1.rb +52 -0
  446. data/generated/google/apis/tagmanager_v1/classes.rb +1494 -0
  447. data/generated/google/apis/tagmanager_v1/representations.rb +611 -0
  448. data/generated/google/apis/tagmanager_v1/service.rb +2119 -0
  449. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  450. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  451. data/generated/google/apis/taskqueue_v1beta2/representations.rb +126 -0
  452. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  453. data/generated/google/apis/tasks_v1.rb +37 -0
  454. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  455. data/generated/google/apis/tasks_v1/representations.rb +125 -0
  456. data/generated/google/apis/tasks_v1/service.rb +643 -0
  457. data/generated/google/apis/translate_v2.rb +31 -0
  458. data/generated/google/apis/translate_v2/classes.rb +168 -0
  459. data/generated/google/apis/translate_v2/representations.rb +121 -0
  460. data/generated/google/apis/translate_v2/service.rb +182 -0
  461. data/generated/google/apis/urlshortener_v1.rb +34 -0
  462. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  463. data/generated/google/apis/urlshortener_v1/representations.rb +121 -0
  464. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  465. data/generated/google/apis/vision_v1.rb +36 -0
  466. data/generated/google/apis/vision_v1/classes.rb +1267 -0
  467. data/generated/google/apis/vision_v1/representations.rb +418 -0
  468. data/generated/google/apis/vision_v1/service.rb +90 -0
  469. data/generated/google/apis/webmasters_v3.rb +37 -0
  470. data/generated/google/apis/webmasters_v3/classes.rb +570 -0
  471. data/generated/google/apis/webmasters_v3/representations.rb +283 -0
  472. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  473. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  474. data/generated/google/apis/youtube_analytics_v1/classes.rb +337 -0
  475. data/generated/google/apis/youtube_analytics_v1/representations.rb +174 -0
  476. data/generated/google/apis/youtube_analytics_v1/service.rb +486 -0
  477. data/generated/google/apis/youtube_partner_v1.rb +37 -0
  478. data/generated/google/apis/youtube_partner_v1/classes.rb +3854 -0
  479. data/generated/google/apis/youtube_partner_v1/representations.rb +1537 -0
  480. data/generated/google/apis/youtube_partner_v1/service.rb +3269 -0
  481. data/generated/google/apis/youtube_v3.rb +50 -0
  482. data/generated/google/apis/youtube_v3/classes.rb +8375 -0
  483. data/generated/google/apis/youtube_v3/representations.rb +3273 -0
  484. data/generated/google/apis/youtube_v3/service.rb +4440 -0
  485. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  486. data/generated/google/apis/youtubereporting_v1/classes.rb +302 -0
  487. data/generated/google/apis/youtubereporting_v1/representations.rb +149 -0
  488. data/generated/google/apis/youtubereporting_v1/service.rb +385 -0
  489. data/google-api-client.gemspec +33 -0
  490. data/lib/cacerts.pem +2183 -0
  491. data/lib/google/api_client/auth/installed_app.rb +128 -0
  492. data/lib/google/api_client/auth/key_utils.rb +94 -0
  493. data/lib/google/api_client/auth/storage.rb +104 -0
  494. data/lib/google/api_client/auth/storages/file_store.rb +57 -0
  495. data/lib/google/api_client/auth/storages/redis_store.rb +59 -0
  496. data/lib/google/api_client/client_secrets.rb +177 -0
  497. data/lib/google/apis.rb +58 -0
  498. data/lib/google/apis/core/api_command.rb +146 -0
  499. data/lib/google/apis/core/base_service.rb +401 -0
  500. data/lib/google/apis/core/batch.rb +239 -0
  501. data/lib/google/apis/core/download.rb +108 -0
  502. data/lib/google/apis/core/hashable.rb +44 -0
  503. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  504. data/lib/google/apis/core/http_command.rb +332 -0
  505. data/lib/google/apis/core/json_representation.rb +145 -0
  506. data/lib/google/apis/core/logging.rb +30 -0
  507. data/lib/google/apis/core/multipart.rb +187 -0
  508. data/lib/google/apis/core/upload.rb +295 -0
  509. data/lib/google/apis/errors.rb +80 -0
  510. data/lib/google/apis/generator.rb +70 -0
  511. data/lib/google/apis/generator/annotator.rb +301 -0
  512. data/lib/google/apis/generator/helpers.rb +74 -0
  513. data/lib/google/apis/generator/model.rb +143 -0
  514. data/lib/google/apis/generator/template.rb +124 -0
  515. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  516. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  517. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  518. data/lib/google/apis/generator/templates/_representation_stub.tmpl +17 -0
  519. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  520. data/lib/google/apis/generator/templates/classes.rb.tmpl +29 -0
  521. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  522. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  523. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  524. data/lib/google/apis/options.rb +85 -0
  525. data/lib/google/apis/version.rb +39 -0
  526. data/rakelib/metrics.rake +22 -0
  527. data/rakelib/rubocop.rake +10 -0
  528. data/rakelib/spec.rake +11 -0
  529. data/rakelib/yard.rake +11 -0
  530. data/samples/cli/.env +4 -0
  531. data/samples/cli/Gemfile +7 -0
  532. data/samples/cli/README.md +51 -0
  533. data/samples/cli/google-api-samples +32 -0
  534. data/samples/cli/lib/base_cli.rb +95 -0
  535. data/samples/cli/lib/samples/analytics.rb +62 -0
  536. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  537. data/samples/cli/lib/samples/bigquery.rb +101 -0
  538. data/samples/cli/lib/samples/calendar.rb +83 -0
  539. data/samples/cli/lib/samples/drive.rb +82 -0
  540. data/samples/cli/lib/samples/gmail.rb +124 -0
  541. data/samples/cli/lib/samples/pubsub.rb +114 -0
  542. data/samples/cli/lib/samples/sheets.rb +61 -0
  543. data/samples/cli/lib/samples/translate.rb +44 -0
  544. data/samples/cli/lib/samples/you_tube.rb +44 -0
  545. data/samples/web/.env +2 -0
  546. data/samples/web/Gemfile +7 -0
  547. data/samples/web/README.md +44 -0
  548. data/samples/web/app.rb +120 -0
  549. data/samples/web/views/calendar.erb +34 -0
  550. data/samples/web/views/drive.erb +33 -0
  551. data/samples/web/views/home.erb +34 -0
  552. data/samples/web/views/layout.erb +40 -0
  553. data/sync.rb +71 -0
  554. data/third_party/hurley_patches.rb +103 -0
  555. metadata +735 -0
@@ -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
+ # Searches for books and manages your Google Books library.
24
+ #
25
+ # @see https://developers.google.com/books/docs/v1/getting_started
26
+ module BooksV1
27
+ VERSION = 'V1'
28
+ REVISION = '20161206'
29
+
30
+ # Manage your books
31
+ AUTH_BOOKS = 'https://www.googleapis.com/auth/books'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,4160 @@
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] if args.key?(:after_selected_text)
124
+ @before_selected_text = args[:before_selected_text] if args.key?(:before_selected_text)
125
+ @client_version_ranges = args[:client_version_ranges] if args.key?(:client_version_ranges)
126
+ @created = args[:created] if args.key?(:created)
127
+ @current_version_ranges = args[:current_version_ranges] if args.key?(:current_version_ranges)
128
+ @data = args[:data] if args.key?(:data)
129
+ @deleted = args[:deleted] if args.key?(:deleted)
130
+ @highlight_style = args[:highlight_style] if args.key?(:highlight_style)
131
+ @id = args[:id] if args.key?(:id)
132
+ @kind = args[:kind] if args.key?(:kind)
133
+ @layer_id = args[:layer_id] if args.key?(:layer_id)
134
+ @layer_summary = args[:layer_summary] if args.key?(:layer_summary)
135
+ @page_ids = args[:page_ids] if args.key?(:page_ids)
136
+ @selected_text = args[:selected_text] if args.key?(:selected_text)
137
+ @self_link = args[:self_link] if args.key?(:self_link)
138
+ @updated = args[:updated] if args.key?(:updated)
139
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
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] if args.key?(:cfi_range)
178
+ @content_version = args[:content_version] if args.key?(:content_version)
179
+ @gb_image_range = args[:gb_image_range] if args.key?(:gb_image_range)
180
+ @gb_text_range = args[:gb_text_range] if args.key?(:gb_text_range)
181
+ @image_cfi_range = args[:image_cfi_range] if args.key?(:image_cfi_range)
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] if args.key?(:cfi_range)
221
+ @content_version = args[:content_version] if args.key?(:content_version)
222
+ @gb_image_range = args[:gb_image_range] if args.key?(:gb_image_range)
223
+ @gb_text_range = args[:gb_text_range] if args.key?(:gb_text_range)
224
+ @image_cfi_range = args[:image_cfi_range] if args.key?(:image_cfi_range)
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] if args.key?(:allowed_character_count)
255
+ @limit_type = args[:limit_type] if args.key?(:limit_type)
256
+ @remaining_character_count = args[:remaining_character_count] if args.key?(:remaining_character_count)
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] if args.key?(:annotation_type)
318
+ @data = args[:data] if args.key?(:data)
319
+ @encoded_data = args[:encoded_data] if args.key?(:encoded_data)
320
+ @id = args[:id] if args.key?(:id)
321
+ @kind = args[:kind] if args.key?(:kind)
322
+ @layer_id = args[:layer_id] if args.key?(:layer_id)
323
+ @self_link = args[:self_link] if args.key?(:self_link)
324
+ @updated = args[:updated] if args.key?(:updated)
325
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
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] if args.key?(:items)
362
+ @kind = args[:kind] if args.key?(:kind)
363
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
364
+ @total_items = args[:total_items] if args.key?(:total_items)
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] if args.key?(:kind)
389
+ @layers = args[:layers] if args.key?(:layers)
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] if args.key?(:allowed_character_count)
428
+ @layer_id = args[:layer_id] if args.key?(:layer_id)
429
+ @limit_type = args[:limit_type] if args.key?(:limit_type)
430
+ @remaining_character_count = args[:remaining_character_count] if args.key?(:remaining_character_count)
431
+ @updated = args[:updated] if args.key?(:updated)
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] if args.key?(:items)
468
+ @kind = args[:kind] if args.key?(:kind)
469
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
470
+ @total_items = args[:total_items] if args.key?(:total_items)
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] if args.key?(:end_offset)
505
+ @end_position = args[:end_position] if args.key?(:end_position)
506
+ @start_offset = args[:start_offset] if args.key?(:start_offset)
507
+ @start_position = args[:start_position] if args.key?(:start_position)
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] if args.key?(:author)
542
+ @processing_state = args[:processing_state] if args.key?(:processing_state)
543
+ @title = args[:title] if args.key?(:title)
544
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
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] if args.key?(:consistency_token)
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] if args.key?(:access)
631
+ @created = args[:created] if args.key?(:created)
632
+ @description = args[:description] if args.key?(:description)
633
+ @id = args[:id] if args.key?(:id)
634
+ @kind = args[:kind] if args.key?(:kind)
635
+ @self_link = args[:self_link] if args.key?(:self_link)
636
+ @title = args[:title] if args.key?(:title)
637
+ @updated = args[:updated] if args.key?(:updated)
638
+ @volume_count = args[:volume_count] if args.key?(:volume_count)
639
+ @volumes_last_updated = args[:volumes_last_updated] if args.key?(:volumes_last_updated)
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] if args.key?(:items)
664
+ @kind = args[:kind] if args.key?(:kind)
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] if args.key?(:items)
689
+ @kind = args[:kind] if args.key?(:kind)
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] if args.key?(:badge_url)
718
+ @category_id = args[:category_id] if args.key?(:category_id)
719
+ @name = args[:name] if args.key?(:name)
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] if args.key?(:device_allowed)
793
+ @kind = args[:kind] if args.key?(:kind)
794
+ @max_concurrent_devices = args[:max_concurrent_devices] if args.key?(:max_concurrent_devices)
795
+ @message = args[:message] if args.key?(:message)
796
+ @nonce = args[:nonce] if args.key?(:nonce)
797
+ @reason_code = args[:reason_code] if args.key?(:reason_code)
798
+ @restricted = args[:restricted] if args.key?(:restricted)
799
+ @signature = args[:signature] if args.key?(:signature)
800
+ @source = args[:source] if args.key?(:source)
801
+ @time_window_seconds = args[:time_window_seconds] if args.key?(:time_window_seconds)
802
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
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] if args.key?(:common)
832
+ @dict = args[:dict] if args.key?(:dict)
833
+ @kind = args[:kind] if args.key?(:kind)
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] if args.key?(:title)
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] if args.key?(:source)
877
+ @words = args[:words] if args.key?(:words)
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] if args.key?(:attribution)
901
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:derivatives)
937
+ @examples = args[:examples] if args.key?(:examples)
938
+ @senses = args[:senses] if args.key?(:senses)
939
+ @source = args[:source] if args.key?(:source)
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] if args.key?(:source)
963
+ @text = args[:text] if args.key?(:text)
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] if args.key?(:attribution)
987
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:source)
1013
+ @text = args[:text] if args.key?(:text)
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] if args.key?(:attribution)
1037
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:conjugations)
1093
+ @definitions = args[:definitions] if args.key?(:definitions)
1094
+ @part_of_speech = args[:part_of_speech] if args.key?(:part_of_speech)
1095
+ @pronunciation = args[:pronunciation] if args.key?(:pronunciation)
1096
+ @pronunciation_url = args[:pronunciation_url] if args.key?(:pronunciation_url)
1097
+ @source = args[:source] if args.key?(:source)
1098
+ @syllabification = args[:syllabification] if args.key?(:syllabification)
1099
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
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] if args.key?(:type)
1123
+ @value = args[:value] if args.key?(:value)
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] if args.key?(:definition)
1148
+ @examples = args[:examples] if args.key?(:examples)
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] if args.key?(:source)
1172
+ @text = args[:text] if args.key?(:text)
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] if args.key?(:attribution)
1196
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:attribution)
1223
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:source)
1248
+ @text = args[:text] if args.key?(:text)
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] if args.key?(:attribution)
1272
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:attribution)
1300
+ @url = args[:url] if args.key?(:url)
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] if args.key?(:clusters)
1333
+ @kind = args[:kind] if args.key?(:kind)
1334
+ @total_clusters = args[:total_clusters] if args.key?(:total_clusters)
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] if args.key?(:banner_with_content_container)
1378
+ @sub_title = args[:sub_title] if args.key?(:sub_title)
1379
+ @title = args[:title] if args.key?(:title)
1380
+ @total_volumes = args[:total_volumes] if args.key?(:total_volumes)
1381
+ @uid = args[:uid] if args.key?(:uid)
1382
+ @volumes = args[:volumes] if args.key?(:volumes)
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] if args.key?(:fill_color_argb)
1426
+ @image_url = args[:image_url] if args.key?(:image_url)
1427
+ @mask_color_argb = args[:mask_color_argb] if args.key?(:mask_color_argb)
1428
+ @more_button_text = args[:more_button_text] if args.key?(:more_button_text)
1429
+ @more_button_url = args[:more_button_url] if args.key?(:more_button_url)
1430
+ @text_color_argb = args[:text_color_argb] if args.key?(:text_color_argb)
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] if args.key?(:device_allowed)
1514
+ @downloads_acquired = args[:downloads_acquired] if args.key?(:downloads_acquired)
1515
+ @just_acquired = args[:just_acquired] if args.key?(:just_acquired)
1516
+ @kind = args[:kind] if args.key?(:kind)
1517
+ @max_download_devices = args[:max_download_devices] if args.key?(:max_download_devices)
1518
+ @message = args[:message] if args.key?(:message)
1519
+ @nonce = args[:nonce] if args.key?(:nonce)
1520
+ @reason_code = args[:reason_code] if args.key?(:reason_code)
1521
+ @restricted = args[:restricted] if args.key?(:restricted)
1522
+ @signature = args[:signature] if args.key?(:signature)
1523
+ @source = args[:source] if args.key?(:source)
1524
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
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] if args.key?(:download_access_list)
1549
+ @kind = args[:kind] if args.key?(:kind)
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] if args.key?(:common)
1579
+ @geo = args[:geo] if args.key?(:geo)
1580
+ @kind = args[:kind] if args.key?(:kind)
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] if args.key?(:lang)
1620
+ @preview_image_url = args[:preview_image_url] if args.key?(:preview_image_url)
1621
+ @snippet = args[:snippet] if args.key?(:snippet)
1622
+ @snippet_url = args[:snippet_url] if args.key?(:snippet_url)
1623
+ @title = args[:title] if args.key?(:title)
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] if args.key?(:boundary)
1684
+ @cache_policy = args[:cache_policy] if args.key?(:cache_policy)
1685
+ @country_code = args[:country_code] if args.key?(:country_code)
1686
+ @latitude = args[:latitude] if args.key?(:latitude)
1687
+ @longitude = args[:longitude] if args.key?(:longitude)
1688
+ @map_type = args[:map_type] if args.key?(:map_type)
1689
+ @viewport = args[:viewport] if args.key?(:viewport)
1690
+ @zoom = args[:zoom] if args.key?(:zoom)
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] if args.key?(:latitude)
1714
+ @longitude = args[:longitude] if args.key?(:longitude)
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] if args.key?(:hi)
1740
+ @lo = args[:lo] if args.key?(:lo)
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] if args.key?(:latitude)
1764
+ @longitude = args[:longitude] if args.key?(:longitude)
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] if args.key?(:latitude)
1789
+ @longitude = args[:longitude] if args.key?(:longitude)
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] if args.key?(:items)
1822
+ @kind = args[:kind] if args.key?(:kind)
1823
+ @total_items = args[:total_items] if args.key?(:total_items)
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] if args.key?(:annotation_count)
1906
+ @annotation_types = args[:annotation_types] if args.key?(:annotation_types)
1907
+ @annotations_data_link = args[:annotations_data_link] if args.key?(:annotations_data_link)
1908
+ @annotations_link = args[:annotations_link] if args.key?(:annotations_link)
1909
+ @content_version = args[:content_version] if args.key?(:content_version)
1910
+ @data_count = args[:data_count] if args.key?(:data_count)
1911
+ @id = args[:id] if args.key?(:id)
1912
+ @kind = args[:kind] if args.key?(:kind)
1913
+ @layer_id = args[:layer_id] if args.key?(:layer_id)
1914
+ @self_link = args[:self_link] if args.key?(:self_link)
1915
+ @updated = args[:updated] if args.key?(:updated)
1916
+ @volume_annotations_version = args[:volume_annotations_version] if args.key?(:volume_annotations_version)
1917
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
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] if args.key?(:items)
1942
+ @kind = args[:kind] if args.key?(:kind)
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] if args.key?(:download_url)
1981
+ @encrypted_key = args[:encrypted_key] if args.key?(:encrypted_key)
1982
+ @language = args[:language] if args.key?(:language)
1983
+ @size = args[:size] if args.key?(:size)
1984
+ @version = args[:version] if args.key?(:version)
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
+ # The list of crm experiment ids.
1999
+ # Corresponds to the JSON property `crmExperimentIds`
2000
+ # @return [Array<String>]
2001
+ attr_accessor :crm_experiment_ids
2002
+
2003
+ #
2004
+ # Corresponds to the JSON property `doc_id`
2005
+ # @return [String]
2006
+ attr_accessor :doc_id
2007
+
2008
+ #
2009
+ # Corresponds to the JSON property `doc_type`
2010
+ # @return [String]
2011
+ attr_accessor :doc_type
2012
+
2013
+ #
2014
+ # Corresponds to the JSON property `dont_show_notification`
2015
+ # @return [Boolean]
2016
+ attr_accessor :dont_show_notification
2017
+ alias_method :dont_show_notification?, :dont_show_notification
2018
+
2019
+ #
2020
+ # Corresponds to the JSON property `iconUrl`
2021
+ # @return [String]
2022
+ attr_accessor :icon_url
2023
+
2024
+ # Resource type.
2025
+ # Corresponds to the JSON property `kind`
2026
+ # @return [String]
2027
+ attr_accessor :kind
2028
+
2029
+ #
2030
+ # Corresponds to the JSON property `notificationGroup`
2031
+ # @return [String]
2032
+ attr_accessor :notification_group
2033
+
2034
+ #
2035
+ # Corresponds to the JSON property `notification_type`
2036
+ # @return [String]
2037
+ attr_accessor :notification_type
2038
+
2039
+ #
2040
+ # Corresponds to the JSON property `pcampaign_id`
2041
+ # @return [String]
2042
+ attr_accessor :pcampaign_id
2043
+
2044
+ #
2045
+ # Corresponds to the JSON property `reason`
2046
+ # @return [String]
2047
+ attr_accessor :reason
2048
+
2049
+ #
2050
+ # Corresponds to the JSON property `show_notification_settings_action`
2051
+ # @return [Boolean]
2052
+ attr_accessor :show_notification_settings_action
2053
+ alias_method :show_notification_settings_action?, :show_notification_settings_action
2054
+
2055
+ #
2056
+ # Corresponds to the JSON property `targetUrl`
2057
+ # @return [String]
2058
+ attr_accessor :target_url
2059
+
2060
+ #
2061
+ # Corresponds to the JSON property `title`
2062
+ # @return [String]
2063
+ attr_accessor :title
2064
+
2065
+ def initialize(**args)
2066
+ update!(**args)
2067
+ end
2068
+
2069
+ # Update properties of this object
2070
+ def update!(**args)
2071
+ @body = args[:body] if args.key?(:body)
2072
+ @crm_experiment_ids = args[:crm_experiment_ids] if args.key?(:crm_experiment_ids)
2073
+ @doc_id = args[:doc_id] if args.key?(:doc_id)
2074
+ @doc_type = args[:doc_type] if args.key?(:doc_type)
2075
+ @dont_show_notification = args[:dont_show_notification] if args.key?(:dont_show_notification)
2076
+ @icon_url = args[:icon_url] if args.key?(:icon_url)
2077
+ @kind = args[:kind] if args.key?(:kind)
2078
+ @notification_group = args[:notification_group] if args.key?(:notification_group)
2079
+ @notification_type = args[:notification_type] if args.key?(:notification_type)
2080
+ @pcampaign_id = args[:pcampaign_id] if args.key?(:pcampaign_id)
2081
+ @reason = args[:reason] if args.key?(:reason)
2082
+ @show_notification_settings_action = args[:show_notification_settings_action] if args.key?(:show_notification_settings_action)
2083
+ @target_url = args[:target_url] if args.key?(:target_url)
2084
+ @title = args[:title] if args.key?(:title)
2085
+ end
2086
+ end
2087
+
2088
+ #
2089
+ class Offers
2090
+ include Google::Apis::Core::Hashable
2091
+
2092
+ # A list of offers.
2093
+ # Corresponds to the JSON property `items`
2094
+ # @return [Array<Google::Apis::BooksV1::Offers::Item>]
2095
+ attr_accessor :items
2096
+
2097
+ # Resource type.
2098
+ # Corresponds to the JSON property `kind`
2099
+ # @return [String]
2100
+ attr_accessor :kind
2101
+
2102
+ def initialize(**args)
2103
+ update!(**args)
2104
+ end
2105
+
2106
+ # Update properties of this object
2107
+ def update!(**args)
2108
+ @items = args[:items] if args.key?(:items)
2109
+ @kind = args[:kind] if args.key?(:kind)
2110
+ end
2111
+
2112
+ #
2113
+ class Item
2114
+ include Google::Apis::Core::Hashable
2115
+
2116
+ #
2117
+ # Corresponds to the JSON property `artUrl`
2118
+ # @return [String]
2119
+ attr_accessor :art_url
2120
+
2121
+ #
2122
+ # Corresponds to the JSON property `gservicesKey`
2123
+ # @return [String]
2124
+ attr_accessor :gservices_key
2125
+
2126
+ #
2127
+ # Corresponds to the JSON property `id`
2128
+ # @return [String]
2129
+ attr_accessor :id
2130
+
2131
+ #
2132
+ # Corresponds to the JSON property `items`
2133
+ # @return [Array<Google::Apis::BooksV1::Offers::Item::Item>]
2134
+ attr_accessor :items
2135
+
2136
+ def initialize(**args)
2137
+ update!(**args)
2138
+ end
2139
+
2140
+ # Update properties of this object
2141
+ def update!(**args)
2142
+ @art_url = args[:art_url] if args.key?(:art_url)
2143
+ @gservices_key = args[:gservices_key] if args.key?(:gservices_key)
2144
+ @id = args[:id] if args.key?(:id)
2145
+ @items = args[:items] if args.key?(:items)
2146
+ end
2147
+
2148
+ #
2149
+ class Item
2150
+ include Google::Apis::Core::Hashable
2151
+
2152
+ #
2153
+ # Corresponds to the JSON property `author`
2154
+ # @return [String]
2155
+ attr_accessor :author
2156
+
2157
+ #
2158
+ # Corresponds to the JSON property `canonicalVolumeLink`
2159
+ # @return [String]
2160
+ attr_accessor :canonical_volume_link
2161
+
2162
+ #
2163
+ # Corresponds to the JSON property `coverUrl`
2164
+ # @return [String]
2165
+ attr_accessor :cover_url
2166
+
2167
+ #
2168
+ # Corresponds to the JSON property `description`
2169
+ # @return [String]
2170
+ attr_accessor :description
2171
+
2172
+ #
2173
+ # Corresponds to the JSON property `title`
2174
+ # @return [String]
2175
+ attr_accessor :title
2176
+
2177
+ #
2178
+ # Corresponds to the JSON property `volumeId`
2179
+ # @return [String]
2180
+ attr_accessor :volume_id
2181
+
2182
+ def initialize(**args)
2183
+ update!(**args)
2184
+ end
2185
+
2186
+ # Update properties of this object
2187
+ def update!(**args)
2188
+ @author = args[:author] if args.key?(:author)
2189
+ @canonical_volume_link = args[:canonical_volume_link] if args.key?(:canonical_volume_link)
2190
+ @cover_url = args[:cover_url] if args.key?(:cover_url)
2191
+ @description = args[:description] if args.key?(:description)
2192
+ @title = args[:title] if args.key?(:title)
2193
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
2194
+ end
2195
+ end
2196
+ end
2197
+ end
2198
+
2199
+ #
2200
+ class ReadingPosition
2201
+ include Google::Apis::Core::Hashable
2202
+
2203
+ # Position in an EPUB as a CFI.
2204
+ # Corresponds to the JSON property `epubCfiPosition`
2205
+ # @return [String]
2206
+ attr_accessor :epub_cfi_position
2207
+
2208
+ # Position in a volume for image-based content.
2209
+ # Corresponds to the JSON property `gbImagePosition`
2210
+ # @return [String]
2211
+ attr_accessor :gb_image_position
2212
+
2213
+ # Position in a volume for text-based content.
2214
+ # Corresponds to the JSON property `gbTextPosition`
2215
+ # @return [String]
2216
+ attr_accessor :gb_text_position
2217
+
2218
+ # Resource type for a reading position.
2219
+ # Corresponds to the JSON property `kind`
2220
+ # @return [String]
2221
+ attr_accessor :kind
2222
+
2223
+ # Position in a PDF file.
2224
+ # Corresponds to the JSON property `pdfPosition`
2225
+ # @return [String]
2226
+ attr_accessor :pdf_position
2227
+
2228
+ # Timestamp when this reading position was last updated (formatted UTC timestamp
2229
+ # with millisecond resolution).
2230
+ # Corresponds to the JSON property `updated`
2231
+ # @return [DateTime]
2232
+ attr_accessor :updated
2233
+
2234
+ # Volume id associated with this reading position.
2235
+ # Corresponds to the JSON property `volumeId`
2236
+ # @return [String]
2237
+ attr_accessor :volume_id
2238
+
2239
+ def initialize(**args)
2240
+ update!(**args)
2241
+ end
2242
+
2243
+ # Update properties of this object
2244
+ def update!(**args)
2245
+ @epub_cfi_position = args[:epub_cfi_position] if args.key?(:epub_cfi_position)
2246
+ @gb_image_position = args[:gb_image_position] if args.key?(:gb_image_position)
2247
+ @gb_text_position = args[:gb_text_position] if args.key?(:gb_text_position)
2248
+ @kind = args[:kind] if args.key?(:kind)
2249
+ @pdf_position = args[:pdf_position] if args.key?(:pdf_position)
2250
+ @updated = args[:updated] if args.key?(:updated)
2251
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
2252
+ end
2253
+ end
2254
+
2255
+ #
2256
+ class RequestAccess
2257
+ include Google::Apis::Core::Hashable
2258
+
2259
+ # A concurrent access response.
2260
+ # Corresponds to the JSON property `concurrentAccess`
2261
+ # @return [Google::Apis::BooksV1::ConcurrentAccessRestriction]
2262
+ attr_accessor :concurrent_access
2263
+
2264
+ # A download access response.
2265
+ # Corresponds to the JSON property `downloadAccess`
2266
+ # @return [Google::Apis::BooksV1::DownloadAccessRestriction]
2267
+ attr_accessor :download_access
2268
+
2269
+ # Resource type.
2270
+ # Corresponds to the JSON property `kind`
2271
+ # @return [String]
2272
+ attr_accessor :kind
2273
+
2274
+ def initialize(**args)
2275
+ update!(**args)
2276
+ end
2277
+
2278
+ # Update properties of this object
2279
+ def update!(**args)
2280
+ @concurrent_access = args[:concurrent_access] if args.key?(:concurrent_access)
2281
+ @download_access = args[:download_access] if args.key?(:download_access)
2282
+ @kind = args[:kind] if args.key?(:kind)
2283
+ end
2284
+ end
2285
+
2286
+ #
2287
+ class Review
2288
+ include Google::Apis::Core::Hashable
2289
+
2290
+ # Author of this review.
2291
+ # Corresponds to the JSON property `author`
2292
+ # @return [Google::Apis::BooksV1::Review::Author]
2293
+ attr_accessor :author
2294
+
2295
+ # Review text.
2296
+ # Corresponds to the JSON property `content`
2297
+ # @return [String]
2298
+ attr_accessor :content
2299
+
2300
+ # Date of this review.
2301
+ # Corresponds to the JSON property `date`
2302
+ # @return [String]
2303
+ attr_accessor :date
2304
+
2305
+ # URL for the full review text, for reviews gathered from the web.
2306
+ # Corresponds to the JSON property `fullTextUrl`
2307
+ # @return [String]
2308
+ attr_accessor :full_text_url
2309
+
2310
+ # Resource type for a review.
2311
+ # Corresponds to the JSON property `kind`
2312
+ # @return [String]
2313
+ attr_accessor :kind
2314
+
2315
+ # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE
2316
+ # or NOT_RATED.
2317
+ # Corresponds to the JSON property `rating`
2318
+ # @return [String]
2319
+ attr_accessor :rating
2320
+
2321
+ # Information regarding the source of this review, when the review is not from a
2322
+ # Google Books user.
2323
+ # Corresponds to the JSON property `source`
2324
+ # @return [Google::Apis::BooksV1::Review::Source]
2325
+ attr_accessor :source
2326
+
2327
+ # Title for this review.
2328
+ # Corresponds to the JSON property `title`
2329
+ # @return [String]
2330
+ attr_accessor :title
2331
+
2332
+ # Source type for this review. Possible values are EDITORIAL, WEB_USER or
2333
+ # GOOGLE_USER.
2334
+ # Corresponds to the JSON property `type`
2335
+ # @return [String]
2336
+ attr_accessor :type
2337
+
2338
+ # Volume that this review is for.
2339
+ # Corresponds to the JSON property `volumeId`
2340
+ # @return [String]
2341
+ attr_accessor :volume_id
2342
+
2343
+ def initialize(**args)
2344
+ update!(**args)
2345
+ end
2346
+
2347
+ # Update properties of this object
2348
+ def update!(**args)
2349
+ @author = args[:author] if args.key?(:author)
2350
+ @content = args[:content] if args.key?(:content)
2351
+ @date = args[:date] if args.key?(:date)
2352
+ @full_text_url = args[:full_text_url] if args.key?(:full_text_url)
2353
+ @kind = args[:kind] if args.key?(:kind)
2354
+ @rating = args[:rating] if args.key?(:rating)
2355
+ @source = args[:source] if args.key?(:source)
2356
+ @title = args[:title] if args.key?(:title)
2357
+ @type = args[:type] if args.key?(:type)
2358
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
2359
+ end
2360
+
2361
+ # Author of this review.
2362
+ class Author
2363
+ include Google::Apis::Core::Hashable
2364
+
2365
+ # Name of this person.
2366
+ # Corresponds to the JSON property `displayName`
2367
+ # @return [String]
2368
+ attr_accessor :display_name
2369
+
2370
+ def initialize(**args)
2371
+ update!(**args)
2372
+ end
2373
+
2374
+ # Update properties of this object
2375
+ def update!(**args)
2376
+ @display_name = args[:display_name] if args.key?(:display_name)
2377
+ end
2378
+ end
2379
+
2380
+ # Information regarding the source of this review, when the review is not from a
2381
+ # Google Books user.
2382
+ class Source
2383
+ include Google::Apis::Core::Hashable
2384
+
2385
+ # Name of the source.
2386
+ # Corresponds to the JSON property `description`
2387
+ # @return [String]
2388
+ attr_accessor :description
2389
+
2390
+ # Extra text about the source of the review.
2391
+ # Corresponds to the JSON property `extraDescription`
2392
+ # @return [String]
2393
+ attr_accessor :extra_description
2394
+
2395
+ # URL of the source of the review.
2396
+ # Corresponds to the JSON property `url`
2397
+ # @return [String]
2398
+ attr_accessor :url
2399
+
2400
+ def initialize(**args)
2401
+ update!(**args)
2402
+ end
2403
+
2404
+ # Update properties of this object
2405
+ def update!(**args)
2406
+ @description = args[:description] if args.key?(:description)
2407
+ @extra_description = args[:extra_description] if args.key?(:extra_description)
2408
+ @url = args[:url] if args.key?(:url)
2409
+ end
2410
+ end
2411
+ end
2412
+
2413
+ #
2414
+ class Series
2415
+ include Google::Apis::Core::Hashable
2416
+
2417
+ # Resource type.
2418
+ # Corresponds to the JSON property `kind`
2419
+ # @return [String]
2420
+ attr_accessor :kind
2421
+
2422
+ #
2423
+ # Corresponds to the JSON property `series`
2424
+ # @return [Array<Google::Apis::BooksV1::Series::Series>]
2425
+ attr_accessor :series
2426
+
2427
+ def initialize(**args)
2428
+ update!(**args)
2429
+ end
2430
+
2431
+ # Update properties of this object
2432
+ def update!(**args)
2433
+ @kind = args[:kind] if args.key?(:kind)
2434
+ @series = args[:series] if args.key?(:series)
2435
+ end
2436
+
2437
+ #
2438
+ class Series
2439
+ include Google::Apis::Core::Hashable
2440
+
2441
+ #
2442
+ # Corresponds to the JSON property `bannerImageUrl`
2443
+ # @return [String]
2444
+ attr_accessor :banner_image_url
2445
+
2446
+ #
2447
+ # Corresponds to the JSON property `imageUrl`
2448
+ # @return [String]
2449
+ attr_accessor :image_url
2450
+
2451
+ #
2452
+ # Corresponds to the JSON property `seriesId`
2453
+ # @return [String]
2454
+ attr_accessor :series_id
2455
+
2456
+ #
2457
+ # Corresponds to the JSON property `seriesType`
2458
+ # @return [String]
2459
+ attr_accessor :series_type
2460
+
2461
+ #
2462
+ # Corresponds to the JSON property `title`
2463
+ # @return [String]
2464
+ attr_accessor :title
2465
+
2466
+ def initialize(**args)
2467
+ update!(**args)
2468
+ end
2469
+
2470
+ # Update properties of this object
2471
+ def update!(**args)
2472
+ @banner_image_url = args[:banner_image_url] if args.key?(:banner_image_url)
2473
+ @image_url = args[:image_url] if args.key?(:image_url)
2474
+ @series_id = args[:series_id] if args.key?(:series_id)
2475
+ @series_type = args[:series_type] if args.key?(:series_type)
2476
+ @title = args[:title] if args.key?(:title)
2477
+ end
2478
+ end
2479
+ end
2480
+
2481
+ #
2482
+ class SeriesMembership
2483
+ include Google::Apis::Core::Hashable
2484
+
2485
+ # Resorce type.
2486
+ # Corresponds to the JSON property `kind`
2487
+ # @return [String]
2488
+ attr_accessor :kind
2489
+
2490
+ #
2491
+ # Corresponds to the JSON property `member`
2492
+ # @return [Array<Google::Apis::BooksV1::Volume>]
2493
+ attr_accessor :member
2494
+
2495
+ #
2496
+ # Corresponds to the JSON property `nextPageToken`
2497
+ # @return [String]
2498
+ attr_accessor :next_page_token
2499
+
2500
+ def initialize(**args)
2501
+ update!(**args)
2502
+ end
2503
+
2504
+ # Update properties of this object
2505
+ def update!(**args)
2506
+ @kind = args[:kind] if args.key?(:kind)
2507
+ @member = args[:member] if args.key?(:member)
2508
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2509
+ end
2510
+ end
2511
+
2512
+ #
2513
+ class UserSettings
2514
+ include Google::Apis::Core::Hashable
2515
+
2516
+ # Resource type.
2517
+ # Corresponds to the JSON property `kind`
2518
+ # @return [String]
2519
+ attr_accessor :kind
2520
+
2521
+ # User settings in sub-objects, each for different purposes.
2522
+ # Corresponds to the JSON property `notesExport`
2523
+ # @return [Google::Apis::BooksV1::UserSettings::NotesExport]
2524
+ attr_accessor :notes_export
2525
+
2526
+ #
2527
+ # Corresponds to the JSON property `notification`
2528
+ # @return [Google::Apis::BooksV1::UserSettings::Notification]
2529
+ attr_accessor :notification
2530
+
2531
+ def initialize(**args)
2532
+ update!(**args)
2533
+ end
2534
+
2535
+ # Update properties of this object
2536
+ def update!(**args)
2537
+ @kind = args[:kind] if args.key?(:kind)
2538
+ @notes_export = args[:notes_export] if args.key?(:notes_export)
2539
+ @notification = args[:notification] if args.key?(:notification)
2540
+ end
2541
+
2542
+ # User settings in sub-objects, each for different purposes.
2543
+ class NotesExport
2544
+ include Google::Apis::Core::Hashable
2545
+
2546
+ #
2547
+ # Corresponds to the JSON property `folderName`
2548
+ # @return [String]
2549
+ attr_accessor :folder_name
2550
+
2551
+ #
2552
+ # Corresponds to the JSON property `isEnabled`
2553
+ # @return [Boolean]
2554
+ attr_accessor :is_enabled
2555
+ alias_method :is_enabled?, :is_enabled
2556
+
2557
+ def initialize(**args)
2558
+ update!(**args)
2559
+ end
2560
+
2561
+ # Update properties of this object
2562
+ def update!(**args)
2563
+ @folder_name = args[:folder_name] if args.key?(:folder_name)
2564
+ @is_enabled = args[:is_enabled] if args.key?(:is_enabled)
2565
+ end
2566
+ end
2567
+
2568
+ #
2569
+ class Notification
2570
+ include Google::Apis::Core::Hashable
2571
+
2572
+ #
2573
+ # Corresponds to the JSON property `moreFromAuthors`
2574
+ # @return [Google::Apis::BooksV1::UserSettings::Notification::MoreFromAuthors]
2575
+ attr_accessor :more_from_authors
2576
+
2577
+ #
2578
+ # Corresponds to the JSON property `moreFromSeries`
2579
+ # @return [Google::Apis::BooksV1::UserSettings::Notification::MoreFromSeries]
2580
+ attr_accessor :more_from_series
2581
+
2582
+ def initialize(**args)
2583
+ update!(**args)
2584
+ end
2585
+
2586
+ # Update properties of this object
2587
+ def update!(**args)
2588
+ @more_from_authors = args[:more_from_authors] if args.key?(:more_from_authors)
2589
+ @more_from_series = args[:more_from_series] if args.key?(:more_from_series)
2590
+ end
2591
+
2592
+ #
2593
+ class MoreFromAuthors
2594
+ include Google::Apis::Core::Hashable
2595
+
2596
+ #
2597
+ # Corresponds to the JSON property `opted_state`
2598
+ # @return [String]
2599
+ attr_accessor :opted_state
2600
+
2601
+ def initialize(**args)
2602
+ update!(**args)
2603
+ end
2604
+
2605
+ # Update properties of this object
2606
+ def update!(**args)
2607
+ @opted_state = args[:opted_state] if args.key?(:opted_state)
2608
+ end
2609
+ end
2610
+
2611
+ #
2612
+ class MoreFromSeries
2613
+ include Google::Apis::Core::Hashable
2614
+
2615
+ #
2616
+ # Corresponds to the JSON property `opted_state`
2617
+ # @return [String]
2618
+ attr_accessor :opted_state
2619
+
2620
+ def initialize(**args)
2621
+ update!(**args)
2622
+ end
2623
+
2624
+ # Update properties of this object
2625
+ def update!(**args)
2626
+ @opted_state = args[:opted_state] if args.key?(:opted_state)
2627
+ end
2628
+ end
2629
+ end
2630
+ end
2631
+
2632
+ #
2633
+ class Volume
2634
+ include Google::Apis::Core::Hashable
2635
+
2636
+ # Any information about a volume related to reading or obtaining that volume
2637
+ # text. This information can depend on country (books may be public domain in
2638
+ # one country but not in another, e.g.).
2639
+ # Corresponds to the JSON property `accessInfo`
2640
+ # @return [Google::Apis::BooksV1::Volume::AccessInfo]
2641
+ attr_accessor :access_info
2642
+
2643
+ # Opaque identifier for a specific version of a volume resource. (In LITE
2644
+ # projection)
2645
+ # Corresponds to the JSON property `etag`
2646
+ # @return [String]
2647
+ attr_accessor :etag
2648
+
2649
+ # Unique identifier for a volume. (In LITE projection.)
2650
+ # Corresponds to the JSON property `id`
2651
+ # @return [String]
2652
+ attr_accessor :id
2653
+
2654
+ # Resource type for a volume. (In LITE projection.)
2655
+ # Corresponds to the JSON property `kind`
2656
+ # @return [String]
2657
+ attr_accessor :kind
2658
+
2659
+ # What layers exist in this volume and high level information about them.
2660
+ # Corresponds to the JSON property `layerInfo`
2661
+ # @return [Google::Apis::BooksV1::Volume::LayerInfo]
2662
+ attr_accessor :layer_info
2663
+
2664
+ # Recommendation related information for this volume.
2665
+ # Corresponds to the JSON property `recommendedInfo`
2666
+ # @return [Google::Apis::BooksV1::Volume::RecommendedInfo]
2667
+ attr_accessor :recommended_info
2668
+
2669
+ # Any information about a volume related to the eBookstore and/or
2670
+ # purchaseability. This information can depend on the country where the request
2671
+ # originates from (i.e. books may not be for sale in certain countries).
2672
+ # Corresponds to the JSON property `saleInfo`
2673
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo]
2674
+ attr_accessor :sale_info
2675
+
2676
+ # Search result information related to this volume.
2677
+ # Corresponds to the JSON property `searchInfo`
2678
+ # @return [Google::Apis::BooksV1::Volume::SearchInfo]
2679
+ attr_accessor :search_info
2680
+
2681
+ # URL to this resource. (In LITE projection.)
2682
+ # Corresponds to the JSON property `selfLink`
2683
+ # @return [String]
2684
+ attr_accessor :self_link
2685
+
2686
+ # User specific information related to this volume. (e.g. page this user last
2687
+ # read or whether they purchased this book)
2688
+ # Corresponds to the JSON property `userInfo`
2689
+ # @return [Google::Apis::BooksV1::Volume::UserInfo]
2690
+ attr_accessor :user_info
2691
+
2692
+ # General volume information.
2693
+ # Corresponds to the JSON property `volumeInfo`
2694
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo]
2695
+ attr_accessor :volume_info
2696
+
2697
+ def initialize(**args)
2698
+ update!(**args)
2699
+ end
2700
+
2701
+ # Update properties of this object
2702
+ def update!(**args)
2703
+ @access_info = args[:access_info] if args.key?(:access_info)
2704
+ @etag = args[:etag] if args.key?(:etag)
2705
+ @id = args[:id] if args.key?(:id)
2706
+ @kind = args[:kind] if args.key?(:kind)
2707
+ @layer_info = args[:layer_info] if args.key?(:layer_info)
2708
+ @recommended_info = args[:recommended_info] if args.key?(:recommended_info)
2709
+ @sale_info = args[:sale_info] if args.key?(:sale_info)
2710
+ @search_info = args[:search_info] if args.key?(:search_info)
2711
+ @self_link = args[:self_link] if args.key?(:self_link)
2712
+ @user_info = args[:user_info] if args.key?(:user_info)
2713
+ @volume_info = args[:volume_info] if args.key?(:volume_info)
2714
+ end
2715
+
2716
+ # Any information about a volume related to reading or obtaining that volume
2717
+ # text. This information can depend on country (books may be public domain in
2718
+ # one country but not in another, e.g.).
2719
+ class AccessInfo
2720
+ include Google::Apis::Core::Hashable
2721
+
2722
+ # Combines the access and viewability of this volume into a single status field
2723
+ # for this user. Values can be FULL_PURCHASED, FULL_PUBLIC_DOMAIN, SAMPLE or
2724
+ # NONE. (In LITE projection.)
2725
+ # Corresponds to the JSON property `accessViewStatus`
2726
+ # @return [String]
2727
+ attr_accessor :access_view_status
2728
+
2729
+ # The two-letter ISO_3166-1 country code for which this access information is
2730
+ # valid. (In LITE projection.)
2731
+ # Corresponds to the JSON property `country`
2732
+ # @return [String]
2733
+ attr_accessor :country
2734
+
2735
+ # Information about a volume's download license access restrictions.
2736
+ # Corresponds to the JSON property `downloadAccess`
2737
+ # @return [Google::Apis::BooksV1::DownloadAccessRestriction]
2738
+ attr_accessor :download_access
2739
+
2740
+ # URL to the Google Drive viewer if this volume is uploaded by the user by
2741
+ # selecting the file from Google Drive.
2742
+ # Corresponds to the JSON property `driveImportedContentLink`
2743
+ # @return [String]
2744
+ attr_accessor :drive_imported_content_link
2745
+
2746
+ # Whether this volume can be embedded in a viewport using the Embedded Viewer
2747
+ # API.
2748
+ # Corresponds to the JSON property `embeddable`
2749
+ # @return [Boolean]
2750
+ attr_accessor :embeddable
2751
+ alias_method :embeddable?, :embeddable
2752
+
2753
+ # Information about epub content. (In LITE projection.)
2754
+ # Corresponds to the JSON property `epub`
2755
+ # @return [Google::Apis::BooksV1::Volume::AccessInfo::Epub]
2756
+ attr_accessor :epub
2757
+
2758
+ # Whether this volume requires that the client explicitly request offline
2759
+ # download license rather than have it done automatically when loading the
2760
+ # content, if the client supports it.
2761
+ # Corresponds to the JSON property `explicitOfflineLicenseManagement`
2762
+ # @return [Boolean]
2763
+ attr_accessor :explicit_offline_license_management
2764
+ alias_method :explicit_offline_license_management?, :explicit_offline_license_management
2765
+
2766
+ # Information about pdf content. (In LITE projection.)
2767
+ # Corresponds to the JSON property `pdf`
2768
+ # @return [Google::Apis::BooksV1::Volume::AccessInfo::Pdf]
2769
+ attr_accessor :pdf
2770
+
2771
+ # Whether or not this book is public domain in the country listed above.
2772
+ # Corresponds to the JSON property `publicDomain`
2773
+ # @return [Boolean]
2774
+ attr_accessor :public_domain
2775
+ alias_method :public_domain?, :public_domain
2776
+
2777
+ # Whether quote sharing is allowed for this volume.
2778
+ # Corresponds to the JSON property `quoteSharingAllowed`
2779
+ # @return [Boolean]
2780
+ attr_accessor :quote_sharing_allowed
2781
+ alias_method :quote_sharing_allowed?, :quote_sharing_allowed
2782
+
2783
+ # Whether text-to-speech is permitted for this volume. Values can be ALLOWED,
2784
+ # ALLOWED_FOR_ACCESSIBILITY, or NOT_ALLOWED.
2785
+ # Corresponds to the JSON property `textToSpeechPermission`
2786
+ # @return [String]
2787
+ attr_accessor :text_to_speech_permission
2788
+
2789
+ # For ordered but not yet processed orders, we give a URL that can be used to go
2790
+ # to the appropriate Google Wallet page.
2791
+ # Corresponds to the JSON property `viewOrderUrl`
2792
+ # @return [String]
2793
+ attr_accessor :view_order_url
2794
+
2795
+ # The read access of a volume. Possible values are PARTIAL, ALL_PAGES, NO_PAGES
2796
+ # or UNKNOWN. This value depends on the country listed above. A value of PARTIAL
2797
+ # means that the publisher has allowed some portion of the volume to be viewed
2798
+ # publicly, without purchase. This can apply to eBooks as well as non-eBooks.
2799
+ # Public domain books will always have a value of ALL_PAGES.
2800
+ # Corresponds to the JSON property `viewability`
2801
+ # @return [String]
2802
+ attr_accessor :viewability
2803
+
2804
+ # URL to read this volume on the Google Books site. Link will not allow users to
2805
+ # read non-viewable volumes.
2806
+ # Corresponds to the JSON property `webReaderLink`
2807
+ # @return [String]
2808
+ attr_accessor :web_reader_link
2809
+
2810
+ def initialize(**args)
2811
+ update!(**args)
2812
+ end
2813
+
2814
+ # Update properties of this object
2815
+ def update!(**args)
2816
+ @access_view_status = args[:access_view_status] if args.key?(:access_view_status)
2817
+ @country = args[:country] if args.key?(:country)
2818
+ @download_access = args[:download_access] if args.key?(:download_access)
2819
+ @drive_imported_content_link = args[:drive_imported_content_link] if args.key?(:drive_imported_content_link)
2820
+ @embeddable = args[:embeddable] if args.key?(:embeddable)
2821
+ @epub = args[:epub] if args.key?(:epub)
2822
+ @explicit_offline_license_management = args[:explicit_offline_license_management] if args.key?(:explicit_offline_license_management)
2823
+ @pdf = args[:pdf] if args.key?(:pdf)
2824
+ @public_domain = args[:public_domain] if args.key?(:public_domain)
2825
+ @quote_sharing_allowed = args[:quote_sharing_allowed] if args.key?(:quote_sharing_allowed)
2826
+ @text_to_speech_permission = args[:text_to_speech_permission] if args.key?(:text_to_speech_permission)
2827
+ @view_order_url = args[:view_order_url] if args.key?(:view_order_url)
2828
+ @viewability = args[:viewability] if args.key?(:viewability)
2829
+ @web_reader_link = args[:web_reader_link] if args.key?(:web_reader_link)
2830
+ end
2831
+
2832
+ # Information about epub content. (In LITE projection.)
2833
+ class Epub
2834
+ include Google::Apis::Core::Hashable
2835
+
2836
+ # URL to retrieve ACS token for epub download. (In LITE projection.)
2837
+ # Corresponds to the JSON property `acsTokenLink`
2838
+ # @return [String]
2839
+ attr_accessor :acs_token_link
2840
+
2841
+ # URL to download epub. (In LITE projection.)
2842
+ # Corresponds to the JSON property `downloadLink`
2843
+ # @return [String]
2844
+ attr_accessor :download_link
2845
+
2846
+ # Is a flowing text epub available either as public domain or for purchase. (In
2847
+ # LITE projection.)
2848
+ # Corresponds to the JSON property `isAvailable`
2849
+ # @return [Boolean]
2850
+ attr_accessor :is_available
2851
+ alias_method :is_available?, :is_available
2852
+
2853
+ def initialize(**args)
2854
+ update!(**args)
2855
+ end
2856
+
2857
+ # Update properties of this object
2858
+ def update!(**args)
2859
+ @acs_token_link = args[:acs_token_link] if args.key?(:acs_token_link)
2860
+ @download_link = args[:download_link] if args.key?(:download_link)
2861
+ @is_available = args[:is_available] if args.key?(:is_available)
2862
+ end
2863
+ end
2864
+
2865
+ # Information about pdf content. (In LITE projection.)
2866
+ class Pdf
2867
+ include Google::Apis::Core::Hashable
2868
+
2869
+ # URL to retrieve ACS token for pdf download. (In LITE projection.)
2870
+ # Corresponds to the JSON property `acsTokenLink`
2871
+ # @return [String]
2872
+ attr_accessor :acs_token_link
2873
+
2874
+ # URL to download pdf. (In LITE projection.)
2875
+ # Corresponds to the JSON property `downloadLink`
2876
+ # @return [String]
2877
+ attr_accessor :download_link
2878
+
2879
+ # Is a scanned image pdf available either as public domain or for purchase. (In
2880
+ # LITE projection.)
2881
+ # Corresponds to the JSON property `isAvailable`
2882
+ # @return [Boolean]
2883
+ attr_accessor :is_available
2884
+ alias_method :is_available?, :is_available
2885
+
2886
+ def initialize(**args)
2887
+ update!(**args)
2888
+ end
2889
+
2890
+ # Update properties of this object
2891
+ def update!(**args)
2892
+ @acs_token_link = args[:acs_token_link] if args.key?(:acs_token_link)
2893
+ @download_link = args[:download_link] if args.key?(:download_link)
2894
+ @is_available = args[:is_available] if args.key?(:is_available)
2895
+ end
2896
+ end
2897
+ end
2898
+
2899
+ # What layers exist in this volume and high level information about them.
2900
+ class LayerInfo
2901
+ include Google::Apis::Core::Hashable
2902
+
2903
+ # A layer should appear here if and only if the layer exists for this book.
2904
+ # Corresponds to the JSON property `layers`
2905
+ # @return [Array<Google::Apis::BooksV1::Volume::LayerInfo::Layer>]
2906
+ attr_accessor :layers
2907
+
2908
+ def initialize(**args)
2909
+ update!(**args)
2910
+ end
2911
+
2912
+ # Update properties of this object
2913
+ def update!(**args)
2914
+ @layers = args[:layers] if args.key?(:layers)
2915
+ end
2916
+
2917
+ #
2918
+ class Layer
2919
+ include Google::Apis::Core::Hashable
2920
+
2921
+ # The layer id of this layer (e.g. "geo").
2922
+ # Corresponds to the JSON property `layerId`
2923
+ # @return [String]
2924
+ attr_accessor :layer_id
2925
+
2926
+ # The current version of this layer's volume annotations. Note that this version
2927
+ # applies only to the data in the books.layers.volumeAnnotations.* responses.
2928
+ # The actual annotation data is versioned separately.
2929
+ # Corresponds to the JSON property `volumeAnnotationsVersion`
2930
+ # @return [String]
2931
+ attr_accessor :volume_annotations_version
2932
+
2933
+ def initialize(**args)
2934
+ update!(**args)
2935
+ end
2936
+
2937
+ # Update properties of this object
2938
+ def update!(**args)
2939
+ @layer_id = args[:layer_id] if args.key?(:layer_id)
2940
+ @volume_annotations_version = args[:volume_annotations_version] if args.key?(:volume_annotations_version)
2941
+ end
2942
+ end
2943
+ end
2944
+
2945
+ # Recommendation related information for this volume.
2946
+ class RecommendedInfo
2947
+ include Google::Apis::Core::Hashable
2948
+
2949
+ # A text explaining why this volume is recommended.
2950
+ # Corresponds to the JSON property `explanation`
2951
+ # @return [String]
2952
+ attr_accessor :explanation
2953
+
2954
+ def initialize(**args)
2955
+ update!(**args)
2956
+ end
2957
+
2958
+ # Update properties of this object
2959
+ def update!(**args)
2960
+ @explanation = args[:explanation] if args.key?(:explanation)
2961
+ end
2962
+ end
2963
+
2964
+ # Any information about a volume related to the eBookstore and/or
2965
+ # purchaseability. This information can depend on the country where the request
2966
+ # originates from (i.e. books may not be for sale in certain countries).
2967
+ class SaleInfo
2968
+ include Google::Apis::Core::Hashable
2969
+
2970
+ # URL to purchase this volume on the Google Books site. (In LITE projection)
2971
+ # Corresponds to the JSON property `buyLink`
2972
+ # @return [String]
2973
+ attr_accessor :buy_link
2974
+
2975
+ # The two-letter ISO_3166-1 country code for which this sale information is
2976
+ # valid. (In LITE projection.)
2977
+ # Corresponds to the JSON property `country`
2978
+ # @return [String]
2979
+ attr_accessor :country
2980
+
2981
+ # Whether or not this volume is an eBook (can be added to the My eBooks shelf).
2982
+ # Corresponds to the JSON property `isEbook`
2983
+ # @return [Boolean]
2984
+ attr_accessor :is_ebook
2985
+ alias_method :is_ebook?, :is_ebook
2986
+
2987
+ # Suggested retail price. (In LITE projection.)
2988
+ # Corresponds to the JSON property `listPrice`
2989
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::ListPrice]
2990
+ attr_accessor :list_price
2991
+
2992
+ # Offers available for this volume (sales and rentals).
2993
+ # Corresponds to the JSON property `offers`
2994
+ # @return [Array<Google::Apis::BooksV1::Volume::SaleInfo::Offer>]
2995
+ attr_accessor :offers
2996
+
2997
+ # The date on which this book is available for sale.
2998
+ # Corresponds to the JSON property `onSaleDate`
2999
+ # @return [DateTime]
3000
+ attr_accessor :on_sale_date
3001
+
3002
+ # The actual selling price of the book. This is the same as the suggested retail
3003
+ # or list price unless there are offers or discounts on this volume. (In LITE
3004
+ # projection.)
3005
+ # Corresponds to the JSON property `retailPrice`
3006
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::RetailPrice]
3007
+ attr_accessor :retail_price
3008
+
3009
+ # Whether or not this book is available for sale or offered for free in the
3010
+ # Google eBookstore for the country listed above. Possible values are FOR_SALE,
3011
+ # FOR_RENTAL_ONLY, FOR_SALE_AND_RENTAL, FREE, NOT_FOR_SALE, or FOR_PREORDER.
3012
+ # Corresponds to the JSON property `saleability`
3013
+ # @return [String]
3014
+ attr_accessor :saleability
3015
+
3016
+ def initialize(**args)
3017
+ update!(**args)
3018
+ end
3019
+
3020
+ # Update properties of this object
3021
+ def update!(**args)
3022
+ @buy_link = args[:buy_link] if args.key?(:buy_link)
3023
+ @country = args[:country] if args.key?(:country)
3024
+ @is_ebook = args[:is_ebook] if args.key?(:is_ebook)
3025
+ @list_price = args[:list_price] if args.key?(:list_price)
3026
+ @offers = args[:offers] if args.key?(:offers)
3027
+ @on_sale_date = args[:on_sale_date] if args.key?(:on_sale_date)
3028
+ @retail_price = args[:retail_price] if args.key?(:retail_price)
3029
+ @saleability = args[:saleability] if args.key?(:saleability)
3030
+ end
3031
+
3032
+ # Suggested retail price. (In LITE projection.)
3033
+ class ListPrice
3034
+ include Google::Apis::Core::Hashable
3035
+
3036
+ # Amount in the currency listed below. (In LITE projection.)
3037
+ # Corresponds to the JSON property `amount`
3038
+ # @return [Float]
3039
+ attr_accessor :amount
3040
+
3041
+ # An ISO 4217, three-letter currency code. (In LITE projection.)
3042
+ # Corresponds to the JSON property `currencyCode`
3043
+ # @return [String]
3044
+ attr_accessor :currency_code
3045
+
3046
+ def initialize(**args)
3047
+ update!(**args)
3048
+ end
3049
+
3050
+ # Update properties of this object
3051
+ def update!(**args)
3052
+ @amount = args[:amount] if args.key?(:amount)
3053
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
3054
+ end
3055
+ end
3056
+
3057
+ #
3058
+ class Offer
3059
+ include Google::Apis::Core::Hashable
3060
+
3061
+ # The finsky offer type (e.g., PURCHASE=0 RENTAL=3)
3062
+ # Corresponds to the JSON property `finskyOfferType`
3063
+ # @return [Fixnum]
3064
+ attr_accessor :finsky_offer_type
3065
+
3066
+ # Indicates whether the offer is giftable.
3067
+ # Corresponds to the JSON property `giftable`
3068
+ # @return [Boolean]
3069
+ attr_accessor :giftable
3070
+ alias_method :giftable?, :giftable
3071
+
3072
+ # Offer list (=undiscounted) price in Micros.
3073
+ # Corresponds to the JSON property `listPrice`
3074
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::Offer::ListPrice]
3075
+ attr_accessor :list_price
3076
+
3077
+ # The rental duration (for rental offers only).
3078
+ # Corresponds to the JSON property `rentalDuration`
3079
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::Offer::RentalDuration]
3080
+ attr_accessor :rental_duration
3081
+
3082
+ # Offer retail (=discounted) price in Micros
3083
+ # Corresponds to the JSON property `retailPrice`
3084
+ # @return [Google::Apis::BooksV1::Volume::SaleInfo::Offer::RetailPrice]
3085
+ attr_accessor :retail_price
3086
+
3087
+ def initialize(**args)
3088
+ update!(**args)
3089
+ end
3090
+
3091
+ # Update properties of this object
3092
+ def update!(**args)
3093
+ @finsky_offer_type = args[:finsky_offer_type] if args.key?(:finsky_offer_type)
3094
+ @giftable = args[:giftable] if args.key?(:giftable)
3095
+ @list_price = args[:list_price] if args.key?(:list_price)
3096
+ @rental_duration = args[:rental_duration] if args.key?(:rental_duration)
3097
+ @retail_price = args[:retail_price] if args.key?(:retail_price)
3098
+ end
3099
+
3100
+ # Offer list (=undiscounted) price in Micros.
3101
+ class ListPrice
3102
+ include Google::Apis::Core::Hashable
3103
+
3104
+ #
3105
+ # Corresponds to the JSON property `amountInMicros`
3106
+ # @return [Float]
3107
+ attr_accessor :amount_in_micros
3108
+
3109
+ #
3110
+ # Corresponds to the JSON property `currencyCode`
3111
+ # @return [String]
3112
+ attr_accessor :currency_code
3113
+
3114
+ def initialize(**args)
3115
+ update!(**args)
3116
+ end
3117
+
3118
+ # Update properties of this object
3119
+ def update!(**args)
3120
+ @amount_in_micros = args[:amount_in_micros] if args.key?(:amount_in_micros)
3121
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
3122
+ end
3123
+ end
3124
+
3125
+ # The rental duration (for rental offers only).
3126
+ class RentalDuration
3127
+ include Google::Apis::Core::Hashable
3128
+
3129
+ #
3130
+ # Corresponds to the JSON property `count`
3131
+ # @return [Float]
3132
+ attr_accessor :count
3133
+
3134
+ #
3135
+ # Corresponds to the JSON property `unit`
3136
+ # @return [String]
3137
+ attr_accessor :unit
3138
+
3139
+ def initialize(**args)
3140
+ update!(**args)
3141
+ end
3142
+
3143
+ # Update properties of this object
3144
+ def update!(**args)
3145
+ @count = args[:count] if args.key?(:count)
3146
+ @unit = args[:unit] if args.key?(:unit)
3147
+ end
3148
+ end
3149
+
3150
+ # Offer retail (=discounted) price in Micros
3151
+ class RetailPrice
3152
+ include Google::Apis::Core::Hashable
3153
+
3154
+ #
3155
+ # Corresponds to the JSON property `amountInMicros`
3156
+ # @return [Float]
3157
+ attr_accessor :amount_in_micros
3158
+
3159
+ #
3160
+ # Corresponds to the JSON property `currencyCode`
3161
+ # @return [String]
3162
+ attr_accessor :currency_code
3163
+
3164
+ def initialize(**args)
3165
+ update!(**args)
3166
+ end
3167
+
3168
+ # Update properties of this object
3169
+ def update!(**args)
3170
+ @amount_in_micros = args[:amount_in_micros] if args.key?(:amount_in_micros)
3171
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
3172
+ end
3173
+ end
3174
+ end
3175
+
3176
+ # The actual selling price of the book. This is the same as the suggested retail
3177
+ # or list price unless there are offers or discounts on this volume. (In LITE
3178
+ # projection.)
3179
+ class RetailPrice
3180
+ include Google::Apis::Core::Hashable
3181
+
3182
+ # Amount in the currency listed below. (In LITE projection.)
3183
+ # Corresponds to the JSON property `amount`
3184
+ # @return [Float]
3185
+ attr_accessor :amount
3186
+
3187
+ # An ISO 4217, three-letter currency code. (In LITE projection.)
3188
+ # Corresponds to the JSON property `currencyCode`
3189
+ # @return [String]
3190
+ attr_accessor :currency_code
3191
+
3192
+ def initialize(**args)
3193
+ update!(**args)
3194
+ end
3195
+
3196
+ # Update properties of this object
3197
+ def update!(**args)
3198
+ @amount = args[:amount] if args.key?(:amount)
3199
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
3200
+ end
3201
+ end
3202
+ end
3203
+
3204
+ # Search result information related to this volume.
3205
+ class SearchInfo
3206
+ include Google::Apis::Core::Hashable
3207
+
3208
+ # A text snippet containing the search query.
3209
+ # Corresponds to the JSON property `textSnippet`
3210
+ # @return [String]
3211
+ attr_accessor :text_snippet
3212
+
3213
+ def initialize(**args)
3214
+ update!(**args)
3215
+ end
3216
+
3217
+ # Update properties of this object
3218
+ def update!(**args)
3219
+ @text_snippet = args[:text_snippet] if args.key?(:text_snippet)
3220
+ end
3221
+ end
3222
+
3223
+ # User specific information related to this volume. (e.g. page this user last
3224
+ # read or whether they purchased this book)
3225
+ class UserInfo
3226
+ include Google::Apis::Core::Hashable
3227
+
3228
+ # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time
3229
+ # format) Acquiring includes purchase, user upload, receiving family sharing,
3230
+ # etc.
3231
+ # Corresponds to the JSON property `acquiredTime`
3232
+ # @return [DateTime]
3233
+ attr_accessor :acquired_time
3234
+
3235
+ # How this volume was acquired.
3236
+ # Corresponds to the JSON property `acquisitionType`
3237
+ # @return [Fixnum]
3238
+ attr_accessor :acquisition_type
3239
+
3240
+ # Copy/Paste accounting information.
3241
+ # Corresponds to the JSON property `copy`
3242
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::Copy]
3243
+ attr_accessor :copy
3244
+
3245
+ # Whether this volume is purchased, sample, pd download etc.
3246
+ # Corresponds to the JSON property `entitlementType`
3247
+ # @return [Fixnum]
3248
+ attr_accessor :entitlement_type
3249
+
3250
+ # Information on the ability to share with the family.
3251
+ # Corresponds to the JSON property `familySharing`
3252
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::FamilySharing]
3253
+ attr_accessor :family_sharing
3254
+
3255
+ # Whether or not the user shared this volume with the family.
3256
+ # Corresponds to the JSON property `isFamilySharedFromUser`
3257
+ # @return [Boolean]
3258
+ attr_accessor :is_family_shared_from_user
3259
+ alias_method :is_family_shared_from_user?, :is_family_shared_from_user
3260
+
3261
+ # Whether or not the user received this volume through family sharing.
3262
+ # Corresponds to the JSON property `isFamilySharedToUser`
3263
+ # @return [Boolean]
3264
+ attr_accessor :is_family_shared_to_user
3265
+ alias_method :is_family_shared_to_user?, :is_family_shared_to_user
3266
+
3267
+ # Deprecated: Replaced by familySharing.
3268
+ # Corresponds to the JSON property `isFamilySharingAllowed`
3269
+ # @return [Boolean]
3270
+ attr_accessor :is_family_sharing_allowed
3271
+ alias_method :is_family_sharing_allowed?, :is_family_sharing_allowed
3272
+
3273
+ # Deprecated: Replaced by familySharing.
3274
+ # Corresponds to the JSON property `isFamilySharingDisabledByFop`
3275
+ # @return [Boolean]
3276
+ attr_accessor :is_family_sharing_disabled_by_fop
3277
+ alias_method :is_family_sharing_disabled_by_fop?, :is_family_sharing_disabled_by_fop
3278
+
3279
+ # Whether or not this volume is currently in "my books."
3280
+ # Corresponds to the JSON property `isInMyBooks`
3281
+ # @return [Boolean]
3282
+ attr_accessor :is_in_my_books
3283
+ alias_method :is_in_my_books?, :is_in_my_books
3284
+
3285
+ # Whether or not this volume was pre-ordered by the authenticated user making
3286
+ # the request. (In LITE projection.)
3287
+ # Corresponds to the JSON property `isPreordered`
3288
+ # @return [Boolean]
3289
+ attr_accessor :is_preordered
3290
+ alias_method :is_preordered?, :is_preordered
3291
+
3292
+ # Whether or not this volume was purchased by the authenticated user making the
3293
+ # request. (In LITE projection.)
3294
+ # Corresponds to the JSON property `isPurchased`
3295
+ # @return [Boolean]
3296
+ attr_accessor :is_purchased
3297
+ alias_method :is_purchased?, :is_purchased
3298
+
3299
+ # Whether or not this volume was user uploaded.
3300
+ # Corresponds to the JSON property `isUploaded`
3301
+ # @return [Boolean]
3302
+ attr_accessor :is_uploaded
3303
+ alias_method :is_uploaded?, :is_uploaded
3304
+
3305
+ # The user's current reading position in the volume, if one is available. (In
3306
+ # LITE projection.)
3307
+ # Corresponds to the JSON property `readingPosition`
3308
+ # @return [Google::Apis::BooksV1::ReadingPosition]
3309
+ attr_accessor :reading_position
3310
+
3311
+ # Period during this book is/was a valid rental.
3312
+ # Corresponds to the JSON property `rentalPeriod`
3313
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::RentalPeriod]
3314
+ attr_accessor :rental_period
3315
+
3316
+ # Whether this book is an active or an expired rental.
3317
+ # Corresponds to the JSON property `rentalState`
3318
+ # @return [String]
3319
+ attr_accessor :rental_state
3320
+
3321
+ # This user's review of this volume, if one exists.
3322
+ # Corresponds to the JSON property `review`
3323
+ # @return [Google::Apis::BooksV1::Review]
3324
+ attr_accessor :review
3325
+
3326
+ # Timestamp when this volume was last modified by a user action, such as a
3327
+ # reading position update, volume purchase or writing a review. (RFC 3339 UTC
3328
+ # date-time format).
3329
+ # Corresponds to the JSON property `updated`
3330
+ # @return [DateTime]
3331
+ attr_accessor :updated
3332
+
3333
+ #
3334
+ # Corresponds to the JSON property `userUploadedVolumeInfo`
3335
+ # @return [Google::Apis::BooksV1::Volume::UserInfo::UserUploadedVolumeInfo]
3336
+ attr_accessor :user_uploaded_volume_info
3337
+
3338
+ def initialize(**args)
3339
+ update!(**args)
3340
+ end
3341
+
3342
+ # Update properties of this object
3343
+ def update!(**args)
3344
+ @acquired_time = args[:acquired_time] if args.key?(:acquired_time)
3345
+ @acquisition_type = args[:acquisition_type] if args.key?(:acquisition_type)
3346
+ @copy = args[:copy] if args.key?(:copy)
3347
+ @entitlement_type = args[:entitlement_type] if args.key?(:entitlement_type)
3348
+ @family_sharing = args[:family_sharing] if args.key?(:family_sharing)
3349
+ @is_family_shared_from_user = args[:is_family_shared_from_user] if args.key?(:is_family_shared_from_user)
3350
+ @is_family_shared_to_user = args[:is_family_shared_to_user] if args.key?(:is_family_shared_to_user)
3351
+ @is_family_sharing_allowed = args[:is_family_sharing_allowed] if args.key?(:is_family_sharing_allowed)
3352
+ @is_family_sharing_disabled_by_fop = args[:is_family_sharing_disabled_by_fop] if args.key?(:is_family_sharing_disabled_by_fop)
3353
+ @is_in_my_books = args[:is_in_my_books] if args.key?(:is_in_my_books)
3354
+ @is_preordered = args[:is_preordered] if args.key?(:is_preordered)
3355
+ @is_purchased = args[:is_purchased] if args.key?(:is_purchased)
3356
+ @is_uploaded = args[:is_uploaded] if args.key?(:is_uploaded)
3357
+ @reading_position = args[:reading_position] if args.key?(:reading_position)
3358
+ @rental_period = args[:rental_period] if args.key?(:rental_period)
3359
+ @rental_state = args[:rental_state] if args.key?(:rental_state)
3360
+ @review = args[:review] if args.key?(:review)
3361
+ @updated = args[:updated] if args.key?(:updated)
3362
+ @user_uploaded_volume_info = args[:user_uploaded_volume_info] if args.key?(:user_uploaded_volume_info)
3363
+ end
3364
+
3365
+ # Copy/Paste accounting information.
3366
+ class Copy
3367
+ include Google::Apis::Core::Hashable
3368
+
3369
+ #
3370
+ # Corresponds to the JSON property `allowedCharacterCount`
3371
+ # @return [Fixnum]
3372
+ attr_accessor :allowed_character_count
3373
+
3374
+ #
3375
+ # Corresponds to the JSON property `limitType`
3376
+ # @return [String]
3377
+ attr_accessor :limit_type
3378
+
3379
+ #
3380
+ # Corresponds to the JSON property `remainingCharacterCount`
3381
+ # @return [Fixnum]
3382
+ attr_accessor :remaining_character_count
3383
+
3384
+ #
3385
+ # Corresponds to the JSON property `updated`
3386
+ # @return [DateTime]
3387
+ attr_accessor :updated
3388
+
3389
+ def initialize(**args)
3390
+ update!(**args)
3391
+ end
3392
+
3393
+ # Update properties of this object
3394
+ def update!(**args)
3395
+ @allowed_character_count = args[:allowed_character_count] if args.key?(:allowed_character_count)
3396
+ @limit_type = args[:limit_type] if args.key?(:limit_type)
3397
+ @remaining_character_count = args[:remaining_character_count] if args.key?(:remaining_character_count)
3398
+ @updated = args[:updated] if args.key?(:updated)
3399
+ end
3400
+ end
3401
+
3402
+ # Information on the ability to share with the family.
3403
+ class FamilySharing
3404
+ include Google::Apis::Core::Hashable
3405
+
3406
+ # The role of the user in the family.
3407
+ # Corresponds to the JSON property `familyRole`
3408
+ # @return [String]
3409
+ attr_accessor :family_role
3410
+
3411
+ # Whether or not this volume can be shared with the family by the user. This
3412
+ # includes sharing eligibility of both the volume and the user. If the value is
3413
+ # true, the user can initiate a family sharing action.
3414
+ # Corresponds to the JSON property `isSharingAllowed`
3415
+ # @return [Boolean]
3416
+ attr_accessor :is_sharing_allowed
3417
+ alias_method :is_sharing_allowed?, :is_sharing_allowed
3418
+
3419
+ # Whether or not sharing this volume is temporarily disabled due to issues with
3420
+ # the Family Wallet.
3421
+ # Corresponds to the JSON property `isSharingDisabledByFop`
3422
+ # @return [Boolean]
3423
+ attr_accessor :is_sharing_disabled_by_fop
3424
+ alias_method :is_sharing_disabled_by_fop?, :is_sharing_disabled_by_fop
3425
+
3426
+ def initialize(**args)
3427
+ update!(**args)
3428
+ end
3429
+
3430
+ # Update properties of this object
3431
+ def update!(**args)
3432
+ @family_role = args[:family_role] if args.key?(:family_role)
3433
+ @is_sharing_allowed = args[:is_sharing_allowed] if args.key?(:is_sharing_allowed)
3434
+ @is_sharing_disabled_by_fop = args[:is_sharing_disabled_by_fop] if args.key?(:is_sharing_disabled_by_fop)
3435
+ end
3436
+ end
3437
+
3438
+ # Period during this book is/was a valid rental.
3439
+ class RentalPeriod
3440
+ include Google::Apis::Core::Hashable
3441
+
3442
+ #
3443
+ # Corresponds to the JSON property `endUtcSec`
3444
+ # @return [String]
3445
+ attr_accessor :end_utc_sec
3446
+
3447
+ #
3448
+ # Corresponds to the JSON property `startUtcSec`
3449
+ # @return [String]
3450
+ attr_accessor :start_utc_sec
3451
+
3452
+ def initialize(**args)
3453
+ update!(**args)
3454
+ end
3455
+
3456
+ # Update properties of this object
3457
+ def update!(**args)
3458
+ @end_utc_sec = args[:end_utc_sec] if args.key?(:end_utc_sec)
3459
+ @start_utc_sec = args[:start_utc_sec] if args.key?(:start_utc_sec)
3460
+ end
3461
+ end
3462
+
3463
+ #
3464
+ class UserUploadedVolumeInfo
3465
+ include Google::Apis::Core::Hashable
3466
+
3467
+ #
3468
+ # Corresponds to the JSON property `processingState`
3469
+ # @return [String]
3470
+ attr_accessor :processing_state
3471
+
3472
+ def initialize(**args)
3473
+ update!(**args)
3474
+ end
3475
+
3476
+ # Update properties of this object
3477
+ def update!(**args)
3478
+ @processing_state = args[:processing_state] if args.key?(:processing_state)
3479
+ end
3480
+ end
3481
+ end
3482
+
3483
+ # General volume information.
3484
+ class VolumeInfo
3485
+ include Google::Apis::Core::Hashable
3486
+
3487
+ # Whether anonymous logging should be allowed.
3488
+ # Corresponds to the JSON property `allowAnonLogging`
3489
+ # @return [Boolean]
3490
+ attr_accessor :allow_anon_logging
3491
+ alias_method :allow_anon_logging?, :allow_anon_logging
3492
+
3493
+ # The names of the authors and/or editors for this volume. (In LITE projection)
3494
+ # Corresponds to the JSON property `authors`
3495
+ # @return [Array<String>]
3496
+ attr_accessor :authors
3497
+
3498
+ # The mean review rating for this volume. (min = 1.0, max = 5.0)
3499
+ # Corresponds to the JSON property `averageRating`
3500
+ # @return [Float]
3501
+ attr_accessor :average_rating
3502
+
3503
+ # Canonical URL for a volume. (In LITE projection.)
3504
+ # Corresponds to the JSON property `canonicalVolumeLink`
3505
+ # @return [String]
3506
+ attr_accessor :canonical_volume_link
3507
+
3508
+ # A list of subject categories, such as "Fiction", "Suspense", etc.
3509
+ # Corresponds to the JSON property `categories`
3510
+ # @return [Array<String>]
3511
+ attr_accessor :categories
3512
+
3513
+ # An identifier for the version of the volume content (text & images). (In LITE
3514
+ # projection)
3515
+ # Corresponds to the JSON property `contentVersion`
3516
+ # @return [String]
3517
+ attr_accessor :content_version
3518
+
3519
+ # A synopsis of the volume. The text of the description is formatted in HTML and
3520
+ # includes simple formatting elements, such as b, i, and br tags. (In LITE
3521
+ # projection.)
3522
+ # Corresponds to the JSON property `description`
3523
+ # @return [String]
3524
+ attr_accessor :description
3525
+
3526
+ # Physical dimensions of this volume.
3527
+ # Corresponds to the JSON property `dimensions`
3528
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo::Dimensions]
3529
+ attr_accessor :dimensions
3530
+
3531
+ # A list of image links for all the sizes that are available. (In LITE
3532
+ # projection.)
3533
+ # Corresponds to the JSON property `imageLinks`
3534
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo::ImageLinks]
3535
+ attr_accessor :image_links
3536
+
3537
+ # Industry standard identifiers for this volume.
3538
+ # Corresponds to the JSON property `industryIdentifiers`
3539
+ # @return [Array<Google::Apis::BooksV1::Volume::VolumeInfo::IndustryIdentifier>]
3540
+ attr_accessor :industry_identifiers
3541
+
3542
+ # URL to view information about this volume on the Google Books site. (In LITE
3543
+ # projection)
3544
+ # Corresponds to the JSON property `infoLink`
3545
+ # @return [String]
3546
+ attr_accessor :info_link
3547
+
3548
+ # Best language for this volume (based on content). It is the two-letter ISO 639-
3549
+ # 1 code such as 'fr', 'en', etc.
3550
+ # Corresponds to the JSON property `language`
3551
+ # @return [String]
3552
+ attr_accessor :language
3553
+
3554
+ # The main category to which this volume belongs. It will be the category from
3555
+ # the categories list returned below that has the highest weight.
3556
+ # Corresponds to the JSON property `mainCategory`
3557
+ # @return [String]
3558
+ attr_accessor :main_category
3559
+
3560
+ #
3561
+ # Corresponds to the JSON property `maturityRating`
3562
+ # @return [String]
3563
+ attr_accessor :maturity_rating
3564
+
3565
+ # Total number of pages as per publisher metadata.
3566
+ # Corresponds to the JSON property `pageCount`
3567
+ # @return [Fixnum]
3568
+ attr_accessor :page_count
3569
+
3570
+ # A top-level summary of the panelization info in this volume.
3571
+ # Corresponds to the JSON property `panelizationSummary`
3572
+ # @return [Google::Apis::BooksV1::Volume::VolumeInfo::PanelizationSummary]
3573
+ attr_accessor :panelization_summary
3574
+
3575
+ # URL to preview this volume on the Google Books site.
3576
+ # Corresponds to the JSON property `previewLink`
3577
+ # @return [String]
3578
+ attr_accessor :preview_link
3579
+
3580
+ # Type of publication of this volume. Possible values are BOOK or MAGAZINE.
3581
+ # Corresponds to the JSON property `printType`
3582
+ # @return [String]
3583
+ attr_accessor :print_type
3584
+
3585
+ # Total number of printed pages in generated pdf representation.
3586
+ # Corresponds to the JSON property `printedPageCount`
3587
+ # @return [Fixnum]
3588
+ attr_accessor :printed_page_count
3589
+
3590
+ # Date of publication. (In LITE projection.)
3591
+ # Corresponds to the JSON property `publishedDate`
3592
+ # @return [String]
3593
+ attr_accessor :published_date
3594
+
3595
+ # Publisher of this volume. (In LITE projection.)
3596
+ # Corresponds to the JSON property `publisher`
3597
+ # @return [String]
3598
+ attr_accessor :publisher
3599
+
3600
+ # The number of review ratings for this volume.
3601
+ # Corresponds to the JSON property `ratingsCount`
3602
+ # @return [Fixnum]
3603
+ attr_accessor :ratings_count
3604
+
3605
+ # The reading modes available for this volume.
3606
+ # Corresponds to the JSON property `readingModes`
3607
+ # @return [Object]
3608
+ attr_accessor :reading_modes
3609
+
3610
+ # Total number of sample pages as per publisher metadata.
3611
+ # Corresponds to the JSON property `samplePageCount`
3612
+ # @return [Fixnum]
3613
+ attr_accessor :sample_page_count
3614
+
3615
+ #
3616
+ # Corresponds to the JSON property `seriesInfo`
3617
+ # @return [Google::Apis::BooksV1::Volumeseriesinfo]
3618
+ attr_accessor :series_info
3619
+
3620
+ # Volume subtitle. (In LITE projection.)
3621
+ # Corresponds to the JSON property `subtitle`
3622
+ # @return [String]
3623
+ attr_accessor :subtitle
3624
+
3625
+ # Volume title. (In LITE projection.)
3626
+ # Corresponds to the JSON property `title`
3627
+ # @return [String]
3628
+ attr_accessor :title
3629
+
3630
+ def initialize(**args)
3631
+ update!(**args)
3632
+ end
3633
+
3634
+ # Update properties of this object
3635
+ def update!(**args)
3636
+ @allow_anon_logging = args[:allow_anon_logging] if args.key?(:allow_anon_logging)
3637
+ @authors = args[:authors] if args.key?(:authors)
3638
+ @average_rating = args[:average_rating] if args.key?(:average_rating)
3639
+ @canonical_volume_link = args[:canonical_volume_link] if args.key?(:canonical_volume_link)
3640
+ @categories = args[:categories] if args.key?(:categories)
3641
+ @content_version = args[:content_version] if args.key?(:content_version)
3642
+ @description = args[:description] if args.key?(:description)
3643
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
3644
+ @image_links = args[:image_links] if args.key?(:image_links)
3645
+ @industry_identifiers = args[:industry_identifiers] if args.key?(:industry_identifiers)
3646
+ @info_link = args[:info_link] if args.key?(:info_link)
3647
+ @language = args[:language] if args.key?(:language)
3648
+ @main_category = args[:main_category] if args.key?(:main_category)
3649
+ @maturity_rating = args[:maturity_rating] if args.key?(:maturity_rating)
3650
+ @page_count = args[:page_count] if args.key?(:page_count)
3651
+ @panelization_summary = args[:panelization_summary] if args.key?(:panelization_summary)
3652
+ @preview_link = args[:preview_link] if args.key?(:preview_link)
3653
+ @print_type = args[:print_type] if args.key?(:print_type)
3654
+ @printed_page_count = args[:printed_page_count] if args.key?(:printed_page_count)
3655
+ @published_date = args[:published_date] if args.key?(:published_date)
3656
+ @publisher = args[:publisher] if args.key?(:publisher)
3657
+ @ratings_count = args[:ratings_count] if args.key?(:ratings_count)
3658
+ @reading_modes = args[:reading_modes] if args.key?(:reading_modes)
3659
+ @sample_page_count = args[:sample_page_count] if args.key?(:sample_page_count)
3660
+ @series_info = args[:series_info] if args.key?(:series_info)
3661
+ @subtitle = args[:subtitle] if args.key?(:subtitle)
3662
+ @title = args[:title] if args.key?(:title)
3663
+ end
3664
+
3665
+ # Physical dimensions of this volume.
3666
+ class Dimensions
3667
+ include Google::Apis::Core::Hashable
3668
+
3669
+ # Height or length of this volume (in cm).
3670
+ # Corresponds to the JSON property `height`
3671
+ # @return [String]
3672
+ attr_accessor :height
3673
+
3674
+ # Thickness of this volume (in cm).
3675
+ # Corresponds to the JSON property `thickness`
3676
+ # @return [String]
3677
+ attr_accessor :thickness
3678
+
3679
+ # Width of this volume (in cm).
3680
+ # Corresponds to the JSON property `width`
3681
+ # @return [String]
3682
+ attr_accessor :width
3683
+
3684
+ def initialize(**args)
3685
+ update!(**args)
3686
+ end
3687
+
3688
+ # Update properties of this object
3689
+ def update!(**args)
3690
+ @height = args[:height] if args.key?(:height)
3691
+ @thickness = args[:thickness] if args.key?(:thickness)
3692
+ @width = args[:width] if args.key?(:width)
3693
+ end
3694
+ end
3695
+
3696
+ # A list of image links for all the sizes that are available. (In LITE
3697
+ # projection.)
3698
+ class ImageLinks
3699
+ include Google::Apis::Core::Hashable
3700
+
3701
+ # Image link for extra large size (width of ~1280 pixels). (In LITE projection)
3702
+ # Corresponds to the JSON property `extraLarge`
3703
+ # @return [String]
3704
+ attr_accessor :extra_large
3705
+
3706
+ # Image link for large size (width of ~800 pixels). (In LITE projection)
3707
+ # Corresponds to the JSON property `large`
3708
+ # @return [String]
3709
+ attr_accessor :large
3710
+
3711
+ # Image link for medium size (width of ~575 pixels). (In LITE projection)
3712
+ # Corresponds to the JSON property `medium`
3713
+ # @return [String]
3714
+ attr_accessor :medium
3715
+
3716
+ # Image link for small size (width of ~300 pixels). (In LITE projection)
3717
+ # Corresponds to the JSON property `small`
3718
+ # @return [String]
3719
+ attr_accessor :small
3720
+
3721
+ # Image link for small thumbnail size (width of ~80 pixels). (In LITE projection)
3722
+ # Corresponds to the JSON property `smallThumbnail`
3723
+ # @return [String]
3724
+ attr_accessor :small_thumbnail
3725
+
3726
+ # Image link for thumbnail size (width of ~128 pixels). (In LITE projection)
3727
+ # Corresponds to the JSON property `thumbnail`
3728
+ # @return [String]
3729
+ attr_accessor :thumbnail
3730
+
3731
+ def initialize(**args)
3732
+ update!(**args)
3733
+ end
3734
+
3735
+ # Update properties of this object
3736
+ def update!(**args)
3737
+ @extra_large = args[:extra_large] if args.key?(:extra_large)
3738
+ @large = args[:large] if args.key?(:large)
3739
+ @medium = args[:medium] if args.key?(:medium)
3740
+ @small = args[:small] if args.key?(:small)
3741
+ @small_thumbnail = args[:small_thumbnail] if args.key?(:small_thumbnail)
3742
+ @thumbnail = args[:thumbnail] if args.key?(:thumbnail)
3743
+ end
3744
+ end
3745
+
3746
+ #
3747
+ class IndustryIdentifier
3748
+ include Google::Apis::Core::Hashable
3749
+
3750
+ # Industry specific volume identifier.
3751
+ # Corresponds to the JSON property `identifier`
3752
+ # @return [String]
3753
+ attr_accessor :identifier
3754
+
3755
+ # Identifier type. Possible values are ISBN_10, ISBN_13, ISSN and OTHER.
3756
+ # Corresponds to the JSON property `type`
3757
+ # @return [String]
3758
+ attr_accessor :type
3759
+
3760
+ def initialize(**args)
3761
+ update!(**args)
3762
+ end
3763
+
3764
+ # Update properties of this object
3765
+ def update!(**args)
3766
+ @identifier = args[:identifier] if args.key?(:identifier)
3767
+ @type = args[:type] if args.key?(:type)
3768
+ end
3769
+ end
3770
+
3771
+ # A top-level summary of the panelization info in this volume.
3772
+ class PanelizationSummary
3773
+ include Google::Apis::Core::Hashable
3774
+
3775
+ #
3776
+ # Corresponds to the JSON property `containsEpubBubbles`
3777
+ # @return [Boolean]
3778
+ attr_accessor :contains_epub_bubbles
3779
+ alias_method :contains_epub_bubbles?, :contains_epub_bubbles
3780
+
3781
+ #
3782
+ # Corresponds to the JSON property `containsImageBubbles`
3783
+ # @return [Boolean]
3784
+ attr_accessor :contains_image_bubbles
3785
+ alias_method :contains_image_bubbles?, :contains_image_bubbles
3786
+
3787
+ #
3788
+ # Corresponds to the JSON property `epubBubbleVersion`
3789
+ # @return [String]
3790
+ attr_accessor :epub_bubble_version
3791
+
3792
+ #
3793
+ # Corresponds to the JSON property `imageBubbleVersion`
3794
+ # @return [String]
3795
+ attr_accessor :image_bubble_version
3796
+
3797
+ def initialize(**args)
3798
+ update!(**args)
3799
+ end
3800
+
3801
+ # Update properties of this object
3802
+ def update!(**args)
3803
+ @contains_epub_bubbles = args[:contains_epub_bubbles] if args.key?(:contains_epub_bubbles)
3804
+ @contains_image_bubbles = args[:contains_image_bubbles] if args.key?(:contains_image_bubbles)
3805
+ @epub_bubble_version = args[:epub_bubble_version] if args.key?(:epub_bubble_version)
3806
+ @image_bubble_version = args[:image_bubble_version] if args.key?(:image_bubble_version)
3807
+ end
3808
+ end
3809
+ end
3810
+ end
3811
+
3812
+ #
3813
+ class Volume2
3814
+ include Google::Apis::Core::Hashable
3815
+
3816
+ # A list of volumes.
3817
+ # Corresponds to the JSON property `items`
3818
+ # @return [Array<Google::Apis::BooksV1::Volume>]
3819
+ attr_accessor :items
3820
+
3821
+ # Resource type.
3822
+ # Corresponds to the JSON property `kind`
3823
+ # @return [String]
3824
+ attr_accessor :kind
3825
+
3826
+ #
3827
+ # Corresponds to the JSON property `nextPageToken`
3828
+ # @return [String]
3829
+ attr_accessor :next_page_token
3830
+
3831
+ def initialize(**args)
3832
+ update!(**args)
3833
+ end
3834
+
3835
+ # Update properties of this object
3836
+ def update!(**args)
3837
+ @items = args[:items] if args.key?(:items)
3838
+ @kind = args[:kind] if args.key?(:kind)
3839
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3840
+ end
3841
+ end
3842
+
3843
+ #
3844
+ class VolumeAnnotation
3845
+ include Google::Apis::Core::Hashable
3846
+
3847
+ # The annotation data id for this volume annotation.
3848
+ # Corresponds to the JSON property `annotationDataId`
3849
+ # @return [String]
3850
+ attr_accessor :annotation_data_id
3851
+
3852
+ # Link to get data for this annotation.
3853
+ # Corresponds to the JSON property `annotationDataLink`
3854
+ # @return [String]
3855
+ attr_accessor :annotation_data_link
3856
+
3857
+ # The type of annotation this is.
3858
+ # Corresponds to the JSON property `annotationType`
3859
+ # @return [String]
3860
+ attr_accessor :annotation_type
3861
+
3862
+ # The content ranges to identify the selected text.
3863
+ # Corresponds to the JSON property `contentRanges`
3864
+ # @return [Google::Apis::BooksV1::VolumeAnnotation::ContentRanges]
3865
+ attr_accessor :content_ranges
3866
+
3867
+ # Data for this annotation.
3868
+ # Corresponds to the JSON property `data`
3869
+ # @return [String]
3870
+ attr_accessor :data
3871
+
3872
+ # Indicates that this annotation is deleted.
3873
+ # Corresponds to the JSON property `deleted`
3874
+ # @return [Boolean]
3875
+ attr_accessor :deleted
3876
+ alias_method :deleted?, :deleted
3877
+
3878
+ # Unique id of this volume annotation.
3879
+ # Corresponds to the JSON property `id`
3880
+ # @return [String]
3881
+ attr_accessor :id
3882
+
3883
+ # Resource Type
3884
+ # Corresponds to the JSON property `kind`
3885
+ # @return [String]
3886
+ attr_accessor :kind
3887
+
3888
+ # The Layer this annotation is for.
3889
+ # Corresponds to the JSON property `layerId`
3890
+ # @return [String]
3891
+ attr_accessor :layer_id
3892
+
3893
+ # Pages the annotation spans.
3894
+ # Corresponds to the JSON property `pageIds`
3895
+ # @return [Array<String>]
3896
+ attr_accessor :page_ids
3897
+
3898
+ # Excerpt from the volume.
3899
+ # Corresponds to the JSON property `selectedText`
3900
+ # @return [String]
3901
+ attr_accessor :selected_text
3902
+
3903
+ # URL to this resource.
3904
+ # Corresponds to the JSON property `selfLink`
3905
+ # @return [String]
3906
+ attr_accessor :self_link
3907
+
3908
+ # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-
3909
+ # time format).
3910
+ # Corresponds to the JSON property `updated`
3911
+ # @return [DateTime]
3912
+ attr_accessor :updated
3913
+
3914
+ # The Volume this annotation is for.
3915
+ # Corresponds to the JSON property `volumeId`
3916
+ # @return [String]
3917
+ attr_accessor :volume_id
3918
+
3919
+ def initialize(**args)
3920
+ update!(**args)
3921
+ end
3922
+
3923
+ # Update properties of this object
3924
+ def update!(**args)
3925
+ @annotation_data_id = args[:annotation_data_id] if args.key?(:annotation_data_id)
3926
+ @annotation_data_link = args[:annotation_data_link] if args.key?(:annotation_data_link)
3927
+ @annotation_type = args[:annotation_type] if args.key?(:annotation_type)
3928
+ @content_ranges = args[:content_ranges] if args.key?(:content_ranges)
3929
+ @data = args[:data] if args.key?(:data)
3930
+ @deleted = args[:deleted] if args.key?(:deleted)
3931
+ @id = args[:id] if args.key?(:id)
3932
+ @kind = args[:kind] if args.key?(:kind)
3933
+ @layer_id = args[:layer_id] if args.key?(:layer_id)
3934
+ @page_ids = args[:page_ids] if args.key?(:page_ids)
3935
+ @selected_text = args[:selected_text] if args.key?(:selected_text)
3936
+ @self_link = args[:self_link] if args.key?(:self_link)
3937
+ @updated = args[:updated] if args.key?(:updated)
3938
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
3939
+ end
3940
+
3941
+ # The content ranges to identify the selected text.
3942
+ class ContentRanges
3943
+ include Google::Apis::Core::Hashable
3944
+
3945
+ # Range in CFI format for this annotation for version above.
3946
+ # Corresponds to the JSON property `cfiRange`
3947
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
3948
+ attr_accessor :cfi_range
3949
+
3950
+ # Content version applicable to ranges below.
3951
+ # Corresponds to the JSON property `contentVersion`
3952
+ # @return [String]
3953
+ attr_accessor :content_version
3954
+
3955
+ # Range in GB image format for this annotation for version above.
3956
+ # Corresponds to the JSON property `gbImageRange`
3957
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
3958
+ attr_accessor :gb_image_range
3959
+
3960
+ # Range in GB text format for this annotation for version above.
3961
+ # Corresponds to the JSON property `gbTextRange`
3962
+ # @return [Google::Apis::BooksV1::AnnotatinsRange]
3963
+ attr_accessor :gb_text_range
3964
+
3965
+ def initialize(**args)
3966
+ update!(**args)
3967
+ end
3968
+
3969
+ # Update properties of this object
3970
+ def update!(**args)
3971
+ @cfi_range = args[:cfi_range] if args.key?(:cfi_range)
3972
+ @content_version = args[:content_version] if args.key?(:content_version)
3973
+ @gb_image_range = args[:gb_image_range] if args.key?(:gb_image_range)
3974
+ @gb_text_range = args[:gb_text_range] if args.key?(:gb_text_range)
3975
+ end
3976
+ end
3977
+ end
3978
+
3979
+ #
3980
+ class Volumeannotations
3981
+ include Google::Apis::Core::Hashable
3982
+
3983
+ # A list of volume annotations.
3984
+ # Corresponds to the JSON property `items`
3985
+ # @return [Array<Google::Apis::BooksV1::VolumeAnnotation>]
3986
+ attr_accessor :items
3987
+
3988
+ # Resource type
3989
+ # Corresponds to the JSON property `kind`
3990
+ # @return [String]
3991
+ attr_accessor :kind
3992
+
3993
+ # Token to pass in for pagination for the next page. This will not be present if
3994
+ # this request does not have more results.
3995
+ # Corresponds to the JSON property `nextPageToken`
3996
+ # @return [String]
3997
+ attr_accessor :next_page_token
3998
+
3999
+ # The total number of volume annotations found.
4000
+ # Corresponds to the JSON property `totalItems`
4001
+ # @return [Fixnum]
4002
+ attr_accessor :total_items
4003
+
4004
+ # The version string for all of the volume annotations in this layer (not just
4005
+ # the ones in this response). Note: the version string doesn't apply to the
4006
+ # annotation data, just the information in this response (e.g. the location of
4007
+ # annotations in the book).
4008
+ # Corresponds to the JSON property `version`
4009
+ # @return [String]
4010
+ attr_accessor :version
4011
+
4012
+ def initialize(**args)
4013
+ update!(**args)
4014
+ end
4015
+
4016
+ # Update properties of this object
4017
+ def update!(**args)
4018
+ @items = args[:items] if args.key?(:items)
4019
+ @kind = args[:kind] if args.key?(:kind)
4020
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4021
+ @total_items = args[:total_items] if args.key?(:total_items)
4022
+ @version = args[:version] if args.key?(:version)
4023
+ end
4024
+ end
4025
+
4026
+ #
4027
+ class Volumes
4028
+ include Google::Apis::Core::Hashable
4029
+
4030
+ # A list of volumes.
4031
+ # Corresponds to the JSON property `items`
4032
+ # @return [Array<Google::Apis::BooksV1::Volume>]
4033
+ attr_accessor :items
4034
+
4035
+ # Resource type.
4036
+ # Corresponds to the JSON property `kind`
4037
+ # @return [String]
4038
+ attr_accessor :kind
4039
+
4040
+ # Total number of volumes found. This might be greater than the number of
4041
+ # volumes returned in this response if results have been paginated.
4042
+ # Corresponds to the JSON property `totalItems`
4043
+ # @return [Fixnum]
4044
+ attr_accessor :total_items
4045
+
4046
+ def initialize(**args)
4047
+ update!(**args)
4048
+ end
4049
+
4050
+ # Update properties of this object
4051
+ def update!(**args)
4052
+ @items = args[:items] if args.key?(:items)
4053
+ @kind = args[:kind] if args.key?(:kind)
4054
+ @total_items = args[:total_items] if args.key?(:total_items)
4055
+ end
4056
+ end
4057
+
4058
+ #
4059
+ class Volumeseriesinfo
4060
+ include Google::Apis::Core::Hashable
4061
+
4062
+ # The display number string. This should be used only for display purposes and
4063
+ # the actual sequence should be inferred from the below orderNumber.
4064
+ # Corresponds to the JSON property `bookDisplayNumber`
4065
+ # @return [String]
4066
+ attr_accessor :book_display_number
4067
+
4068
+ # Resource type.
4069
+ # Corresponds to the JSON property `kind`
4070
+ # @return [String]
4071
+ attr_accessor :kind
4072
+
4073
+ # Short book title in the context of the series.
4074
+ # Corresponds to the JSON property `shortSeriesBookTitle`
4075
+ # @return [String]
4076
+ attr_accessor :short_series_book_title
4077
+
4078
+ #
4079
+ # Corresponds to the JSON property `volumeSeries`
4080
+ # @return [Array<Google::Apis::BooksV1::Volumeseriesinfo::VolumeSeries>]
4081
+ attr_accessor :volume_series
4082
+
4083
+ def initialize(**args)
4084
+ update!(**args)
4085
+ end
4086
+
4087
+ # Update properties of this object
4088
+ def update!(**args)
4089
+ @book_display_number = args[:book_display_number] if args.key?(:book_display_number)
4090
+ @kind = args[:kind] if args.key?(:kind)
4091
+ @short_series_book_title = args[:short_series_book_title] if args.key?(:short_series_book_title)
4092
+ @volume_series = args[:volume_series] if args.key?(:volume_series)
4093
+ end
4094
+
4095
+ #
4096
+ class VolumeSeries
4097
+ include Google::Apis::Core::Hashable
4098
+
4099
+ # List of issues. Applicable only for Collection Edition and Omnibus.
4100
+ # Corresponds to the JSON property `issue`
4101
+ # @return [Array<Google::Apis::BooksV1::Volumeseriesinfo::VolumeSeries::Issue>]
4102
+ attr_accessor :issue
4103
+
4104
+ # The book order number in the series.
4105
+ # Corresponds to the JSON property `orderNumber`
4106
+ # @return [Fixnum]
4107
+ attr_accessor :order_number
4108
+
4109
+ # The book type in the context of series. Examples - Single Issue, Collection
4110
+ # Edition, etc.
4111
+ # Corresponds to the JSON property `seriesBookType`
4112
+ # @return [String]
4113
+ attr_accessor :series_book_type
4114
+
4115
+ # The series id.
4116
+ # Corresponds to the JSON property `seriesId`
4117
+ # @return [String]
4118
+ attr_accessor :series_id
4119
+
4120
+ def initialize(**args)
4121
+ update!(**args)
4122
+ end
4123
+
4124
+ # Update properties of this object
4125
+ def update!(**args)
4126
+ @issue = args[:issue] if args.key?(:issue)
4127
+ @order_number = args[:order_number] if args.key?(:order_number)
4128
+ @series_book_type = args[:series_book_type] if args.key?(:series_book_type)
4129
+ @series_id = args[:series_id] if args.key?(:series_id)
4130
+ end
4131
+
4132
+ #
4133
+ class Issue
4134
+ include Google::Apis::Core::Hashable
4135
+
4136
+ #
4137
+ # Corresponds to the JSON property `issueDisplayNumber`
4138
+ # @return [String]
4139
+ attr_accessor :issue_display_number
4140
+
4141
+ #
4142
+ # Corresponds to the JSON property `issueOrderNumber`
4143
+ # @return [Fixnum]
4144
+ attr_accessor :issue_order_number
4145
+
4146
+ def initialize(**args)
4147
+ update!(**args)
4148
+ end
4149
+
4150
+ # Update properties of this object
4151
+ def update!(**args)
4152
+ @issue_display_number = args[:issue_display_number] if args.key?(:issue_display_number)
4153
+ @issue_order_number = args[:issue_order_number] if args.key?(:issue_order_number)
4154
+ end
4155
+ end
4156
+ end
4157
+ end
4158
+ end
4159
+ end
4160
+ end