google-api-client 0.8.6 → 0.9

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