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,59 @@
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/drive_v2/service.rb'
16
+ require 'google/apis/drive_v2/classes.rb'
17
+ require 'google/apis/drive_v2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Drive API
22
+ #
23
+ # Manages files in Drive including uploading, downloading, searching, detecting
24
+ # changes, and updating sharing permissions.
25
+ #
26
+ # @see https://developers.google.com/drive/
27
+ module DriveV2
28
+ VERSION = 'V2'
29
+ REVISION = '20170119'
30
+
31
+ # View and manage the files in your Google Drive
32
+ AUTH_DRIVE = 'https://www.googleapis.com/auth/drive'
33
+
34
+ # View and manage its own configuration data in your Google Drive
35
+ AUTH_DRIVE_APPDATA = 'https://www.googleapis.com/auth/drive.appdata'
36
+
37
+ # View your Google Drive apps
38
+ AUTH_DRIVE_APPS_READONLY = 'https://www.googleapis.com/auth/drive.apps.readonly'
39
+
40
+ # View and manage Google Drive files and folders that you have opened or created with this app
41
+ AUTH_DRIVE_FILE = 'https://www.googleapis.com/auth/drive.file'
42
+
43
+ # View and manage metadata of files in your Google Drive
44
+ AUTH_DRIVE_METADATA = 'https://www.googleapis.com/auth/drive.metadata'
45
+
46
+ # View metadata for files in your Google Drive
47
+ AUTH_DRIVE_METADATA_READONLY = 'https://www.googleapis.com/auth/drive.metadata.readonly'
48
+
49
+ # View the photos, videos and albums in your Google Photos
50
+ AUTH_DRIVE_PHOTOS_READONLY = 'https://www.googleapis.com/auth/drive.photos.readonly'
51
+
52
+ # View the files in your Google Drive
53
+ AUTH_DRIVE_READONLY = 'https://www.googleapis.com/auth/drive.readonly'
54
+
55
+ # Modify your Google Apps Script scripts' behavior
56
+ AUTH_DRIVE_SCRIPTS = 'https://www.googleapis.com/auth/drive.scripts'
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,2633 @@
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 DriveV2
24
+
25
+ # An item with user information and settings.
26
+ class About
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Information about supported additional roles per file type. The most specific
30
+ # type takes precedence.
31
+ # Corresponds to the JSON property `additionalRoleInfo`
32
+ # @return [Array<Google::Apis::DriveV2::About::AdditionalRoleInfo>]
33
+ attr_accessor :additional_role_info
34
+
35
+ # The domain sharing policy for the current user. Possible values are:
36
+ # - allowed
37
+ # - allowedWithWarning
38
+ # - incomingOnly
39
+ # - disallowed
40
+ # Corresponds to the JSON property `domainSharingPolicy`
41
+ # @return [String]
42
+ attr_accessor :domain_sharing_policy
43
+
44
+ # The ETag of the item.
45
+ # Corresponds to the JSON property `etag`
46
+ # @return [String]
47
+ attr_accessor :etag
48
+
49
+ # The allowable export formats.
50
+ # Corresponds to the JSON property `exportFormats`
51
+ # @return [Array<Google::Apis::DriveV2::About::ExportFormat>]
52
+ attr_accessor :export_formats
53
+
54
+ # List of additional features enabled on this account.
55
+ # Corresponds to the JSON property `features`
56
+ # @return [Array<Google::Apis::DriveV2::About::Feature>]
57
+ attr_accessor :features
58
+
59
+ # The palette of allowable folder colors as RGB hex strings.
60
+ # Corresponds to the JSON property `folderColorPalette`
61
+ # @return [Array<String>]
62
+ attr_accessor :folder_color_palette
63
+
64
+ # The allowable import formats.
65
+ # Corresponds to the JSON property `importFormats`
66
+ # @return [Array<Google::Apis::DriveV2::About::ImportFormat>]
67
+ attr_accessor :import_formats
68
+
69
+ # A boolean indicating whether the authenticated app is installed by the
70
+ # authenticated user.
71
+ # Corresponds to the JSON property `isCurrentAppInstalled`
72
+ # @return [Boolean]
73
+ attr_accessor :is_current_app_installed
74
+ alias_method :is_current_app_installed?, :is_current_app_installed
75
+
76
+ # This is always drive#about.
77
+ # Corresponds to the JSON property `kind`
78
+ # @return [String]
79
+ attr_accessor :kind
80
+
81
+ # The user's language or locale code, as defined by BCP 47, with some extensions
82
+ # from Unicode's LDML format (http://www.unicode.org/reports/tr35/).
83
+ # Corresponds to the JSON property `languageCode`
84
+ # @return [String]
85
+ attr_accessor :language_code
86
+
87
+ # The largest change id.
88
+ # Corresponds to the JSON property `largestChangeId`
89
+ # @return [String]
90
+ attr_accessor :largest_change_id
91
+
92
+ # List of max upload sizes for each file type. The most specific type takes
93
+ # precedence.
94
+ # Corresponds to the JSON property `maxUploadSizes`
95
+ # @return [Array<Google::Apis::DriveV2::About::MaxUploadSize>]
96
+ attr_accessor :max_upload_sizes
97
+
98
+ # The name of the current user.
99
+ # Corresponds to the JSON property `name`
100
+ # @return [String]
101
+ attr_accessor :name
102
+
103
+ # The current user's ID as visible in the permissions collection.
104
+ # Corresponds to the JSON property `permissionId`
105
+ # @return [String]
106
+ attr_accessor :permission_id
107
+
108
+ # The amount of storage quota used by different Google services.
109
+ # Corresponds to the JSON property `quotaBytesByService`
110
+ # @return [Array<Google::Apis::DriveV2::About::QuotaBytesByService>]
111
+ attr_accessor :quota_bytes_by_service
112
+
113
+ # The total number of quota bytes.
114
+ # Corresponds to the JSON property `quotaBytesTotal`
115
+ # @return [String]
116
+ attr_accessor :quota_bytes_total
117
+
118
+ # The number of quota bytes used by Google Drive.
119
+ # Corresponds to the JSON property `quotaBytesUsed`
120
+ # @return [String]
121
+ attr_accessor :quota_bytes_used
122
+
123
+ # The number of quota bytes used by all Google apps (Drive, Picasa, etc.).
124
+ # Corresponds to the JSON property `quotaBytesUsedAggregate`
125
+ # @return [String]
126
+ attr_accessor :quota_bytes_used_aggregate
127
+
128
+ # The number of quota bytes used by trashed items.
129
+ # Corresponds to the JSON property `quotaBytesUsedInTrash`
130
+ # @return [String]
131
+ attr_accessor :quota_bytes_used_in_trash
132
+
133
+ # The type of the user's storage quota. Possible values are:
134
+ # - LIMITED
135
+ # - UNLIMITED
136
+ # Corresponds to the JSON property `quotaType`
137
+ # @return [String]
138
+ attr_accessor :quota_type
139
+
140
+ # The number of remaining change ids, limited to no more than 2500.
141
+ # Corresponds to the JSON property `remainingChangeIds`
142
+ # @return [String]
143
+ attr_accessor :remaining_change_ids
144
+
145
+ # The id of the root folder.
146
+ # Corresponds to the JSON property `rootFolderId`
147
+ # @return [String]
148
+ attr_accessor :root_folder_id
149
+
150
+ # A link back to this item.
151
+ # Corresponds to the JSON property `selfLink`
152
+ # @return [String]
153
+ attr_accessor :self_link
154
+
155
+ # Information about a Drive user.
156
+ # Corresponds to the JSON property `user`
157
+ # @return [Google::Apis::DriveV2::User]
158
+ attr_accessor :user
159
+
160
+ def initialize(**args)
161
+ update!(**args)
162
+ end
163
+
164
+ # Update properties of this object
165
+ def update!(**args)
166
+ @additional_role_info = args[:additional_role_info] if args.key?(:additional_role_info)
167
+ @domain_sharing_policy = args[:domain_sharing_policy] if args.key?(:domain_sharing_policy)
168
+ @etag = args[:etag] if args.key?(:etag)
169
+ @export_formats = args[:export_formats] if args.key?(:export_formats)
170
+ @features = args[:features] if args.key?(:features)
171
+ @folder_color_palette = args[:folder_color_palette] if args.key?(:folder_color_palette)
172
+ @import_formats = args[:import_formats] if args.key?(:import_formats)
173
+ @is_current_app_installed = args[:is_current_app_installed] if args.key?(:is_current_app_installed)
174
+ @kind = args[:kind] if args.key?(:kind)
175
+ @language_code = args[:language_code] if args.key?(:language_code)
176
+ @largest_change_id = args[:largest_change_id] if args.key?(:largest_change_id)
177
+ @max_upload_sizes = args[:max_upload_sizes] if args.key?(:max_upload_sizes)
178
+ @name = args[:name] if args.key?(:name)
179
+ @permission_id = args[:permission_id] if args.key?(:permission_id)
180
+ @quota_bytes_by_service = args[:quota_bytes_by_service] if args.key?(:quota_bytes_by_service)
181
+ @quota_bytes_total = args[:quota_bytes_total] if args.key?(:quota_bytes_total)
182
+ @quota_bytes_used = args[:quota_bytes_used] if args.key?(:quota_bytes_used)
183
+ @quota_bytes_used_aggregate = args[:quota_bytes_used_aggregate] if args.key?(:quota_bytes_used_aggregate)
184
+ @quota_bytes_used_in_trash = args[:quota_bytes_used_in_trash] if args.key?(:quota_bytes_used_in_trash)
185
+ @quota_type = args[:quota_type] if args.key?(:quota_type)
186
+ @remaining_change_ids = args[:remaining_change_ids] if args.key?(:remaining_change_ids)
187
+ @root_folder_id = args[:root_folder_id] if args.key?(:root_folder_id)
188
+ @self_link = args[:self_link] if args.key?(:self_link)
189
+ @user = args[:user] if args.key?(:user)
190
+ end
191
+
192
+ #
193
+ class AdditionalRoleInfo
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # The supported additional roles per primary role.
197
+ # Corresponds to the JSON property `roleSets`
198
+ # @return [Array<Google::Apis::DriveV2::About::AdditionalRoleInfo::RoleSet>]
199
+ attr_accessor :role_sets
200
+
201
+ # The content type that this additional role info applies to.
202
+ # Corresponds to the JSON property `type`
203
+ # @return [String]
204
+ attr_accessor :type
205
+
206
+ def initialize(**args)
207
+ update!(**args)
208
+ end
209
+
210
+ # Update properties of this object
211
+ def update!(**args)
212
+ @role_sets = args[:role_sets] if args.key?(:role_sets)
213
+ @type = args[:type] if args.key?(:type)
214
+ end
215
+
216
+ #
217
+ class RoleSet
218
+ include Google::Apis::Core::Hashable
219
+
220
+ # The supported additional roles with the primary role.
221
+ # Corresponds to the JSON property `additionalRoles`
222
+ # @return [Array<String>]
223
+ attr_accessor :additional_roles
224
+
225
+ # A primary permission role.
226
+ # Corresponds to the JSON property `primaryRole`
227
+ # @return [String]
228
+ attr_accessor :primary_role
229
+
230
+ def initialize(**args)
231
+ update!(**args)
232
+ end
233
+
234
+ # Update properties of this object
235
+ def update!(**args)
236
+ @additional_roles = args[:additional_roles] if args.key?(:additional_roles)
237
+ @primary_role = args[:primary_role] if args.key?(:primary_role)
238
+ end
239
+ end
240
+ end
241
+
242
+ #
243
+ class ExportFormat
244
+ include Google::Apis::Core::Hashable
245
+
246
+ # The content type to convert from.
247
+ # Corresponds to the JSON property `source`
248
+ # @return [String]
249
+ attr_accessor :source
250
+
251
+ # The possible content types to convert to.
252
+ # Corresponds to the JSON property `targets`
253
+ # @return [Array<String>]
254
+ attr_accessor :targets
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ @source = args[:source] if args.key?(:source)
263
+ @targets = args[:targets] if args.key?(:targets)
264
+ end
265
+ end
266
+
267
+ #
268
+ class Feature
269
+ include Google::Apis::Core::Hashable
270
+
271
+ # The name of the feature.
272
+ # Corresponds to the JSON property `featureName`
273
+ # @return [String]
274
+ attr_accessor :feature_name
275
+
276
+ # The request limit rate for this feature, in queries per second.
277
+ # Corresponds to the JSON property `featureRate`
278
+ # @return [Float]
279
+ attr_accessor :feature_rate
280
+
281
+ def initialize(**args)
282
+ update!(**args)
283
+ end
284
+
285
+ # Update properties of this object
286
+ def update!(**args)
287
+ @feature_name = args[:feature_name] if args.key?(:feature_name)
288
+ @feature_rate = args[:feature_rate] if args.key?(:feature_rate)
289
+ end
290
+ end
291
+
292
+ #
293
+ class ImportFormat
294
+ include Google::Apis::Core::Hashable
295
+
296
+ # The imported file's content type to convert from.
297
+ # Corresponds to the JSON property `source`
298
+ # @return [String]
299
+ attr_accessor :source
300
+
301
+ # The possible content types to convert to.
302
+ # Corresponds to the JSON property `targets`
303
+ # @return [Array<String>]
304
+ attr_accessor :targets
305
+
306
+ def initialize(**args)
307
+ update!(**args)
308
+ end
309
+
310
+ # Update properties of this object
311
+ def update!(**args)
312
+ @source = args[:source] if args.key?(:source)
313
+ @targets = args[:targets] if args.key?(:targets)
314
+ end
315
+ end
316
+
317
+ #
318
+ class MaxUploadSize
319
+ include Google::Apis::Core::Hashable
320
+
321
+ # The max upload size for this type.
322
+ # Corresponds to the JSON property `size`
323
+ # @return [String]
324
+ attr_accessor :size
325
+
326
+ # The file type.
327
+ # Corresponds to the JSON property `type`
328
+ # @return [String]
329
+ attr_accessor :type
330
+
331
+ def initialize(**args)
332
+ update!(**args)
333
+ end
334
+
335
+ # Update properties of this object
336
+ def update!(**args)
337
+ @size = args[:size] if args.key?(:size)
338
+ @type = args[:type] if args.key?(:type)
339
+ end
340
+ end
341
+
342
+ #
343
+ class QuotaBytesByService
344
+ include Google::Apis::Core::Hashable
345
+
346
+ # The storage quota bytes used by the service.
347
+ # Corresponds to the JSON property `bytesUsed`
348
+ # @return [String]
349
+ attr_accessor :bytes_used
350
+
351
+ # The service's name, e.g. DRIVE, GMAIL, or PHOTOS.
352
+ # Corresponds to the JSON property `serviceName`
353
+ # @return [String]
354
+ attr_accessor :service_name
355
+
356
+ def initialize(**args)
357
+ update!(**args)
358
+ end
359
+
360
+ # Update properties of this object
361
+ def update!(**args)
362
+ @bytes_used = args[:bytes_used] if args.key?(:bytes_used)
363
+ @service_name = args[:service_name] if args.key?(:service_name)
364
+ end
365
+ end
366
+ end
367
+
368
+ # The apps resource provides a list of the apps that a user has installed, with
369
+ # information about each app's supported MIME types, file extensions, and other
370
+ # details.
371
+ class App
372
+ include Google::Apis::Core::Hashable
373
+
374
+ # Whether the app is authorized to access data on the user's Drive.
375
+ # Corresponds to the JSON property `authorized`
376
+ # @return [Boolean]
377
+ attr_accessor :authorized
378
+ alias_method :authorized?, :authorized
379
+
380
+ # The template url to create a new file with this app in a given folder. The
381
+ # template will contain `folderId` to be replaced by the folder to create the
382
+ # new file in.
383
+ # Corresponds to the JSON property `createInFolderTemplate`
384
+ # @return [String]
385
+ attr_accessor :create_in_folder_template
386
+
387
+ # The url to create a new file with this app.
388
+ # Corresponds to the JSON property `createUrl`
389
+ # @return [String]
390
+ attr_accessor :create_url
391
+
392
+ # Whether the app has drive-wide scope. An app with drive-wide scope can access
393
+ # all files in the user's drive.
394
+ # Corresponds to the JSON property `hasDriveWideScope`
395
+ # @return [Boolean]
396
+ attr_accessor :has_drive_wide_scope
397
+ alias_method :has_drive_wide_scope?, :has_drive_wide_scope
398
+
399
+ # The various icons for the app.
400
+ # Corresponds to the JSON property `icons`
401
+ # @return [Array<Google::Apis::DriveV2::App::Icon>]
402
+ attr_accessor :icons
403
+
404
+ # The ID of the app.
405
+ # Corresponds to the JSON property `id`
406
+ # @return [String]
407
+ attr_accessor :id
408
+
409
+ # Whether the app is installed.
410
+ # Corresponds to the JSON property `installed`
411
+ # @return [Boolean]
412
+ attr_accessor :installed
413
+ alias_method :installed?, :installed
414
+
415
+ # This is always drive#app.
416
+ # Corresponds to the JSON property `kind`
417
+ # @return [String]
418
+ attr_accessor :kind
419
+
420
+ # A long description of the app.
421
+ # Corresponds to the JSON property `longDescription`
422
+ # @return [String]
423
+ attr_accessor :long_description
424
+
425
+ # The name of the app.
426
+ # Corresponds to the JSON property `name`
427
+ # @return [String]
428
+ attr_accessor :name
429
+
430
+ # The type of object this app creates (e.g. Chart). If empty, the app name
431
+ # should be used instead.
432
+ # Corresponds to the JSON property `objectType`
433
+ # @return [String]
434
+ attr_accessor :object_type
435
+
436
+ # The template url for opening files with this app. The template will contain `
437
+ # ids` and/or `exportIds` to be replaced by the actual file ids. See Open Files
438
+ # for the full documentation.
439
+ # Corresponds to the JSON property `openUrlTemplate`
440
+ # @return [String]
441
+ attr_accessor :open_url_template
442
+
443
+ # The list of primary file extensions.
444
+ # Corresponds to the JSON property `primaryFileExtensions`
445
+ # @return [Array<String>]
446
+ attr_accessor :primary_file_extensions
447
+
448
+ # The list of primary mime types.
449
+ # Corresponds to the JSON property `primaryMimeTypes`
450
+ # @return [Array<String>]
451
+ attr_accessor :primary_mime_types
452
+
453
+ # The ID of the product listing for this app.
454
+ # Corresponds to the JSON property `productId`
455
+ # @return [String]
456
+ attr_accessor :product_id
457
+
458
+ # A link to the product listing for this app.
459
+ # Corresponds to the JSON property `productUrl`
460
+ # @return [String]
461
+ attr_accessor :product_url
462
+
463
+ # The list of secondary file extensions.
464
+ # Corresponds to the JSON property `secondaryFileExtensions`
465
+ # @return [Array<String>]
466
+ attr_accessor :secondary_file_extensions
467
+
468
+ # The list of secondary mime types.
469
+ # Corresponds to the JSON property `secondaryMimeTypes`
470
+ # @return [Array<String>]
471
+ attr_accessor :secondary_mime_types
472
+
473
+ # A short description of the app.
474
+ # Corresponds to the JSON property `shortDescription`
475
+ # @return [String]
476
+ attr_accessor :short_description
477
+
478
+ # Whether this app supports creating new objects.
479
+ # Corresponds to the JSON property `supportsCreate`
480
+ # @return [Boolean]
481
+ attr_accessor :supports_create
482
+ alias_method :supports_create?, :supports_create
483
+
484
+ # Whether this app supports importing Google Docs.
485
+ # Corresponds to the JSON property `supportsImport`
486
+ # @return [Boolean]
487
+ attr_accessor :supports_import
488
+ alias_method :supports_import?, :supports_import
489
+
490
+ # Whether this app supports opening more than one file.
491
+ # Corresponds to the JSON property `supportsMultiOpen`
492
+ # @return [Boolean]
493
+ attr_accessor :supports_multi_open
494
+ alias_method :supports_multi_open?, :supports_multi_open
495
+
496
+ # Whether this app supports creating new files when offline.
497
+ # Corresponds to the JSON property `supportsOfflineCreate`
498
+ # @return [Boolean]
499
+ attr_accessor :supports_offline_create
500
+ alias_method :supports_offline_create?, :supports_offline_create
501
+
502
+ # Whether the app is selected as the default handler for the types it supports.
503
+ # Corresponds to the JSON property `useByDefault`
504
+ # @return [Boolean]
505
+ attr_accessor :use_by_default
506
+ alias_method :use_by_default?, :use_by_default
507
+
508
+ def initialize(**args)
509
+ update!(**args)
510
+ end
511
+
512
+ # Update properties of this object
513
+ def update!(**args)
514
+ @authorized = args[:authorized] if args.key?(:authorized)
515
+ @create_in_folder_template = args[:create_in_folder_template] if args.key?(:create_in_folder_template)
516
+ @create_url = args[:create_url] if args.key?(:create_url)
517
+ @has_drive_wide_scope = args[:has_drive_wide_scope] if args.key?(:has_drive_wide_scope)
518
+ @icons = args[:icons] if args.key?(:icons)
519
+ @id = args[:id] if args.key?(:id)
520
+ @installed = args[:installed] if args.key?(:installed)
521
+ @kind = args[:kind] if args.key?(:kind)
522
+ @long_description = args[:long_description] if args.key?(:long_description)
523
+ @name = args[:name] if args.key?(:name)
524
+ @object_type = args[:object_type] if args.key?(:object_type)
525
+ @open_url_template = args[:open_url_template] if args.key?(:open_url_template)
526
+ @primary_file_extensions = args[:primary_file_extensions] if args.key?(:primary_file_extensions)
527
+ @primary_mime_types = args[:primary_mime_types] if args.key?(:primary_mime_types)
528
+ @product_id = args[:product_id] if args.key?(:product_id)
529
+ @product_url = args[:product_url] if args.key?(:product_url)
530
+ @secondary_file_extensions = args[:secondary_file_extensions] if args.key?(:secondary_file_extensions)
531
+ @secondary_mime_types = args[:secondary_mime_types] if args.key?(:secondary_mime_types)
532
+ @short_description = args[:short_description] if args.key?(:short_description)
533
+ @supports_create = args[:supports_create] if args.key?(:supports_create)
534
+ @supports_import = args[:supports_import] if args.key?(:supports_import)
535
+ @supports_multi_open = args[:supports_multi_open] if args.key?(:supports_multi_open)
536
+ @supports_offline_create = args[:supports_offline_create] if args.key?(:supports_offline_create)
537
+ @use_by_default = args[:use_by_default] if args.key?(:use_by_default)
538
+ end
539
+
540
+ #
541
+ class Icon
542
+ include Google::Apis::Core::Hashable
543
+
544
+ # Category of the icon. Allowed values are:
545
+ # - application - icon for the application
546
+ # - document - icon for a file associated with the app
547
+ # - documentShared - icon for a shared file associated with the app
548
+ # Corresponds to the JSON property `category`
549
+ # @return [String]
550
+ attr_accessor :category
551
+
552
+ # URL for the icon.
553
+ # Corresponds to the JSON property `iconUrl`
554
+ # @return [String]
555
+ attr_accessor :icon_url
556
+
557
+ # Size of the icon. Represented as the maximum of the width and height.
558
+ # Corresponds to the JSON property `size`
559
+ # @return [Fixnum]
560
+ attr_accessor :size
561
+
562
+ def initialize(**args)
563
+ update!(**args)
564
+ end
565
+
566
+ # Update properties of this object
567
+ def update!(**args)
568
+ @category = args[:category] if args.key?(:category)
569
+ @icon_url = args[:icon_url] if args.key?(:icon_url)
570
+ @size = args[:size] if args.key?(:size)
571
+ end
572
+ end
573
+ end
574
+
575
+ # A list of third-party applications which the user has installed or given
576
+ # access to Google Drive.
577
+ class AppList
578
+ include Google::Apis::Core::Hashable
579
+
580
+ # List of app IDs that the user has specified to use by default. The list is in
581
+ # reverse-priority order (lowest to highest).
582
+ # Corresponds to the JSON property `defaultAppIds`
583
+ # @return [Array<String>]
584
+ attr_accessor :default_app_ids
585
+
586
+ # The ETag of the list.
587
+ # Corresponds to the JSON property `etag`
588
+ # @return [String]
589
+ attr_accessor :etag
590
+
591
+ # The list of apps.
592
+ # Corresponds to the JSON property `items`
593
+ # @return [Array<Google::Apis::DriveV2::App>]
594
+ attr_accessor :items
595
+
596
+ # This is always drive#appList.
597
+ # Corresponds to the JSON property `kind`
598
+ # @return [String]
599
+ attr_accessor :kind
600
+
601
+ # A link back to this list.
602
+ # Corresponds to the JSON property `selfLink`
603
+ # @return [String]
604
+ attr_accessor :self_link
605
+
606
+ def initialize(**args)
607
+ update!(**args)
608
+ end
609
+
610
+ # Update properties of this object
611
+ def update!(**args)
612
+ @default_app_ids = args[:default_app_ids] if args.key?(:default_app_ids)
613
+ @etag = args[:etag] if args.key?(:etag)
614
+ @items = args[:items] if args.key?(:items)
615
+ @kind = args[:kind] if args.key?(:kind)
616
+ @self_link = args[:self_link] if args.key?(:self_link)
617
+ end
618
+ end
619
+
620
+ # Representation of a change to a file.
621
+ class Change
622
+ include Google::Apis::Core::Hashable
623
+
624
+ # Whether the file has been deleted.
625
+ # Corresponds to the JSON property `deleted`
626
+ # @return [Boolean]
627
+ attr_accessor :deleted
628
+ alias_method :deleted?, :deleted
629
+
630
+ # The metadata for a file.
631
+ # Corresponds to the JSON property `file`
632
+ # @return [Google::Apis::DriveV2::File]
633
+ attr_accessor :file
634
+
635
+ # The ID of the file associated with this change.
636
+ # Corresponds to the JSON property `fileId`
637
+ # @return [String]
638
+ attr_accessor :file_id
639
+
640
+ # The ID of the change.
641
+ # Corresponds to the JSON property `id`
642
+ # @return [String]
643
+ attr_accessor :id
644
+
645
+ # This is always drive#change.
646
+ # Corresponds to the JSON property `kind`
647
+ # @return [String]
648
+ attr_accessor :kind
649
+
650
+ # The time of this modification.
651
+ # Corresponds to the JSON property `modificationDate`
652
+ # @return [DateTime]
653
+ attr_accessor :modification_date
654
+
655
+ # A link back to this change.
656
+ # Corresponds to the JSON property `selfLink`
657
+ # @return [String]
658
+ attr_accessor :self_link
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @deleted = args[:deleted] if args.key?(:deleted)
667
+ @file = args[:file] if args.key?(:file)
668
+ @file_id = args[:file_id] if args.key?(:file_id)
669
+ @id = args[:id] if args.key?(:id)
670
+ @kind = args[:kind] if args.key?(:kind)
671
+ @modification_date = args[:modification_date] if args.key?(:modification_date)
672
+ @self_link = args[:self_link] if args.key?(:self_link)
673
+ end
674
+ end
675
+
676
+ # A list of changes for a user.
677
+ class ChangeList
678
+ include Google::Apis::Core::Hashable
679
+
680
+ # The ETag of the list.
681
+ # Corresponds to the JSON property `etag`
682
+ # @return [String]
683
+ attr_accessor :etag
684
+
685
+ # The list of changes. If nextPageToken is populated, then this list may be
686
+ # incomplete and an additional page of results should be fetched.
687
+ # Corresponds to the JSON property `items`
688
+ # @return [Array<Google::Apis::DriveV2::Change>]
689
+ attr_accessor :items
690
+
691
+ # This is always drive#changeList.
692
+ # Corresponds to the JSON property `kind`
693
+ # @return [String]
694
+ attr_accessor :kind
695
+
696
+ # The current largest change ID.
697
+ # Corresponds to the JSON property `largestChangeId`
698
+ # @return [String]
699
+ attr_accessor :largest_change_id
700
+
701
+ # A link to the next page of changes.
702
+ # Corresponds to the JSON property `nextLink`
703
+ # @return [String]
704
+ attr_accessor :next_link
705
+
706
+ # The page token for the next page of changes. This will be absent if the end of
707
+ # the changes list has been reached. If the token is rejected for any reason, it
708
+ # should be discarded, and pagination should be restarted from the first page of
709
+ # results.
710
+ # Corresponds to the JSON property `nextPageToken`
711
+ # @return [String]
712
+ attr_accessor :next_page_token
713
+
714
+ # A link back to this list.
715
+ # Corresponds to the JSON property `selfLink`
716
+ # @return [String]
717
+ attr_accessor :self_link
718
+
719
+ def initialize(**args)
720
+ update!(**args)
721
+ end
722
+
723
+ # Update properties of this object
724
+ def update!(**args)
725
+ @etag = args[:etag] if args.key?(:etag)
726
+ @items = args[:items] if args.key?(:items)
727
+ @kind = args[:kind] if args.key?(:kind)
728
+ @largest_change_id = args[:largest_change_id] if args.key?(:largest_change_id)
729
+ @next_link = args[:next_link] if args.key?(:next_link)
730
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
731
+ @self_link = args[:self_link] if args.key?(:self_link)
732
+ end
733
+ end
734
+
735
+ # An notification channel used to watch for resource changes.
736
+ class Channel
737
+ include Google::Apis::Core::Hashable
738
+
739
+ # The address where notifications are delivered for this channel.
740
+ # Corresponds to the JSON property `address`
741
+ # @return [String]
742
+ attr_accessor :address
743
+
744
+ # Date and time of notification channel expiration, expressed as a Unix
745
+ # timestamp, in milliseconds. Optional.
746
+ # Corresponds to the JSON property `expiration`
747
+ # @return [String]
748
+ attr_accessor :expiration
749
+
750
+ # A UUID or similar unique string that identifies this channel.
751
+ # Corresponds to the JSON property `id`
752
+ # @return [String]
753
+ attr_accessor :id
754
+
755
+ # Identifies this as a notification channel used to watch for changes to a
756
+ # resource. Value: the fixed string "api#channel".
757
+ # Corresponds to the JSON property `kind`
758
+ # @return [String]
759
+ attr_accessor :kind
760
+
761
+ # Additional parameters controlling delivery channel behavior. Optional.
762
+ # Corresponds to the JSON property `params`
763
+ # @return [Hash<String,String>]
764
+ attr_accessor :params
765
+
766
+ # A Boolean value to indicate whether payload is wanted. Optional.
767
+ # Corresponds to the JSON property `payload`
768
+ # @return [Boolean]
769
+ attr_accessor :payload
770
+ alias_method :payload?, :payload
771
+
772
+ # An opaque ID that identifies the resource being watched on this channel.
773
+ # Stable across different API versions.
774
+ # Corresponds to the JSON property `resourceId`
775
+ # @return [String]
776
+ attr_accessor :resource_id
777
+
778
+ # A version-specific identifier for the watched resource.
779
+ # Corresponds to the JSON property `resourceUri`
780
+ # @return [String]
781
+ attr_accessor :resource_uri
782
+
783
+ # An arbitrary string delivered to the target address with each notification
784
+ # delivered over this channel. Optional.
785
+ # Corresponds to the JSON property `token`
786
+ # @return [String]
787
+ attr_accessor :token
788
+
789
+ # The type of delivery mechanism used for this channel.
790
+ # Corresponds to the JSON property `type`
791
+ # @return [String]
792
+ attr_accessor :type
793
+
794
+ def initialize(**args)
795
+ update!(**args)
796
+ end
797
+
798
+ # Update properties of this object
799
+ def update!(**args)
800
+ @address = args[:address] if args.key?(:address)
801
+ @expiration = args[:expiration] if args.key?(:expiration)
802
+ @id = args[:id] if args.key?(:id)
803
+ @kind = args[:kind] if args.key?(:kind)
804
+ @params = args[:params] if args.key?(:params)
805
+ @payload = args[:payload] if args.key?(:payload)
806
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
807
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
808
+ @token = args[:token] if args.key?(:token)
809
+ @type = args[:type] if args.key?(:type)
810
+ end
811
+ end
812
+
813
+ # A list of children of a file.
814
+ class ChildList
815
+ include Google::Apis::Core::Hashable
816
+
817
+ # The ETag of the list.
818
+ # Corresponds to the JSON property `etag`
819
+ # @return [String]
820
+ attr_accessor :etag
821
+
822
+ # The list of children. If nextPageToken is populated, then this list may be
823
+ # incomplete and an additional page of results should be fetched.
824
+ # Corresponds to the JSON property `items`
825
+ # @return [Array<Google::Apis::DriveV2::ChildReference>]
826
+ attr_accessor :items
827
+
828
+ # This is always drive#childList.
829
+ # Corresponds to the JSON property `kind`
830
+ # @return [String]
831
+ attr_accessor :kind
832
+
833
+ # A link to the next page of children.
834
+ # Corresponds to the JSON property `nextLink`
835
+ # @return [String]
836
+ attr_accessor :next_link
837
+
838
+ # The page token for the next page of children. This will be absent if the end
839
+ # of the children list has been reached. If the token is rejected for any reason,
840
+ # it should be discarded, and pagination should be restarted from the first
841
+ # page of results.
842
+ # Corresponds to the JSON property `nextPageToken`
843
+ # @return [String]
844
+ attr_accessor :next_page_token
845
+
846
+ # A link back to this list.
847
+ # Corresponds to the JSON property `selfLink`
848
+ # @return [String]
849
+ attr_accessor :self_link
850
+
851
+ def initialize(**args)
852
+ update!(**args)
853
+ end
854
+
855
+ # Update properties of this object
856
+ def update!(**args)
857
+ @etag = args[:etag] if args.key?(:etag)
858
+ @items = args[:items] if args.key?(:items)
859
+ @kind = args[:kind] if args.key?(:kind)
860
+ @next_link = args[:next_link] if args.key?(:next_link)
861
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
862
+ @self_link = args[:self_link] if args.key?(:self_link)
863
+ end
864
+ end
865
+
866
+ # A reference to a folder's child.
867
+ class ChildReference
868
+ include Google::Apis::Core::Hashable
869
+
870
+ # A link to the child.
871
+ # Corresponds to the JSON property `childLink`
872
+ # @return [String]
873
+ attr_accessor :child_link
874
+
875
+ # The ID of the child.
876
+ # Corresponds to the JSON property `id`
877
+ # @return [String]
878
+ attr_accessor :id
879
+
880
+ # This is always drive#childReference.
881
+ # Corresponds to the JSON property `kind`
882
+ # @return [String]
883
+ attr_accessor :kind
884
+
885
+ # A link back to this reference.
886
+ # Corresponds to the JSON property `selfLink`
887
+ # @return [String]
888
+ attr_accessor :self_link
889
+
890
+ def initialize(**args)
891
+ update!(**args)
892
+ end
893
+
894
+ # Update properties of this object
895
+ def update!(**args)
896
+ @child_link = args[:child_link] if args.key?(:child_link)
897
+ @id = args[:id] if args.key?(:id)
898
+ @kind = args[:kind] if args.key?(:kind)
899
+ @self_link = args[:self_link] if args.key?(:self_link)
900
+ end
901
+ end
902
+
903
+ # A comment on a file in Google Drive.
904
+ class Comment
905
+ include Google::Apis::Core::Hashable
906
+
907
+ # A region of the document represented as a JSON string. See anchor
908
+ # documentation for details on how to define and interpret anchor properties.
909
+ # Corresponds to the JSON property `anchor`
910
+ # @return [String]
911
+ attr_accessor :anchor
912
+
913
+ # Information about a Drive user.
914
+ # Corresponds to the JSON property `author`
915
+ # @return [Google::Apis::DriveV2::User]
916
+ attr_accessor :author
917
+
918
+ # The ID of the comment.
919
+ # Corresponds to the JSON property `commentId`
920
+ # @return [String]
921
+ attr_accessor :comment_id
922
+
923
+ # The plain text content used to create this comment. This is not HTML safe and
924
+ # should only be used as a starting point to make edits to a comment's content.
925
+ # Corresponds to the JSON property `content`
926
+ # @return [String]
927
+ attr_accessor :content
928
+
929
+ # The context of the file which is being commented on.
930
+ # Corresponds to the JSON property `context`
931
+ # @return [Google::Apis::DriveV2::Comment::Context]
932
+ attr_accessor :context
933
+
934
+ # The date when this comment was first created.
935
+ # Corresponds to the JSON property `createdDate`
936
+ # @return [DateTime]
937
+ attr_accessor :created_date
938
+
939
+ # Whether this comment has been deleted. If a comment has been deleted the
940
+ # content will be cleared and this will only represent a comment that once
941
+ # existed.
942
+ # Corresponds to the JSON property `deleted`
943
+ # @return [Boolean]
944
+ attr_accessor :deleted
945
+ alias_method :deleted?, :deleted
946
+
947
+ # The file which this comment is addressing.
948
+ # Corresponds to the JSON property `fileId`
949
+ # @return [String]
950
+ attr_accessor :file_id
951
+
952
+ # The title of the file which this comment is addressing.
953
+ # Corresponds to the JSON property `fileTitle`
954
+ # @return [String]
955
+ attr_accessor :file_title
956
+
957
+ # HTML formatted content for this comment.
958
+ # Corresponds to the JSON property `htmlContent`
959
+ # @return [String]
960
+ attr_accessor :html_content
961
+
962
+ # This is always drive#comment.
963
+ # Corresponds to the JSON property `kind`
964
+ # @return [String]
965
+ attr_accessor :kind
966
+
967
+ # The date when this comment or any of its replies were last modified.
968
+ # Corresponds to the JSON property `modifiedDate`
969
+ # @return [DateTime]
970
+ attr_accessor :modified_date
971
+
972
+ # Replies to this post.
973
+ # Corresponds to the JSON property `replies`
974
+ # @return [Array<Google::Apis::DriveV2::CommentReply>]
975
+ attr_accessor :replies
976
+
977
+ # A link back to this comment.
978
+ # Corresponds to the JSON property `selfLink`
979
+ # @return [String]
980
+ attr_accessor :self_link
981
+
982
+ # The status of this comment. Status can be changed by posting a reply to a
983
+ # comment with the desired status.
984
+ # - "open" - The comment is still open.
985
+ # - "resolved" - The comment has been resolved by one of its replies.
986
+ # Corresponds to the JSON property `status`
987
+ # @return [String]
988
+ attr_accessor :status
989
+
990
+ def initialize(**args)
991
+ update!(**args)
992
+ end
993
+
994
+ # Update properties of this object
995
+ def update!(**args)
996
+ @anchor = args[:anchor] if args.key?(:anchor)
997
+ @author = args[:author] if args.key?(:author)
998
+ @comment_id = args[:comment_id] if args.key?(:comment_id)
999
+ @content = args[:content] if args.key?(:content)
1000
+ @context = args[:context] if args.key?(:context)
1001
+ @created_date = args[:created_date] if args.key?(:created_date)
1002
+ @deleted = args[:deleted] if args.key?(:deleted)
1003
+ @file_id = args[:file_id] if args.key?(:file_id)
1004
+ @file_title = args[:file_title] if args.key?(:file_title)
1005
+ @html_content = args[:html_content] if args.key?(:html_content)
1006
+ @kind = args[:kind] if args.key?(:kind)
1007
+ @modified_date = args[:modified_date] if args.key?(:modified_date)
1008
+ @replies = args[:replies] if args.key?(:replies)
1009
+ @self_link = args[:self_link] if args.key?(:self_link)
1010
+ @status = args[:status] if args.key?(:status)
1011
+ end
1012
+
1013
+ # The context of the file which is being commented on.
1014
+ class Context
1015
+ include Google::Apis::Core::Hashable
1016
+
1017
+ # The MIME type of the context snippet.
1018
+ # Corresponds to the JSON property `type`
1019
+ # @return [String]
1020
+ attr_accessor :type
1021
+
1022
+ # Data representation of the segment of the file being commented on. In the case
1023
+ # of a text file for example, this would be the actual text that the comment is
1024
+ # about.
1025
+ # Corresponds to the JSON property `value`
1026
+ # @return [String]
1027
+ attr_accessor :value
1028
+
1029
+ def initialize(**args)
1030
+ update!(**args)
1031
+ end
1032
+
1033
+ # Update properties of this object
1034
+ def update!(**args)
1035
+ @type = args[:type] if args.key?(:type)
1036
+ @value = args[:value] if args.key?(:value)
1037
+ end
1038
+ end
1039
+ end
1040
+
1041
+ # A list of comments on a file in Google Drive.
1042
+ class CommentList
1043
+ include Google::Apis::Core::Hashable
1044
+
1045
+ # The list of comments. If nextPageToken is populated, then this list may be
1046
+ # incomplete and an additional page of results should be fetched.
1047
+ # Corresponds to the JSON property `items`
1048
+ # @return [Array<Google::Apis::DriveV2::Comment>]
1049
+ attr_accessor :items
1050
+
1051
+ # This is always drive#commentList.
1052
+ # Corresponds to the JSON property `kind`
1053
+ # @return [String]
1054
+ attr_accessor :kind
1055
+
1056
+ # A link to the next page of comments.
1057
+ # Corresponds to the JSON property `nextLink`
1058
+ # @return [String]
1059
+ attr_accessor :next_link
1060
+
1061
+ # The page token for the next page of comments. This will be absent if the end
1062
+ # of the comments list has been reached. If the token is rejected for any reason,
1063
+ # it should be discarded, and pagination should be restarted from the first
1064
+ # page of results.
1065
+ # Corresponds to the JSON property `nextPageToken`
1066
+ # @return [String]
1067
+ attr_accessor :next_page_token
1068
+
1069
+ # A link back to this list.
1070
+ # Corresponds to the JSON property `selfLink`
1071
+ # @return [String]
1072
+ attr_accessor :self_link
1073
+
1074
+ def initialize(**args)
1075
+ update!(**args)
1076
+ end
1077
+
1078
+ # Update properties of this object
1079
+ def update!(**args)
1080
+ @items = args[:items] if args.key?(:items)
1081
+ @kind = args[:kind] if args.key?(:kind)
1082
+ @next_link = args[:next_link] if args.key?(:next_link)
1083
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1084
+ @self_link = args[:self_link] if args.key?(:self_link)
1085
+ end
1086
+ end
1087
+
1088
+ # A comment on a file in Google Drive.
1089
+ class CommentReply
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Information about a Drive user.
1093
+ # Corresponds to the JSON property `author`
1094
+ # @return [Google::Apis::DriveV2::User]
1095
+ attr_accessor :author
1096
+
1097
+ # The plain text content used to create this reply. This is not HTML safe and
1098
+ # should only be used as a starting point to make edits to a reply's content.
1099
+ # This field is required on inserts if no verb is specified (resolve/reopen).
1100
+ # Corresponds to the JSON property `content`
1101
+ # @return [String]
1102
+ attr_accessor :content
1103
+
1104
+ # The date when this reply was first created.
1105
+ # Corresponds to the JSON property `createdDate`
1106
+ # @return [DateTime]
1107
+ attr_accessor :created_date
1108
+
1109
+ # Whether this reply has been deleted. If a reply has been deleted the content
1110
+ # will be cleared and this will only represent a reply that once existed.
1111
+ # Corresponds to the JSON property `deleted`
1112
+ # @return [Boolean]
1113
+ attr_accessor :deleted
1114
+ alias_method :deleted?, :deleted
1115
+
1116
+ # HTML formatted content for this reply.
1117
+ # Corresponds to the JSON property `htmlContent`
1118
+ # @return [String]
1119
+ attr_accessor :html_content
1120
+
1121
+ # This is always drive#commentReply.
1122
+ # Corresponds to the JSON property `kind`
1123
+ # @return [String]
1124
+ attr_accessor :kind
1125
+
1126
+ # The date when this reply was last modified.
1127
+ # Corresponds to the JSON property `modifiedDate`
1128
+ # @return [DateTime]
1129
+ attr_accessor :modified_date
1130
+
1131
+ # The ID of the reply.
1132
+ # Corresponds to the JSON property `replyId`
1133
+ # @return [String]
1134
+ attr_accessor :reply_id
1135
+
1136
+ # The action this reply performed to the parent comment. When creating a new
1137
+ # reply this is the action to be perform to the parent comment. Possible values
1138
+ # are:
1139
+ # - "resolve" - To resolve a comment.
1140
+ # - "reopen" - To reopen (un-resolve) a comment.
1141
+ # Corresponds to the JSON property `verb`
1142
+ # @return [String]
1143
+ attr_accessor :verb
1144
+
1145
+ def initialize(**args)
1146
+ update!(**args)
1147
+ end
1148
+
1149
+ # Update properties of this object
1150
+ def update!(**args)
1151
+ @author = args[:author] if args.key?(:author)
1152
+ @content = args[:content] if args.key?(:content)
1153
+ @created_date = args[:created_date] if args.key?(:created_date)
1154
+ @deleted = args[:deleted] if args.key?(:deleted)
1155
+ @html_content = args[:html_content] if args.key?(:html_content)
1156
+ @kind = args[:kind] if args.key?(:kind)
1157
+ @modified_date = args[:modified_date] if args.key?(:modified_date)
1158
+ @reply_id = args[:reply_id] if args.key?(:reply_id)
1159
+ @verb = args[:verb] if args.key?(:verb)
1160
+ end
1161
+ end
1162
+
1163
+ # A list of replies to a comment on a file in Google Drive.
1164
+ class CommentReplyList
1165
+ include Google::Apis::Core::Hashable
1166
+
1167
+ # The list of replies. If nextPageToken is populated, then this list may be
1168
+ # incomplete and an additional page of results should be fetched.
1169
+ # Corresponds to the JSON property `items`
1170
+ # @return [Array<Google::Apis::DriveV2::CommentReply>]
1171
+ attr_accessor :items
1172
+
1173
+ # This is always drive#commentReplyList.
1174
+ # Corresponds to the JSON property `kind`
1175
+ # @return [String]
1176
+ attr_accessor :kind
1177
+
1178
+ # A link to the next page of replies.
1179
+ # Corresponds to the JSON property `nextLink`
1180
+ # @return [String]
1181
+ attr_accessor :next_link
1182
+
1183
+ # The page token for the next page of replies. This will be absent if the end of
1184
+ # the replies list has been reached. If the token is rejected for any reason, it
1185
+ # should be discarded, and pagination should be restarted from the first page of
1186
+ # results.
1187
+ # Corresponds to the JSON property `nextPageToken`
1188
+ # @return [String]
1189
+ attr_accessor :next_page_token
1190
+
1191
+ # A link back to this list.
1192
+ # Corresponds to the JSON property `selfLink`
1193
+ # @return [String]
1194
+ attr_accessor :self_link
1195
+
1196
+ def initialize(**args)
1197
+ update!(**args)
1198
+ end
1199
+
1200
+ # Update properties of this object
1201
+ def update!(**args)
1202
+ @items = args[:items] if args.key?(:items)
1203
+ @kind = args[:kind] if args.key?(:kind)
1204
+ @next_link = args[:next_link] if args.key?(:next_link)
1205
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1206
+ @self_link = args[:self_link] if args.key?(:self_link)
1207
+ end
1208
+ end
1209
+
1210
+ # The metadata for a file.
1211
+ class File
1212
+ include Google::Apis::Core::Hashable
1213
+
1214
+ # A link for opening the file in a relevant Google editor or viewer.
1215
+ # Corresponds to the JSON property `alternateLink`
1216
+ # @return [String]
1217
+ attr_accessor :alternate_link
1218
+
1219
+ # Whether this file is in the Application Data folder.
1220
+ # Corresponds to the JSON property `appDataContents`
1221
+ # @return [Boolean]
1222
+ attr_accessor :app_data_contents
1223
+ alias_method :app_data_contents?, :app_data_contents
1224
+
1225
+ # Whether the current user can comment on the file.
1226
+ # Corresponds to the JSON property `canComment`
1227
+ # @return [Boolean]
1228
+ attr_accessor :can_comment
1229
+ alias_method :can_comment?, :can_comment
1230
+
1231
+ # Whether the current user has read access to the Revisions resource of the file.
1232
+ # Corresponds to the JSON property `canReadRevisions`
1233
+ # @return [Boolean]
1234
+ attr_accessor :can_read_revisions
1235
+ alias_method :can_read_revisions?, :can_read_revisions
1236
+
1237
+ # Whether the file can be copied by the current user.
1238
+ # Corresponds to the JSON property `copyable`
1239
+ # @return [Boolean]
1240
+ attr_accessor :copyable
1241
+ alias_method :copyable?, :copyable
1242
+
1243
+ # Create time for this file (formatted RFC 3339 timestamp).
1244
+ # Corresponds to the JSON property `createdDate`
1245
+ # @return [DateTime]
1246
+ attr_accessor :created_date
1247
+
1248
+ # A link to open this file with the user's default app for this file. Only
1249
+ # populated when the drive.apps.readonly scope is used.
1250
+ # Corresponds to the JSON property `defaultOpenWithLink`
1251
+ # @return [String]
1252
+ attr_accessor :default_open_with_link
1253
+
1254
+ # A short description of the file.
1255
+ # Corresponds to the JSON property `description`
1256
+ # @return [String]
1257
+ attr_accessor :description
1258
+
1259
+ #
1260
+ # Corresponds to the JSON property `downloadUrl`
1261
+ # @return [String]
1262
+ attr_accessor :download_url
1263
+
1264
+ # Whether the file can be edited by the current user.
1265
+ # Corresponds to the JSON property `editable`
1266
+ # @return [Boolean]
1267
+ attr_accessor :editable
1268
+ alias_method :editable?, :editable
1269
+
1270
+ # A link for embedding the file.
1271
+ # Corresponds to the JSON property `embedLink`
1272
+ # @return [String]
1273
+ attr_accessor :embed_link
1274
+
1275
+ # ETag of the file.
1276
+ # Corresponds to the JSON property `etag`
1277
+ # @return [String]
1278
+ attr_accessor :etag
1279
+
1280
+ # Whether this file has been explicitly trashed, as opposed to recursively
1281
+ # trashed.
1282
+ # Corresponds to the JSON property `explicitlyTrashed`
1283
+ # @return [Boolean]
1284
+ attr_accessor :explicitly_trashed
1285
+ alias_method :explicitly_trashed?, :explicitly_trashed
1286
+
1287
+ # Links for exporting Google Docs to specific formats.
1288
+ # Corresponds to the JSON property `exportLinks`
1289
+ # @return [Hash<String,String>]
1290
+ attr_accessor :export_links
1291
+
1292
+ # The final component of fullFileExtension with trailing text that does not
1293
+ # appear to be part of the extension removed. This field is only populated for
1294
+ # files with content stored in Drive; it is not populated for Google Docs or
1295
+ # shortcut files.
1296
+ # Corresponds to the JSON property `fileExtension`
1297
+ # @return [String]
1298
+ attr_accessor :file_extension
1299
+
1300
+ # The size of the file in bytes. This field is only populated for files with
1301
+ # content stored in Drive; it is not populated for Google Docs or shortcut files.
1302
+ # Corresponds to the JSON property `fileSize`
1303
+ # @return [String]
1304
+ attr_accessor :file_size
1305
+
1306
+ # Folder color as an RGB hex string if the file is a folder. The list of
1307
+ # supported colors is available in the folderColorPalette field of the About
1308
+ # resource. If an unsupported color is specified, it will be changed to the
1309
+ # closest color in the palette.
1310
+ # Corresponds to the JSON property `folderColorRgb`
1311
+ # @return [String]
1312
+ attr_accessor :folder_color_rgb
1313
+
1314
+ # The full file extension; extracted from the title. May contain multiple
1315
+ # concatenated extensions, such as "tar.gz". Removing an extension from the
1316
+ # title does not clear this field; however, changing the extension on the title
1317
+ # does update this field. This field is only populated for files with content
1318
+ # stored in Drive; it is not populated for Google Docs or shortcut files.
1319
+ # Corresponds to the JSON property `fullFileExtension`
1320
+ # @return [String]
1321
+ attr_accessor :full_file_extension
1322
+
1323
+ # Whether this file has a thumbnail.
1324
+ # Corresponds to the JSON property `hasThumbnail`
1325
+ # @return [Boolean]
1326
+ attr_accessor :has_thumbnail
1327
+ alias_method :has_thumbnail?, :has_thumbnail
1328
+
1329
+ # The ID of the file's head revision. This field is only populated for files
1330
+ # with content stored in Drive; it is not populated for Google Docs or shortcut
1331
+ # files.
1332
+ # Corresponds to the JSON property `headRevisionId`
1333
+ # @return [String]
1334
+ attr_accessor :head_revision_id
1335
+
1336
+ # A link to the file's icon.
1337
+ # Corresponds to the JSON property `iconLink`
1338
+ # @return [String]
1339
+ attr_accessor :icon_link
1340
+
1341
+ # The ID of the file.
1342
+ # Corresponds to the JSON property `id`
1343
+ # @return [String]
1344
+ attr_accessor :id
1345
+
1346
+ # Metadata about image media. This will only be present for image types, and its
1347
+ # contents will depend on what can be parsed from the image content.
1348
+ # Corresponds to the JSON property `imageMediaMetadata`
1349
+ # @return [Google::Apis::DriveV2::File::ImageMediaMetadata]
1350
+ attr_accessor :image_media_metadata
1351
+
1352
+ # Indexable text attributes for the file (can only be written)
1353
+ # Corresponds to the JSON property `indexableText`
1354
+ # @return [Google::Apis::DriveV2::File::IndexableText]
1355
+ attr_accessor :indexable_text
1356
+
1357
+ # Whether the file was created or opened by the requesting app.
1358
+ # Corresponds to the JSON property `isAppAuthorized`
1359
+ # @return [Boolean]
1360
+ attr_accessor :is_app_authorized
1361
+ alias_method :is_app_authorized?, :is_app_authorized
1362
+
1363
+ # The type of file. This is always drive#file.
1364
+ # Corresponds to the JSON property `kind`
1365
+ # @return [String]
1366
+ attr_accessor :kind
1367
+
1368
+ # A group of labels for the file.
1369
+ # Corresponds to the JSON property `labels`
1370
+ # @return [Google::Apis::DriveV2::File::Labels]
1371
+ attr_accessor :labels
1372
+
1373
+ # Information about a Drive user.
1374
+ # Corresponds to the JSON property `lastModifyingUser`
1375
+ # @return [Google::Apis::DriveV2::User]
1376
+ attr_accessor :last_modifying_user
1377
+
1378
+ # Name of the last user to modify this file.
1379
+ # Corresponds to the JSON property `lastModifyingUserName`
1380
+ # @return [String]
1381
+ attr_accessor :last_modifying_user_name
1382
+
1383
+ # Last time this file was viewed by the user (formatted RFC 3339 timestamp).
1384
+ # Corresponds to the JSON property `lastViewedByMeDate`
1385
+ # @return [DateTime]
1386
+ attr_accessor :last_viewed_by_me_date
1387
+
1388
+ # Deprecated.
1389
+ # Corresponds to the JSON property `markedViewedByMeDate`
1390
+ # @return [DateTime]
1391
+ attr_accessor :marked_viewed_by_me_date
1392
+
1393
+ # An MD5 checksum for the content of this file. This field is only populated for
1394
+ # files with content stored in Drive; it is not populated for Google Docs or
1395
+ # shortcut files.
1396
+ # Corresponds to the JSON property `md5Checksum`
1397
+ # @return [String]
1398
+ attr_accessor :md5_checksum
1399
+
1400
+ # The MIME type of the file. This is only mutable on update when uploading new
1401
+ # content. This field can be left blank, and the mimetype will be determined
1402
+ # from the uploaded content's MIME type.
1403
+ # Corresponds to the JSON property `mimeType`
1404
+ # @return [String]
1405
+ attr_accessor :mime_type
1406
+
1407
+ # Last time this file was modified by the user (formatted RFC 3339 timestamp).
1408
+ # Note that setting modifiedDate will also update the modifiedByMe date for the
1409
+ # user which set the date.
1410
+ # Corresponds to the JSON property `modifiedByMeDate`
1411
+ # @return [DateTime]
1412
+ attr_accessor :modified_by_me_date
1413
+
1414
+ # Last time this file was modified by anyone (formatted RFC 3339 timestamp).
1415
+ # This is only mutable on update when the setModifiedDate parameter is set.
1416
+ # Corresponds to the JSON property `modifiedDate`
1417
+ # @return [DateTime]
1418
+ attr_accessor :modified_date
1419
+
1420
+ # A map of the id of each of the user's apps to a link to open this file with
1421
+ # that app. Only populated when the drive.apps.readonly scope is used.
1422
+ # Corresponds to the JSON property `openWithLinks`
1423
+ # @return [Hash<String,String>]
1424
+ attr_accessor :open_with_links
1425
+
1426
+ # The original filename of the uploaded content if available, or else the
1427
+ # original value of the title field. This is only available for files with
1428
+ # binary content in Drive.
1429
+ # Corresponds to the JSON property `originalFilename`
1430
+ # @return [String]
1431
+ attr_accessor :original_filename
1432
+
1433
+ # Whether the file is owned by the current user.
1434
+ # Corresponds to the JSON property `ownedByMe`
1435
+ # @return [Boolean]
1436
+ attr_accessor :owned_by_me
1437
+ alias_method :owned_by_me?, :owned_by_me
1438
+
1439
+ # Name(s) of the owner(s) of this file.
1440
+ # Corresponds to the JSON property `ownerNames`
1441
+ # @return [Array<String>]
1442
+ attr_accessor :owner_names
1443
+
1444
+ # The owner(s) of this file.
1445
+ # Corresponds to the JSON property `owners`
1446
+ # @return [Array<Google::Apis::DriveV2::User>]
1447
+ attr_accessor :owners
1448
+
1449
+ # Collection of parent folders which contain this file.
1450
+ # Setting this field will put the file in all of the provided folders. On insert,
1451
+ # if no folders are provided, the file will be placed in the default root
1452
+ # folder.
1453
+ # Corresponds to the JSON property `parents`
1454
+ # @return [Array<Google::Apis::DriveV2::ParentReference>]
1455
+ attr_accessor :parents
1456
+
1457
+ # The list of permissions for users with access to this file.
1458
+ # Corresponds to the JSON property `permissions`
1459
+ # @return [Array<Google::Apis::DriveV2::Permission>]
1460
+ attr_accessor :permissions
1461
+
1462
+ # The list of properties.
1463
+ # Corresponds to the JSON property `properties`
1464
+ # @return [Array<Google::Apis::DriveV2::Property>]
1465
+ attr_accessor :properties
1466
+
1467
+ # The number of quota bytes used by this file.
1468
+ # Corresponds to the JSON property `quotaBytesUsed`
1469
+ # @return [String]
1470
+ attr_accessor :quota_bytes_used
1471
+
1472
+ # A link back to this file.
1473
+ # Corresponds to the JSON property `selfLink`
1474
+ # @return [String]
1475
+ attr_accessor :self_link
1476
+
1477
+ # Whether the file's sharing settings can be modified by the current user.
1478
+ # Corresponds to the JSON property `shareable`
1479
+ # @return [Boolean]
1480
+ attr_accessor :shareable
1481
+ alias_method :shareable?, :shareable
1482
+
1483
+ # Whether the file has been shared.
1484
+ # Corresponds to the JSON property `shared`
1485
+ # @return [Boolean]
1486
+ attr_accessor :shared
1487
+ alias_method :shared?, :shared
1488
+
1489
+ # Time at which this file was shared with the user (formatted RFC 3339 timestamp)
1490
+ # .
1491
+ # Corresponds to the JSON property `sharedWithMeDate`
1492
+ # @return [DateTime]
1493
+ attr_accessor :shared_with_me_date
1494
+
1495
+ # Information about a Drive user.
1496
+ # Corresponds to the JSON property `sharingUser`
1497
+ # @return [Google::Apis::DriveV2::User]
1498
+ attr_accessor :sharing_user
1499
+
1500
+ # The list of spaces which contain the file. Supported values are 'drive', '
1501
+ # appDataFolder' and 'photos'.
1502
+ # Corresponds to the JSON property `spaces`
1503
+ # @return [Array<String>]
1504
+ attr_accessor :spaces
1505
+
1506
+ # A thumbnail for the file. This will only be used if Drive cannot generate a
1507
+ # standard thumbnail.
1508
+ # Corresponds to the JSON property `thumbnail`
1509
+ # @return [Google::Apis::DriveV2::File::Thumbnail]
1510
+ attr_accessor :thumbnail
1511
+
1512
+ # A short-lived link to the file's thumbnail. Typically lasts on the order of
1513
+ # hours. Only populated when the requesting app can access the file's content.
1514
+ # Corresponds to the JSON property `thumbnailLink`
1515
+ # @return [String]
1516
+ attr_accessor :thumbnail_link
1517
+
1518
+ # The thumbnail version for use in thumbnail cache invalidation.
1519
+ # Corresponds to the JSON property `thumbnailVersion`
1520
+ # @return [String]
1521
+ attr_accessor :thumbnail_version
1522
+
1523
+ # The title of this file.
1524
+ # Corresponds to the JSON property `title`
1525
+ # @return [String]
1526
+ attr_accessor :title
1527
+
1528
+ # A permission for a file.
1529
+ # Corresponds to the JSON property `userPermission`
1530
+ # @return [Google::Apis::DriveV2::Permission]
1531
+ attr_accessor :user_permission
1532
+
1533
+ # A monotonically increasing version number for the file. This reflects every
1534
+ # change made to the file on the server, even those not visible to the
1535
+ # requesting user.
1536
+ # Corresponds to the JSON property `version`
1537
+ # @return [String]
1538
+ attr_accessor :version
1539
+
1540
+ # Metadata about video media. This will only be present for video types.
1541
+ # Corresponds to the JSON property `videoMediaMetadata`
1542
+ # @return [Google::Apis::DriveV2::File::VideoMediaMetadata]
1543
+ attr_accessor :video_media_metadata
1544
+
1545
+ # A link for downloading the content of the file in a browser using cookie based
1546
+ # authentication. In cases where the content is shared publicly, the content can
1547
+ # be downloaded without any credentials.
1548
+ # Corresponds to the JSON property `webContentLink`
1549
+ # @return [String]
1550
+ attr_accessor :web_content_link
1551
+
1552
+ # A link only available on public folders for viewing their static web assets (
1553
+ # HTML, CSS, JS, etc) via Google Drive's Website Hosting.
1554
+ # Corresponds to the JSON property `webViewLink`
1555
+ # @return [String]
1556
+ attr_accessor :web_view_link
1557
+
1558
+ # Whether writers can share the document with other users.
1559
+ # Corresponds to the JSON property `writersCanShare`
1560
+ # @return [Boolean]
1561
+ attr_accessor :writers_can_share
1562
+ alias_method :writers_can_share?, :writers_can_share
1563
+
1564
+ def initialize(**args)
1565
+ update!(**args)
1566
+ end
1567
+
1568
+ # Update properties of this object
1569
+ def update!(**args)
1570
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1571
+ @app_data_contents = args[:app_data_contents] if args.key?(:app_data_contents)
1572
+ @can_comment = args[:can_comment] if args.key?(:can_comment)
1573
+ @can_read_revisions = args[:can_read_revisions] if args.key?(:can_read_revisions)
1574
+ @copyable = args[:copyable] if args.key?(:copyable)
1575
+ @created_date = args[:created_date] if args.key?(:created_date)
1576
+ @default_open_with_link = args[:default_open_with_link] if args.key?(:default_open_with_link)
1577
+ @description = args[:description] if args.key?(:description)
1578
+ @download_url = args[:download_url] if args.key?(:download_url)
1579
+ @editable = args[:editable] if args.key?(:editable)
1580
+ @embed_link = args[:embed_link] if args.key?(:embed_link)
1581
+ @etag = args[:etag] if args.key?(:etag)
1582
+ @explicitly_trashed = args[:explicitly_trashed] if args.key?(:explicitly_trashed)
1583
+ @export_links = args[:export_links] if args.key?(:export_links)
1584
+ @file_extension = args[:file_extension] if args.key?(:file_extension)
1585
+ @file_size = args[:file_size] if args.key?(:file_size)
1586
+ @folder_color_rgb = args[:folder_color_rgb] if args.key?(:folder_color_rgb)
1587
+ @full_file_extension = args[:full_file_extension] if args.key?(:full_file_extension)
1588
+ @has_thumbnail = args[:has_thumbnail] if args.key?(:has_thumbnail)
1589
+ @head_revision_id = args[:head_revision_id] if args.key?(:head_revision_id)
1590
+ @icon_link = args[:icon_link] if args.key?(:icon_link)
1591
+ @id = args[:id] if args.key?(:id)
1592
+ @image_media_metadata = args[:image_media_metadata] if args.key?(:image_media_metadata)
1593
+ @indexable_text = args[:indexable_text] if args.key?(:indexable_text)
1594
+ @is_app_authorized = args[:is_app_authorized] if args.key?(:is_app_authorized)
1595
+ @kind = args[:kind] if args.key?(:kind)
1596
+ @labels = args[:labels] if args.key?(:labels)
1597
+ @last_modifying_user = args[:last_modifying_user] if args.key?(:last_modifying_user)
1598
+ @last_modifying_user_name = args[:last_modifying_user_name] if args.key?(:last_modifying_user_name)
1599
+ @last_viewed_by_me_date = args[:last_viewed_by_me_date] if args.key?(:last_viewed_by_me_date)
1600
+ @marked_viewed_by_me_date = args[:marked_viewed_by_me_date] if args.key?(:marked_viewed_by_me_date)
1601
+ @md5_checksum = args[:md5_checksum] if args.key?(:md5_checksum)
1602
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1603
+ @modified_by_me_date = args[:modified_by_me_date] if args.key?(:modified_by_me_date)
1604
+ @modified_date = args[:modified_date] if args.key?(:modified_date)
1605
+ @open_with_links = args[:open_with_links] if args.key?(:open_with_links)
1606
+ @original_filename = args[:original_filename] if args.key?(:original_filename)
1607
+ @owned_by_me = args[:owned_by_me] if args.key?(:owned_by_me)
1608
+ @owner_names = args[:owner_names] if args.key?(:owner_names)
1609
+ @owners = args[:owners] if args.key?(:owners)
1610
+ @parents = args[:parents] if args.key?(:parents)
1611
+ @permissions = args[:permissions] if args.key?(:permissions)
1612
+ @properties = args[:properties] if args.key?(:properties)
1613
+ @quota_bytes_used = args[:quota_bytes_used] if args.key?(:quota_bytes_used)
1614
+ @self_link = args[:self_link] if args.key?(:self_link)
1615
+ @shareable = args[:shareable] if args.key?(:shareable)
1616
+ @shared = args[:shared] if args.key?(:shared)
1617
+ @shared_with_me_date = args[:shared_with_me_date] if args.key?(:shared_with_me_date)
1618
+ @sharing_user = args[:sharing_user] if args.key?(:sharing_user)
1619
+ @spaces = args[:spaces] if args.key?(:spaces)
1620
+ @thumbnail = args[:thumbnail] if args.key?(:thumbnail)
1621
+ @thumbnail_link = args[:thumbnail_link] if args.key?(:thumbnail_link)
1622
+ @thumbnail_version = args[:thumbnail_version] if args.key?(:thumbnail_version)
1623
+ @title = args[:title] if args.key?(:title)
1624
+ @user_permission = args[:user_permission] if args.key?(:user_permission)
1625
+ @version = args[:version] if args.key?(:version)
1626
+ @video_media_metadata = args[:video_media_metadata] if args.key?(:video_media_metadata)
1627
+ @web_content_link = args[:web_content_link] if args.key?(:web_content_link)
1628
+ @web_view_link = args[:web_view_link] if args.key?(:web_view_link)
1629
+ @writers_can_share = args[:writers_can_share] if args.key?(:writers_can_share)
1630
+ end
1631
+
1632
+ # Metadata about image media. This will only be present for image types, and its
1633
+ # contents will depend on what can be parsed from the image content.
1634
+ class ImageMediaMetadata
1635
+ include Google::Apis::Core::Hashable
1636
+
1637
+ # The aperture used to create the photo (f-number).
1638
+ # Corresponds to the JSON property `aperture`
1639
+ # @return [Float]
1640
+ attr_accessor :aperture
1641
+
1642
+ # The make of the camera used to create the photo.
1643
+ # Corresponds to the JSON property `cameraMake`
1644
+ # @return [String]
1645
+ attr_accessor :camera_make
1646
+
1647
+ # The model of the camera used to create the photo.
1648
+ # Corresponds to the JSON property `cameraModel`
1649
+ # @return [String]
1650
+ attr_accessor :camera_model
1651
+
1652
+ # The color space of the photo.
1653
+ # Corresponds to the JSON property `colorSpace`
1654
+ # @return [String]
1655
+ attr_accessor :color_space
1656
+
1657
+ # The date and time the photo was taken (EXIF format timestamp).
1658
+ # Corresponds to the JSON property `date`
1659
+ # @return [String]
1660
+ attr_accessor :date
1661
+
1662
+ # The exposure bias of the photo (APEX value).
1663
+ # Corresponds to the JSON property `exposureBias`
1664
+ # @return [Float]
1665
+ attr_accessor :exposure_bias
1666
+
1667
+ # The exposure mode used to create the photo.
1668
+ # Corresponds to the JSON property `exposureMode`
1669
+ # @return [String]
1670
+ attr_accessor :exposure_mode
1671
+
1672
+ # The length of the exposure, in seconds.
1673
+ # Corresponds to the JSON property `exposureTime`
1674
+ # @return [Float]
1675
+ attr_accessor :exposure_time
1676
+
1677
+ # Whether a flash was used to create the photo.
1678
+ # Corresponds to the JSON property `flashUsed`
1679
+ # @return [Boolean]
1680
+ attr_accessor :flash_used
1681
+ alias_method :flash_used?, :flash_used
1682
+
1683
+ # The focal length used to create the photo, in millimeters.
1684
+ # Corresponds to the JSON property `focalLength`
1685
+ # @return [Float]
1686
+ attr_accessor :focal_length
1687
+
1688
+ # The height of the image in pixels.
1689
+ # Corresponds to the JSON property `height`
1690
+ # @return [Fixnum]
1691
+ attr_accessor :height
1692
+
1693
+ # The ISO speed used to create the photo.
1694
+ # Corresponds to the JSON property `isoSpeed`
1695
+ # @return [Fixnum]
1696
+ attr_accessor :iso_speed
1697
+
1698
+ # The lens used to create the photo.
1699
+ # Corresponds to the JSON property `lens`
1700
+ # @return [String]
1701
+ attr_accessor :lens
1702
+
1703
+ # Geographic location information stored in the image.
1704
+ # Corresponds to the JSON property `location`
1705
+ # @return [Google::Apis::DriveV2::File::ImageMediaMetadata::Location]
1706
+ attr_accessor :location
1707
+
1708
+ # The smallest f-number of the lens at the focal length used to create the photo
1709
+ # (APEX value).
1710
+ # Corresponds to the JSON property `maxApertureValue`
1711
+ # @return [Float]
1712
+ attr_accessor :max_aperture_value
1713
+
1714
+ # The metering mode used to create the photo.
1715
+ # Corresponds to the JSON property `meteringMode`
1716
+ # @return [String]
1717
+ attr_accessor :metering_mode
1718
+
1719
+ # The rotation in clockwise degrees from the image's original orientation.
1720
+ # Corresponds to the JSON property `rotation`
1721
+ # @return [Fixnum]
1722
+ attr_accessor :rotation
1723
+
1724
+ # The type of sensor used to create the photo.
1725
+ # Corresponds to the JSON property `sensor`
1726
+ # @return [String]
1727
+ attr_accessor :sensor
1728
+
1729
+ # The distance to the subject of the photo, in meters.
1730
+ # Corresponds to the JSON property `subjectDistance`
1731
+ # @return [Fixnum]
1732
+ attr_accessor :subject_distance
1733
+
1734
+ # The white balance mode used to create the photo.
1735
+ # Corresponds to the JSON property `whiteBalance`
1736
+ # @return [String]
1737
+ attr_accessor :white_balance
1738
+
1739
+ # The width of the image in pixels.
1740
+ # Corresponds to the JSON property `width`
1741
+ # @return [Fixnum]
1742
+ attr_accessor :width
1743
+
1744
+ def initialize(**args)
1745
+ update!(**args)
1746
+ end
1747
+
1748
+ # Update properties of this object
1749
+ def update!(**args)
1750
+ @aperture = args[:aperture] if args.key?(:aperture)
1751
+ @camera_make = args[:camera_make] if args.key?(:camera_make)
1752
+ @camera_model = args[:camera_model] if args.key?(:camera_model)
1753
+ @color_space = args[:color_space] if args.key?(:color_space)
1754
+ @date = args[:date] if args.key?(:date)
1755
+ @exposure_bias = args[:exposure_bias] if args.key?(:exposure_bias)
1756
+ @exposure_mode = args[:exposure_mode] if args.key?(:exposure_mode)
1757
+ @exposure_time = args[:exposure_time] if args.key?(:exposure_time)
1758
+ @flash_used = args[:flash_used] if args.key?(:flash_used)
1759
+ @focal_length = args[:focal_length] if args.key?(:focal_length)
1760
+ @height = args[:height] if args.key?(:height)
1761
+ @iso_speed = args[:iso_speed] if args.key?(:iso_speed)
1762
+ @lens = args[:lens] if args.key?(:lens)
1763
+ @location = args[:location] if args.key?(:location)
1764
+ @max_aperture_value = args[:max_aperture_value] if args.key?(:max_aperture_value)
1765
+ @metering_mode = args[:metering_mode] if args.key?(:metering_mode)
1766
+ @rotation = args[:rotation] if args.key?(:rotation)
1767
+ @sensor = args[:sensor] if args.key?(:sensor)
1768
+ @subject_distance = args[:subject_distance] if args.key?(:subject_distance)
1769
+ @white_balance = args[:white_balance] if args.key?(:white_balance)
1770
+ @width = args[:width] if args.key?(:width)
1771
+ end
1772
+
1773
+ # Geographic location information stored in the image.
1774
+ class Location
1775
+ include Google::Apis::Core::Hashable
1776
+
1777
+ # The altitude stored in the image.
1778
+ # Corresponds to the JSON property `altitude`
1779
+ # @return [Float]
1780
+ attr_accessor :altitude
1781
+
1782
+ # The latitude stored in the image.
1783
+ # Corresponds to the JSON property `latitude`
1784
+ # @return [Float]
1785
+ attr_accessor :latitude
1786
+
1787
+ # The longitude stored in the image.
1788
+ # Corresponds to the JSON property `longitude`
1789
+ # @return [Float]
1790
+ attr_accessor :longitude
1791
+
1792
+ def initialize(**args)
1793
+ update!(**args)
1794
+ end
1795
+
1796
+ # Update properties of this object
1797
+ def update!(**args)
1798
+ @altitude = args[:altitude] if args.key?(:altitude)
1799
+ @latitude = args[:latitude] if args.key?(:latitude)
1800
+ @longitude = args[:longitude] if args.key?(:longitude)
1801
+ end
1802
+ end
1803
+ end
1804
+
1805
+ # Indexable text attributes for the file (can only be written)
1806
+ class IndexableText
1807
+ include Google::Apis::Core::Hashable
1808
+
1809
+ # The text to be indexed for this file.
1810
+ # Corresponds to the JSON property `text`
1811
+ # @return [String]
1812
+ attr_accessor :text
1813
+
1814
+ def initialize(**args)
1815
+ update!(**args)
1816
+ end
1817
+
1818
+ # Update properties of this object
1819
+ def update!(**args)
1820
+ @text = args[:text] if args.key?(:text)
1821
+ end
1822
+ end
1823
+
1824
+ # A group of labels for the file.
1825
+ class Labels
1826
+ include Google::Apis::Core::Hashable
1827
+
1828
+ # Deprecated.
1829
+ # Corresponds to the JSON property `hidden`
1830
+ # @return [Boolean]
1831
+ attr_accessor :hidden
1832
+ alias_method :hidden?, :hidden
1833
+
1834
+ # Whether the file has been modified by this user.
1835
+ # Corresponds to the JSON property `modified`
1836
+ # @return [Boolean]
1837
+ attr_accessor :modified
1838
+ alias_method :modified?, :modified
1839
+
1840
+ # Whether viewers and commenters are prevented from downloading, printing, and
1841
+ # copying this file.
1842
+ # Corresponds to the JSON property `restricted`
1843
+ # @return [Boolean]
1844
+ attr_accessor :restricted
1845
+ alias_method :restricted?, :restricted
1846
+
1847
+ # Whether this file is starred by the user.
1848
+ # Corresponds to the JSON property `starred`
1849
+ # @return [Boolean]
1850
+ attr_accessor :starred
1851
+ alias_method :starred?, :starred
1852
+
1853
+ # Whether this file has been trashed. This label applies to all users accessing
1854
+ # the file; however, only owners are allowed to see and untrash files.
1855
+ # Corresponds to the JSON property `trashed`
1856
+ # @return [Boolean]
1857
+ attr_accessor :trashed
1858
+ alias_method :trashed?, :trashed
1859
+
1860
+ # Whether this file has been viewed by this user.
1861
+ # Corresponds to the JSON property `viewed`
1862
+ # @return [Boolean]
1863
+ attr_accessor :viewed
1864
+ alias_method :viewed?, :viewed
1865
+
1866
+ def initialize(**args)
1867
+ update!(**args)
1868
+ end
1869
+
1870
+ # Update properties of this object
1871
+ def update!(**args)
1872
+ @hidden = args[:hidden] if args.key?(:hidden)
1873
+ @modified = args[:modified] if args.key?(:modified)
1874
+ @restricted = args[:restricted] if args.key?(:restricted)
1875
+ @starred = args[:starred] if args.key?(:starred)
1876
+ @trashed = args[:trashed] if args.key?(:trashed)
1877
+ @viewed = args[:viewed] if args.key?(:viewed)
1878
+ end
1879
+ end
1880
+
1881
+ # A thumbnail for the file. This will only be used if Drive cannot generate a
1882
+ # standard thumbnail.
1883
+ class Thumbnail
1884
+ include Google::Apis::Core::Hashable
1885
+
1886
+ # The URL-safe Base64 encoded bytes of the thumbnail image. It should conform to
1887
+ # RFC 4648 section 5.
1888
+ # Corresponds to the JSON property `image`
1889
+ # @return [String]
1890
+ attr_accessor :image
1891
+
1892
+ # The MIME type of the thumbnail.
1893
+ # Corresponds to the JSON property `mimeType`
1894
+ # @return [String]
1895
+ attr_accessor :mime_type
1896
+
1897
+ def initialize(**args)
1898
+ update!(**args)
1899
+ end
1900
+
1901
+ # Update properties of this object
1902
+ def update!(**args)
1903
+ @image = args[:image] if args.key?(:image)
1904
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1905
+ end
1906
+ end
1907
+
1908
+ # Metadata about video media. This will only be present for video types.
1909
+ class VideoMediaMetadata
1910
+ include Google::Apis::Core::Hashable
1911
+
1912
+ # The duration of the video in milliseconds.
1913
+ # Corresponds to the JSON property `durationMillis`
1914
+ # @return [String]
1915
+ attr_accessor :duration_millis
1916
+
1917
+ # The height of the video in pixels.
1918
+ # Corresponds to the JSON property `height`
1919
+ # @return [Fixnum]
1920
+ attr_accessor :height
1921
+
1922
+ # The width of the video in pixels.
1923
+ # Corresponds to the JSON property `width`
1924
+ # @return [Fixnum]
1925
+ attr_accessor :width
1926
+
1927
+ def initialize(**args)
1928
+ update!(**args)
1929
+ end
1930
+
1931
+ # Update properties of this object
1932
+ def update!(**args)
1933
+ @duration_millis = args[:duration_millis] if args.key?(:duration_millis)
1934
+ @height = args[:height] if args.key?(:height)
1935
+ @width = args[:width] if args.key?(:width)
1936
+ end
1937
+ end
1938
+ end
1939
+
1940
+ # A list of files.
1941
+ class FileList
1942
+ include Google::Apis::Core::Hashable
1943
+
1944
+ # The ETag of the list.
1945
+ # Corresponds to the JSON property `etag`
1946
+ # @return [String]
1947
+ attr_accessor :etag
1948
+
1949
+ # The list of files. If nextPageToken is populated, then this list may be
1950
+ # incomplete and an additional page of results should be fetched.
1951
+ # Corresponds to the JSON property `items`
1952
+ # @return [Array<Google::Apis::DriveV2::File>]
1953
+ attr_accessor :items
1954
+
1955
+ # This is always drive#fileList.
1956
+ # Corresponds to the JSON property `kind`
1957
+ # @return [String]
1958
+ attr_accessor :kind
1959
+
1960
+ # A link to the next page of files.
1961
+ # Corresponds to the JSON property `nextLink`
1962
+ # @return [String]
1963
+ attr_accessor :next_link
1964
+
1965
+ # The page token for the next page of files. This will be absent if the end of
1966
+ # the files list has been reached. If the token is rejected for any reason, it
1967
+ # should be discarded, and pagination should be restarted from the first page of
1968
+ # results.
1969
+ # Corresponds to the JSON property `nextPageToken`
1970
+ # @return [String]
1971
+ attr_accessor :next_page_token
1972
+
1973
+ # A link back to this list.
1974
+ # Corresponds to the JSON property `selfLink`
1975
+ # @return [String]
1976
+ attr_accessor :self_link
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @etag = args[:etag] if args.key?(:etag)
1985
+ @items = args[:items] if args.key?(:items)
1986
+ @kind = args[:kind] if args.key?(:kind)
1987
+ @next_link = args[:next_link] if args.key?(:next_link)
1988
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1989
+ @self_link = args[:self_link] if args.key?(:self_link)
1990
+ end
1991
+ end
1992
+
1993
+ # A list of generated IDs which can be provided in insert requests
1994
+ class GeneratedIds
1995
+ include Google::Apis::Core::Hashable
1996
+
1997
+ # The IDs generated for the requesting user in the specified space.
1998
+ # Corresponds to the JSON property `ids`
1999
+ # @return [Array<String>]
2000
+ attr_accessor :ids
2001
+
2002
+ # This is always drive#generatedIds
2003
+ # Corresponds to the JSON property `kind`
2004
+ # @return [String]
2005
+ attr_accessor :kind
2006
+
2007
+ # The type of file that can be created with these IDs.
2008
+ # Corresponds to the JSON property `space`
2009
+ # @return [String]
2010
+ attr_accessor :space
2011
+
2012
+ def initialize(**args)
2013
+ update!(**args)
2014
+ end
2015
+
2016
+ # Update properties of this object
2017
+ def update!(**args)
2018
+ @ids = args[:ids] if args.key?(:ids)
2019
+ @kind = args[:kind] if args.key?(:kind)
2020
+ @space = args[:space] if args.key?(:space)
2021
+ end
2022
+ end
2023
+
2024
+ # A list of a file's parents.
2025
+ class ParentList
2026
+ include Google::Apis::Core::Hashable
2027
+
2028
+ # The ETag of the list.
2029
+ # Corresponds to the JSON property `etag`
2030
+ # @return [String]
2031
+ attr_accessor :etag
2032
+
2033
+ # The list of parents.
2034
+ # Corresponds to the JSON property `items`
2035
+ # @return [Array<Google::Apis::DriveV2::ParentReference>]
2036
+ attr_accessor :items
2037
+
2038
+ # This is always drive#parentList.
2039
+ # Corresponds to the JSON property `kind`
2040
+ # @return [String]
2041
+ attr_accessor :kind
2042
+
2043
+ # A link back to this list.
2044
+ # Corresponds to the JSON property `selfLink`
2045
+ # @return [String]
2046
+ attr_accessor :self_link
2047
+
2048
+ def initialize(**args)
2049
+ update!(**args)
2050
+ end
2051
+
2052
+ # Update properties of this object
2053
+ def update!(**args)
2054
+ @etag = args[:etag] if args.key?(:etag)
2055
+ @items = args[:items] if args.key?(:items)
2056
+ @kind = args[:kind] if args.key?(:kind)
2057
+ @self_link = args[:self_link] if args.key?(:self_link)
2058
+ end
2059
+ end
2060
+
2061
+ # A reference to a file's parent.
2062
+ class ParentReference
2063
+ include Google::Apis::Core::Hashable
2064
+
2065
+ # The ID of the parent.
2066
+ # Corresponds to the JSON property `id`
2067
+ # @return [String]
2068
+ attr_accessor :id
2069
+
2070
+ # Whether or not the parent is the root folder.
2071
+ # Corresponds to the JSON property `isRoot`
2072
+ # @return [Boolean]
2073
+ attr_accessor :is_root
2074
+ alias_method :is_root?, :is_root
2075
+
2076
+ # This is always drive#parentReference.
2077
+ # Corresponds to the JSON property `kind`
2078
+ # @return [String]
2079
+ attr_accessor :kind
2080
+
2081
+ # A link to the parent.
2082
+ # Corresponds to the JSON property `parentLink`
2083
+ # @return [String]
2084
+ attr_accessor :parent_link
2085
+
2086
+ # A link back to this reference.
2087
+ # Corresponds to the JSON property `selfLink`
2088
+ # @return [String]
2089
+ attr_accessor :self_link
2090
+
2091
+ def initialize(**args)
2092
+ update!(**args)
2093
+ end
2094
+
2095
+ # Update properties of this object
2096
+ def update!(**args)
2097
+ @id = args[:id] if args.key?(:id)
2098
+ @is_root = args[:is_root] if args.key?(:is_root)
2099
+ @kind = args[:kind] if args.key?(:kind)
2100
+ @parent_link = args[:parent_link] if args.key?(:parent_link)
2101
+ @self_link = args[:self_link] if args.key?(:self_link)
2102
+ end
2103
+ end
2104
+
2105
+ # A permission for a file.
2106
+ class Permission
2107
+ include Google::Apis::Core::Hashable
2108
+
2109
+ # Additional roles for this user. Only commenter is currently allowed.
2110
+ # Corresponds to the JSON property `additionalRoles`
2111
+ # @return [Array<String>]
2112
+ attr_accessor :additional_roles
2113
+
2114
+ # The authkey parameter required for this permission.
2115
+ # Corresponds to the JSON property `authKey`
2116
+ # @return [String]
2117
+ attr_accessor :auth_key
2118
+
2119
+ # The domain name of the entity this permission refers to. This is an output-
2120
+ # only field which is present when the permission type is user, group or domain.
2121
+ # Corresponds to the JSON property `domain`
2122
+ # @return [String]
2123
+ attr_accessor :domain
2124
+
2125
+ # The email address of the user or group this permission refers to. This is an
2126
+ # output-only field which is present when the permission type is user or group.
2127
+ # Corresponds to the JSON property `emailAddress`
2128
+ # @return [String]
2129
+ attr_accessor :email_address
2130
+
2131
+ # The ETag of the permission.
2132
+ # Corresponds to the JSON property `etag`
2133
+ # @return [String]
2134
+ attr_accessor :etag
2135
+
2136
+ # The time at which this permission will expire (RFC 3339 date-time).
2137
+ # Corresponds to the JSON property `expirationDate`
2138
+ # @return [DateTime]
2139
+ attr_accessor :expiration_date
2140
+
2141
+ # The ID of the user this permission refers to, and identical to the
2142
+ # permissionId in the About and Files resources. When making a drive.permissions.
2143
+ # insert request, exactly one of the id or value fields must be specified unless
2144
+ # the permission type is anyone, in which case both id and value are ignored.
2145
+ # Corresponds to the JSON property `id`
2146
+ # @return [String]
2147
+ attr_accessor :id
2148
+
2149
+ # This is always drive#permission.
2150
+ # Corresponds to the JSON property `kind`
2151
+ # @return [String]
2152
+ attr_accessor :kind
2153
+
2154
+ # The name for this permission.
2155
+ # Corresponds to the JSON property `name`
2156
+ # @return [String]
2157
+ attr_accessor :name
2158
+
2159
+ # A link to the profile photo, if available.
2160
+ # Corresponds to the JSON property `photoLink`
2161
+ # @return [String]
2162
+ attr_accessor :photo_link
2163
+
2164
+ # The primary role for this user. Allowed values are:
2165
+ # - owner
2166
+ # - reader
2167
+ # - writer
2168
+ # Corresponds to the JSON property `role`
2169
+ # @return [String]
2170
+ attr_accessor :role
2171
+
2172
+ # A link back to this permission.
2173
+ # Corresponds to the JSON property `selfLink`
2174
+ # @return [String]
2175
+ attr_accessor :self_link
2176
+
2177
+ # The account type. Allowed values are:
2178
+ # - user
2179
+ # - group
2180
+ # - domain
2181
+ # - anyone
2182
+ # Corresponds to the JSON property `type`
2183
+ # @return [String]
2184
+ attr_accessor :type
2185
+
2186
+ # The email address or domain name for the entity. This is used during inserts
2187
+ # and is not populated in responses. When making a drive.permissions.insert
2188
+ # request, exactly one of the id or value fields must be specified unless the
2189
+ # permission type is anyone, in which case both id and value are ignored.
2190
+ # Corresponds to the JSON property `value`
2191
+ # @return [String]
2192
+ attr_accessor :value
2193
+
2194
+ # Whether the link is required for this permission.
2195
+ # Corresponds to the JSON property `withLink`
2196
+ # @return [Boolean]
2197
+ attr_accessor :with_link
2198
+ alias_method :with_link?, :with_link
2199
+
2200
+ def initialize(**args)
2201
+ update!(**args)
2202
+ end
2203
+
2204
+ # Update properties of this object
2205
+ def update!(**args)
2206
+ @additional_roles = args[:additional_roles] if args.key?(:additional_roles)
2207
+ @auth_key = args[:auth_key] if args.key?(:auth_key)
2208
+ @domain = args[:domain] if args.key?(:domain)
2209
+ @email_address = args[:email_address] if args.key?(:email_address)
2210
+ @etag = args[:etag] if args.key?(:etag)
2211
+ @expiration_date = args[:expiration_date] if args.key?(:expiration_date)
2212
+ @id = args[:id] if args.key?(:id)
2213
+ @kind = args[:kind] if args.key?(:kind)
2214
+ @name = args[:name] if args.key?(:name)
2215
+ @photo_link = args[:photo_link] if args.key?(:photo_link)
2216
+ @role = args[:role] if args.key?(:role)
2217
+ @self_link = args[:self_link] if args.key?(:self_link)
2218
+ @type = args[:type] if args.key?(:type)
2219
+ @value = args[:value] if args.key?(:value)
2220
+ @with_link = args[:with_link] if args.key?(:with_link)
2221
+ end
2222
+ end
2223
+
2224
+ # An ID for a user or group as seen in Permission items.
2225
+ class PermissionId
2226
+ include Google::Apis::Core::Hashable
2227
+
2228
+ # The permission ID.
2229
+ # Corresponds to the JSON property `id`
2230
+ # @return [String]
2231
+ attr_accessor :id
2232
+
2233
+ # This is always drive#permissionId.
2234
+ # Corresponds to the JSON property `kind`
2235
+ # @return [String]
2236
+ attr_accessor :kind
2237
+
2238
+ def initialize(**args)
2239
+ update!(**args)
2240
+ end
2241
+
2242
+ # Update properties of this object
2243
+ def update!(**args)
2244
+ @id = args[:id] if args.key?(:id)
2245
+ @kind = args[:kind] if args.key?(:kind)
2246
+ end
2247
+ end
2248
+
2249
+ # A list of permissions associated with a file.
2250
+ class PermissionList
2251
+ include Google::Apis::Core::Hashable
2252
+
2253
+ # The ETag of the list.
2254
+ # Corresponds to the JSON property `etag`
2255
+ # @return [String]
2256
+ attr_accessor :etag
2257
+
2258
+ # The list of permissions.
2259
+ # Corresponds to the JSON property `items`
2260
+ # @return [Array<Google::Apis::DriveV2::Permission>]
2261
+ attr_accessor :items
2262
+
2263
+ # This is always drive#permissionList.
2264
+ # Corresponds to the JSON property `kind`
2265
+ # @return [String]
2266
+ attr_accessor :kind
2267
+
2268
+ # A link back to this list.
2269
+ # Corresponds to the JSON property `selfLink`
2270
+ # @return [String]
2271
+ attr_accessor :self_link
2272
+
2273
+ def initialize(**args)
2274
+ update!(**args)
2275
+ end
2276
+
2277
+ # Update properties of this object
2278
+ def update!(**args)
2279
+ @etag = args[:etag] if args.key?(:etag)
2280
+ @items = args[:items] if args.key?(:items)
2281
+ @kind = args[:kind] if args.key?(:kind)
2282
+ @self_link = args[:self_link] if args.key?(:self_link)
2283
+ end
2284
+ end
2285
+
2286
+ # A key-value pair attached to a file that is either public or private to an
2287
+ # application.
2288
+ # The following limits apply to file properties:
2289
+ # - Maximum of 100 properties total per file
2290
+ # - Maximum of 30 private properties per app
2291
+ # - Maximum of 30 public properties
2292
+ # - Maximum of 124 bytes size limit on (key + value) string in UTF-8 encoding
2293
+ # for a single property.
2294
+ class Property
2295
+ include Google::Apis::Core::Hashable
2296
+
2297
+ # ETag of the property.
2298
+ # Corresponds to the JSON property `etag`
2299
+ # @return [String]
2300
+ attr_accessor :etag
2301
+
2302
+ # The key of this property.
2303
+ # Corresponds to the JSON property `key`
2304
+ # @return [String]
2305
+ attr_accessor :key
2306
+
2307
+ # This is always drive#property.
2308
+ # Corresponds to the JSON property `kind`
2309
+ # @return [String]
2310
+ attr_accessor :kind
2311
+
2312
+ # The link back to this property.
2313
+ # Corresponds to the JSON property `selfLink`
2314
+ # @return [String]
2315
+ attr_accessor :self_link
2316
+
2317
+ # The value of this property.
2318
+ # Corresponds to the JSON property `value`
2319
+ # @return [String]
2320
+ attr_accessor :value
2321
+
2322
+ # The visibility of this property.
2323
+ # Corresponds to the JSON property `visibility`
2324
+ # @return [String]
2325
+ attr_accessor :visibility
2326
+
2327
+ def initialize(**args)
2328
+ update!(**args)
2329
+ end
2330
+
2331
+ # Update properties of this object
2332
+ def update!(**args)
2333
+ @etag = args[:etag] if args.key?(:etag)
2334
+ @key = args[:key] if args.key?(:key)
2335
+ @kind = args[:kind] if args.key?(:kind)
2336
+ @self_link = args[:self_link] if args.key?(:self_link)
2337
+ @value = args[:value] if args.key?(:value)
2338
+ @visibility = args[:visibility] if args.key?(:visibility)
2339
+ end
2340
+ end
2341
+
2342
+ # A collection of properties, key-value pairs that are either public or private
2343
+ # to an application.
2344
+ class PropertyList
2345
+ include Google::Apis::Core::Hashable
2346
+
2347
+ # The ETag of the list.
2348
+ # Corresponds to the JSON property `etag`
2349
+ # @return [String]
2350
+ attr_accessor :etag
2351
+
2352
+ # The list of properties.
2353
+ # Corresponds to the JSON property `items`
2354
+ # @return [Array<Google::Apis::DriveV2::Property>]
2355
+ attr_accessor :items
2356
+
2357
+ # This is always drive#propertyList.
2358
+ # Corresponds to the JSON property `kind`
2359
+ # @return [String]
2360
+ attr_accessor :kind
2361
+
2362
+ # The link back to this list.
2363
+ # Corresponds to the JSON property `selfLink`
2364
+ # @return [String]
2365
+ attr_accessor :self_link
2366
+
2367
+ def initialize(**args)
2368
+ update!(**args)
2369
+ end
2370
+
2371
+ # Update properties of this object
2372
+ def update!(**args)
2373
+ @etag = args[:etag] if args.key?(:etag)
2374
+ @items = args[:items] if args.key?(:items)
2375
+ @kind = args[:kind] if args.key?(:kind)
2376
+ @self_link = args[:self_link] if args.key?(:self_link)
2377
+ end
2378
+ end
2379
+
2380
+ # A revision of a file.
2381
+ class Revision
2382
+ include Google::Apis::Core::Hashable
2383
+
2384
+ # Short term download URL for the file. This will only be populated on files
2385
+ # with content stored in Drive.
2386
+ # Corresponds to the JSON property `downloadUrl`
2387
+ # @return [String]
2388
+ attr_accessor :download_url
2389
+
2390
+ # The ETag of the revision.
2391
+ # Corresponds to the JSON property `etag`
2392
+ # @return [String]
2393
+ attr_accessor :etag
2394
+
2395
+ # Links for exporting Google Docs to specific formats.
2396
+ # Corresponds to the JSON property `exportLinks`
2397
+ # @return [Hash<String,String>]
2398
+ attr_accessor :export_links
2399
+
2400
+ # The size of the revision in bytes. This will only be populated on files with
2401
+ # content stored in Drive.
2402
+ # Corresponds to the JSON property `fileSize`
2403
+ # @return [String]
2404
+ attr_accessor :file_size
2405
+
2406
+ # The ID of the revision.
2407
+ # Corresponds to the JSON property `id`
2408
+ # @return [String]
2409
+ attr_accessor :id
2410
+
2411
+ # This is always drive#revision.
2412
+ # Corresponds to the JSON property `kind`
2413
+ # @return [String]
2414
+ attr_accessor :kind
2415
+
2416
+ # Information about a Drive user.
2417
+ # Corresponds to the JSON property `lastModifyingUser`
2418
+ # @return [Google::Apis::DriveV2::User]
2419
+ attr_accessor :last_modifying_user
2420
+
2421
+ # Name of the last user to modify this revision.
2422
+ # Corresponds to the JSON property `lastModifyingUserName`
2423
+ # @return [String]
2424
+ attr_accessor :last_modifying_user_name
2425
+
2426
+ # An MD5 checksum for the content of this revision. This will only be populated
2427
+ # on files with content stored in Drive.
2428
+ # Corresponds to the JSON property `md5Checksum`
2429
+ # @return [String]
2430
+ attr_accessor :md5_checksum
2431
+
2432
+ # The MIME type of the revision.
2433
+ # Corresponds to the JSON property `mimeType`
2434
+ # @return [String]
2435
+ attr_accessor :mime_type
2436
+
2437
+ # Last time this revision was modified (formatted RFC 3339 timestamp).
2438
+ # Corresponds to the JSON property `modifiedDate`
2439
+ # @return [DateTime]
2440
+ attr_accessor :modified_date
2441
+
2442
+ # The original filename when this revision was created. This will only be
2443
+ # populated on files with content stored in Drive.
2444
+ # Corresponds to the JSON property `originalFilename`
2445
+ # @return [String]
2446
+ attr_accessor :original_filename
2447
+
2448
+ # Whether this revision is pinned to prevent automatic purging. This will only
2449
+ # be populated and can only be modified on files with content stored in Drive
2450
+ # which are not Google Docs. Revisions can also be pinned when they are created
2451
+ # through the drive.files.insert/update/copy by using the pinned query parameter.
2452
+ # Corresponds to the JSON property `pinned`
2453
+ # @return [Boolean]
2454
+ attr_accessor :pinned
2455
+ alias_method :pinned?, :pinned
2456
+
2457
+ # Whether subsequent revisions will be automatically republished. This is only
2458
+ # populated and can only be modified for Google Docs.
2459
+ # Corresponds to the JSON property `publishAuto`
2460
+ # @return [Boolean]
2461
+ attr_accessor :publish_auto
2462
+ alias_method :publish_auto?, :publish_auto
2463
+
2464
+ # Whether this revision is published. This is only populated and can only be
2465
+ # modified for Google Docs.
2466
+ # Corresponds to the JSON property `published`
2467
+ # @return [Boolean]
2468
+ attr_accessor :published
2469
+ alias_method :published?, :published
2470
+
2471
+ # A link to the published revision.
2472
+ # Corresponds to the JSON property `publishedLink`
2473
+ # @return [String]
2474
+ attr_accessor :published_link
2475
+
2476
+ # Whether this revision is published outside the domain. This is only populated
2477
+ # and can only be modified for Google Docs.
2478
+ # Corresponds to the JSON property `publishedOutsideDomain`
2479
+ # @return [Boolean]
2480
+ attr_accessor :published_outside_domain
2481
+ alias_method :published_outside_domain?, :published_outside_domain
2482
+
2483
+ # A link back to this revision.
2484
+ # Corresponds to the JSON property `selfLink`
2485
+ # @return [String]
2486
+ attr_accessor :self_link
2487
+
2488
+ def initialize(**args)
2489
+ update!(**args)
2490
+ end
2491
+
2492
+ # Update properties of this object
2493
+ def update!(**args)
2494
+ @download_url = args[:download_url] if args.key?(:download_url)
2495
+ @etag = args[:etag] if args.key?(:etag)
2496
+ @export_links = args[:export_links] if args.key?(:export_links)
2497
+ @file_size = args[:file_size] if args.key?(:file_size)
2498
+ @id = args[:id] if args.key?(:id)
2499
+ @kind = args[:kind] if args.key?(:kind)
2500
+ @last_modifying_user = args[:last_modifying_user] if args.key?(:last_modifying_user)
2501
+ @last_modifying_user_name = args[:last_modifying_user_name] if args.key?(:last_modifying_user_name)
2502
+ @md5_checksum = args[:md5_checksum] if args.key?(:md5_checksum)
2503
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
2504
+ @modified_date = args[:modified_date] if args.key?(:modified_date)
2505
+ @original_filename = args[:original_filename] if args.key?(:original_filename)
2506
+ @pinned = args[:pinned] if args.key?(:pinned)
2507
+ @publish_auto = args[:publish_auto] if args.key?(:publish_auto)
2508
+ @published = args[:published] if args.key?(:published)
2509
+ @published_link = args[:published_link] if args.key?(:published_link)
2510
+ @published_outside_domain = args[:published_outside_domain] if args.key?(:published_outside_domain)
2511
+ @self_link = args[:self_link] if args.key?(:self_link)
2512
+ end
2513
+ end
2514
+
2515
+ # A list of revisions of a file.
2516
+ class RevisionList
2517
+ include Google::Apis::Core::Hashable
2518
+
2519
+ # The ETag of the list.
2520
+ # Corresponds to the JSON property `etag`
2521
+ # @return [String]
2522
+ attr_accessor :etag
2523
+
2524
+ # The list of revisions. If nextPageToken is populated, then this list may be
2525
+ # incomplete and an additional page of results should be fetched.
2526
+ # Corresponds to the JSON property `items`
2527
+ # @return [Array<Google::Apis::DriveV2::Revision>]
2528
+ attr_accessor :items
2529
+
2530
+ # This is always drive#revisionList.
2531
+ # Corresponds to the JSON property `kind`
2532
+ # @return [String]
2533
+ attr_accessor :kind
2534
+
2535
+ # The page token for the next page of revisions. This field will be absent if
2536
+ # the end of the revisions list has been reached. If the token is rejected for
2537
+ # any reason, it should be discarded and pagination should be restarted from the
2538
+ # first page of results.
2539
+ # Corresponds to the JSON property `nextPageToken`
2540
+ # @return [String]
2541
+ attr_accessor :next_page_token
2542
+
2543
+ # A link back to this list.
2544
+ # Corresponds to the JSON property `selfLink`
2545
+ # @return [String]
2546
+ attr_accessor :self_link
2547
+
2548
+ def initialize(**args)
2549
+ update!(**args)
2550
+ end
2551
+
2552
+ # Update properties of this object
2553
+ def update!(**args)
2554
+ @etag = args[:etag] if args.key?(:etag)
2555
+ @items = args[:items] if args.key?(:items)
2556
+ @kind = args[:kind] if args.key?(:kind)
2557
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2558
+ @self_link = args[:self_link] if args.key?(:self_link)
2559
+ end
2560
+ end
2561
+
2562
+ # Information about a Drive user.
2563
+ class User
2564
+ include Google::Apis::Core::Hashable
2565
+
2566
+ # A plain text displayable name for this user.
2567
+ # Corresponds to the JSON property `displayName`
2568
+ # @return [String]
2569
+ attr_accessor :display_name
2570
+
2571
+ # The email address of the user.
2572
+ # Corresponds to the JSON property `emailAddress`
2573
+ # @return [String]
2574
+ attr_accessor :email_address
2575
+
2576
+ # Whether this user is the same as the authenticated user for whom the request
2577
+ # was made.
2578
+ # Corresponds to the JSON property `isAuthenticatedUser`
2579
+ # @return [Boolean]
2580
+ attr_accessor :is_authenticated_user
2581
+ alias_method :is_authenticated_user?, :is_authenticated_user
2582
+
2583
+ # This is always drive#user.
2584
+ # Corresponds to the JSON property `kind`
2585
+ # @return [String]
2586
+ attr_accessor :kind
2587
+
2588
+ # The user's ID as visible in the permissions collection.
2589
+ # Corresponds to the JSON property `permissionId`
2590
+ # @return [String]
2591
+ attr_accessor :permission_id
2592
+
2593
+ # The user's profile picture.
2594
+ # Corresponds to the JSON property `picture`
2595
+ # @return [Google::Apis::DriveV2::User::Picture]
2596
+ attr_accessor :picture
2597
+
2598
+ def initialize(**args)
2599
+ update!(**args)
2600
+ end
2601
+
2602
+ # Update properties of this object
2603
+ def update!(**args)
2604
+ @display_name = args[:display_name] if args.key?(:display_name)
2605
+ @email_address = args[:email_address] if args.key?(:email_address)
2606
+ @is_authenticated_user = args[:is_authenticated_user] if args.key?(:is_authenticated_user)
2607
+ @kind = args[:kind] if args.key?(:kind)
2608
+ @permission_id = args[:permission_id] if args.key?(:permission_id)
2609
+ @picture = args[:picture] if args.key?(:picture)
2610
+ end
2611
+
2612
+ # The user's profile picture.
2613
+ class Picture
2614
+ include Google::Apis::Core::Hashable
2615
+
2616
+ # A URL that points to a profile picture of this user.
2617
+ # Corresponds to the JSON property `url`
2618
+ # @return [String]
2619
+ attr_accessor :url
2620
+
2621
+ def initialize(**args)
2622
+ update!(**args)
2623
+ end
2624
+
2625
+ # Update properties of this object
2626
+ def update!(**args)
2627
+ @url = args[:url] if args.key?(:url)
2628
+ end
2629
+ end
2630
+ end
2631
+ end
2632
+ end
2633
+ end