google-api-client 0.8.3 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +22 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +52 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +35 -1
  11. data/MIGRATING.md +171 -0
  12. data/README.md +181 -148
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1036 -0
  15. data/api_names_out.yaml +26053 -0
  16. data/bin/generate-api +95 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  21. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  24. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  25. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  26. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  27. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  28. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  29. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  30. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  31. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  32. data/generated/google/apis/admin_directory_v1.rb +113 -0
  33. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  34. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  35. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  36. data/generated/google/apis/admin_reports_v1.rb +38 -0
  37. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  38. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  39. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  40. data/generated/google/apis/adsense_v1_4.rb +38 -0
  41. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  42. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  43. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  44. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  45. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  46. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  47. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  48. data/generated/google/apis/analytics_v3.rb +49 -0
  49. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  50. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  51. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  52. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  53. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  54. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  55. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  56. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  57. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  58. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  59. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  60. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  61. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  62. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  63. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  64. data/generated/google/apis/appsactivity_v1.rb +46 -0
  65. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  66. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  67. data/generated/google/apis/appstate_v1/service.rb +260 -0
  68. data/generated/google/apis/appstate_v1.rb +34 -0
  69. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  70. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  71. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  72. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  73. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  74. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  75. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  76. data/generated/google/apis/bigquery_v2.rb +52 -0
  77. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  78. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  79. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  80. data/generated/google/apis/blogger_v3.rb +37 -0
  81. data/generated/google/apis/books_v1/classes.rb +3956 -0
  82. data/generated/google/apis/books_v1/representations.rb +1538 -0
  83. data/generated/google/apis/books_v1/service.rb +2290 -0
  84. data/generated/google/apis/books_v1.rb +34 -0
  85. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  86. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  87. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  88. data/generated/google/apis/calendar_v3.rb +37 -0
  89. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  90. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  91. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  92. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  93. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  94. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  95. data/generated/google/apis/classroom_v1/service.rb +970 -0
  96. data/generated/google/apis/classroom_v1.rb +49 -0
  97. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  98. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  99. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  100. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  101. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  102. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  103. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  104. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  105. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  106. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  107. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  108. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  117. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  118. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  119. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  120. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  121. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  122. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  123. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  124. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  125. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  126. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  127. data/generated/google/apis/compute_beta/service.rb +10154 -0
  128. data/generated/google/apis/compute_beta.rb +49 -0
  129. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  130. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  131. data/generated/google/apis/compute_v1/service.rb +9252 -0
  132. data/generated/google/apis/compute_v1.rb +49 -0
  133. data/generated/google/apis/container_v1/classes.rb +463 -0
  134. data/generated/google/apis/container_v1/representations.rb +175 -0
  135. data/generated/google/apis/container_v1/service.rb +367 -0
  136. data/generated/google/apis/container_v1.rb +35 -0
  137. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  138. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  139. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  140. data/generated/google/apis/container_v1beta1.rb +35 -0
  141. data/generated/google/apis/content_v2/classes.rb +5986 -0
  142. data/generated/google/apis/content_v2/representations.rb +2288 -0
  143. data/generated/google/apis/content_v2/service.rb +2338 -0
  144. data/generated/google/apis/content_v2.rb +35 -0
  145. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  146. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  147. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  148. data/generated/google/apis/coordinate_v1.rb +37 -0
  149. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  150. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  151. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  152. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  153. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  154. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  155. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  156. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  157. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  158. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  159. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  160. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  165. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  166. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  167. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  168. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  169. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  170. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  171. data/generated/google/apis/discovery_v1/service.rb +142 -0
  172. data/generated/google/apis/discovery_v1.rb +32 -0
  173. data/generated/google/apis/dns_v1/classes.rb +406 -0
  174. data/generated/google/apis/dns_v1/representations.rb +151 -0
  175. data/generated/google/apis/dns_v1/service.rb +454 -0
  176. data/generated/google/apis/dns_v1.rb +44 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  181. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  182. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  183. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  184. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  185. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  186. data/generated/google/apis/drive_v2/representations.rb +795 -0
  187. data/generated/google/apis/drive_v2/service.rb +2696 -0
  188. data/generated/google/apis/drive_v2.rb +58 -0
  189. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  190. data/generated/google/apis/drive_v3/representations.rb +497 -0
  191. data/generated/google/apis/drive_v3/service.rb +1541 -0
  192. data/generated/google/apis/drive_v3.rb +55 -0
  193. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  194. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  195. data/generated/google/apis/fitness_v1/service.rb +675 -0
  196. data/generated/google/apis/fitness_v1.rb +49 -0
  197. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  198. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  199. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  200. data/generated/google/apis/fusiontables_v2.rb +37 -0
  201. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  202. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  203. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  204. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  205. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  206. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  207. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  208. data/generated/google/apis/games_management_v1management.rb +37 -0
  209. data/generated/google/apis/games_v1/classes.rb +4617 -0
  210. data/generated/google/apis/games_v1/representations.rb +1584 -0
  211. data/generated/google/apis/games_v1/service.rb +2290 -0
  212. data/generated/google/apis/games_v1.rb +40 -0
  213. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  214. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  215. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  216. data/generated/google/apis/gan_v1beta1.rb +31 -0
  217. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  218. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  219. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  220. data/generated/google/apis/genomics_v1.rb +49 -0
  221. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  222. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  223. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  224. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  225. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  226. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  227. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  228. data/generated/google/apis/gmail_v1.rb +52 -0
  229. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  230. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  231. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  232. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  233. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  234. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  235. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  236. data/generated/google/apis/groupssettings_v1.rb +34 -0
  237. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  238. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  239. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  240. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  241. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  242. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  243. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  244. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  245. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  246. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  247. data/generated/google/apis/licensing_v1/service.rb +369 -0
  248. data/generated/google/apis/licensing_v1.rb +34 -0
  249. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  250. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  251. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  252. data/generated/google/apis/logging_v1beta3.rb +47 -0
  253. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  254. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  255. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  256. data/generated/google/apis/manager_v1beta2.rb +53 -0
  257. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  258. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  259. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  260. data/generated/google/apis/mapsengine_v1.rb +38 -0
  261. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  262. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  263. data/generated/google/apis/mirror_v1/service.rb +977 -0
  264. data/generated/google/apis/mirror_v1.rb +37 -0
  265. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  266. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  267. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  268. data/generated/google/apis/oauth2_v2.rb +43 -0
  269. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  270. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  271. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  272. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  273. data/generated/google/apis/partners_v2/classes.rb +942 -0
  274. data/generated/google/apis/partners_v2/representations.rb +402 -0
  275. data/generated/google/apis/partners_v2/service.rb +400 -0
  276. data/generated/google/apis/partners_v2.rb +32 -0
  277. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  278. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  279. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  280. data/generated/google/apis/plus_domains_v1.rb +61 -0
  281. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  282. data/generated/google/apis/plus_v1/representations.rb +805 -0
  283. data/generated/google/apis/plus_v1/service.rb +470 -0
  284. data/generated/google/apis/plus_v1.rb +43 -0
  285. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  286. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  287. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  288. data/generated/google/apis/prediction_v1_6.rb +44 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  293. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  294. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  295. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  296. data/generated/google/apis/pubsub_v1.rb +37 -0
  297. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  298. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  299. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  300. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  301. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  302. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  303. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  304. data/generated/google/apis/qpx_express_v1.rb +31 -0
  305. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  306. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  307. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  308. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  313. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  314. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  315. data/generated/google/apis/reseller_v1/service.rb +623 -0
  316. data/generated/google/apis/reseller_v1.rb +37 -0
  317. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  318. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  319. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  320. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  321. data/generated/google/apis/script_v1/classes.rb +259 -0
  322. data/generated/google/apis/script_v1/representations.rb +106 -0
  323. data/generated/google/apis/script_v1/service.rb +98 -0
  324. data/generated/google/apis/script_v1.rb +61 -0
  325. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  326. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  327. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  328. data/generated/google/apis/site_verification_v1.rb +37 -0
  329. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  330. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  331. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  332. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  333. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  334. data/generated/google/apis/storage_v1/representations.rb +445 -0
  335. data/generated/google/apis/storage_v1/service.rb +1903 -0
  336. data/generated/google/apis/storage_v1.rb +46 -0
  337. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  338. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  339. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  340. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  341. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  342. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  343. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  344. data/generated/google/apis/tagmanager_v1.rb +52 -0
  345. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  346. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  347. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  348. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  349. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  350. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  351. data/generated/google/apis/tasks_v1/service.rb +643 -0
  352. data/generated/google/apis/tasks_v1.rb +37 -0
  353. data/generated/google/apis/translate_v2/classes.rb +168 -0
  354. data/generated/google/apis/translate_v2/representations.rb +109 -0
  355. data/generated/google/apis/translate_v2/service.rb +182 -0
  356. data/generated/google/apis/translate_v2.rb +31 -0
  357. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  358. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  359. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  360. data/generated/google/apis/urlshortener_v1.rb +34 -0
  361. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  362. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  363. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  364. data/generated/google/apis/webmasters_v3.rb +37 -0
  365. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  366. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  367. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  368. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  369. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  370. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  371. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  372. data/generated/google/apis/youtube_v3.rb +49 -0
  373. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  374. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  375. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  376. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  377. data/google-api-client.gemspec +27 -39
  378. data/lib/google/api_client/auth/installed_app.rb +7 -5
  379. data/lib/google/api_client/auth/key_utils.rb +12 -11
  380. data/lib/google/api_client/auth/storage.rb +5 -2
  381. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  382. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  383. data/lib/google/api_client/client_secrets.rb +4 -5
  384. data/lib/google/apis/core/api_command.rb +135 -0
  385. data/lib/google/apis/core/base_service.rb +317 -0
  386. data/lib/google/apis/core/batch.rb +239 -0
  387. data/lib/google/apis/core/download.rb +94 -0
  388. data/lib/google/apis/core/hashable.rb +44 -0
  389. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  390. data/lib/google/apis/core/http_command.rb +312 -0
  391. data/lib/google/apis/core/json_representation.rb +127 -0
  392. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  393. data/lib/google/apis/core/multipart.rb +187 -0
  394. data/lib/google/apis/core/upload.rb +288 -0
  395. data/lib/google/{api_client → apis}/errors.rb +39 -28
  396. data/lib/google/apis/generator/annotator.rb +295 -0
  397. data/lib/google/apis/generator/helpers.rb +74 -0
  398. data/lib/google/apis/generator/model.rb +143 -0
  399. data/lib/google/apis/generator/template.rb +124 -0
  400. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  401. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  402. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  403. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  404. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  405. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  406. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  407. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  408. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  409. data/lib/google/apis/generator.rb +70 -0
  410. data/lib/google/apis/options.rb +85 -0
  411. data/lib/google/apis/version.rb +39 -0
  412. data/lib/google/apis.rb +48 -0
  413. data/rakelib/metrics.rake +22 -0
  414. data/rakelib/rubocop.rake +10 -0
  415. data/rakelib/spec.rake +11 -0
  416. data/rakelib/yard.rake +11 -0
  417. data/samples/Gemfile +7 -0
  418. data/samples/README.md +51 -0
  419. data/samples/google-api-samples +32 -0
  420. data/samples/lib/base_cli.rb +94 -0
  421. data/samples/lib/samples/analytics.rb +62 -0
  422. data/samples/lib/samples/calendar.rb +83 -0
  423. data/samples/lib/samples/drive.rb +82 -0
  424. data/samples/lib/samples/gmail.rb +50 -0
  425. data/samples/lib/samples/pubsub.rb +114 -0
  426. data/samples/lib/samples/translate.rb +44 -0
  427. data/samples/lib/samples/you_tube.rb +44 -0
  428. data/script/generate +95 -0
  429. data/script/package +8 -0
  430. data/script/release +15 -0
  431. data/spec/fixtures/files/api_names.yaml +3 -0
  432. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  433. data/spec/fixtures/files/child/.gitignore +0 -0
  434. data/spec/fixtures/files/client_secrets.json +1 -0
  435. data/spec/fixtures/files/invalid.json +1 -0
  436. data/spec/fixtures/files/test.blah +1 -0
  437. data/spec/fixtures/files/test.txt +1 -0
  438. data/spec/fixtures/files/test_api.json +440 -0
  439. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  440. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  441. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  442. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  443. data/spec/google/apis/core/api_command_spec.rb +209 -0
  444. data/spec/google/apis/core/batch_spec.rb +142 -0
  445. data/spec/google/apis/core/download_spec.rb +103 -0
  446. data/spec/google/apis/core/hashable_spec.rb +60 -0
  447. data/spec/google/apis/core/http_command_spec.rb +284 -0
  448. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  449. data/spec/google/apis/core/service_spec.rb +247 -0
  450. data/spec/google/apis/core/upload_spec.rb +300 -0
  451. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  452. data/spec/google/apis/generator/generator_spec.rb +272 -0
  453. data/spec/google/apis/logging_spec.rb +45 -0
  454. data/spec/google/apis/options_spec.rb +40 -0
  455. data/spec/integration_tests/adsense_spec.rb +29 -0
  456. data/spec/integration_tests/drive_spec.rb +35 -0
  457. data/spec/integration_tests/pubsub_spec.rb +48 -0
  458. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  459. data/spec/spec_helper/load_path_spec.rb +33 -0
  460. data/spec/spec_helper.rb +131 -44
  461. data/third_party/hurley_patches.rb +103 -0
  462. metadata +533 -170
  463. data/lib/compat/multi_json.rb +0 -19
  464. data/lib/google/api_client/auth/file_storage.rb +0 -59
  465. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  466. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  467. data/lib/google/api_client/batch.rb +0 -325
  468. data/lib/google/api_client/charset.rb +0 -33
  469. data/lib/google/api_client/discovery/api.rb +0 -300
  470. data/lib/google/api_client/discovery/media.rb +0 -77
  471. data/lib/google/api_client/discovery/method.rb +0 -363
  472. data/lib/google/api_client/discovery/resource.rb +0 -156
  473. data/lib/google/api_client/discovery/schema.rb +0 -119
  474. data/lib/google/api_client/environment.rb +0 -42
  475. data/lib/google/api_client/gzip.rb +0 -28
  476. data/lib/google/api_client/logging.rb +0 -32
  477. data/lib/google/api_client/media.rb +0 -259
  478. data/lib/google/api_client/railtie.rb +0 -18
  479. data/lib/google/api_client/request.rb +0 -350
  480. data/lib/google/api_client/result.rb +0 -255
  481. data/lib/google/api_client/service/batch.rb +0 -110
  482. data/lib/google/api_client/service/request.rb +0 -144
  483. data/lib/google/api_client/service/resource.rb +0 -40
  484. data/lib/google/api_client/service/result.rb +0 -162
  485. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  486. data/lib/google/api_client/service/stub_generator.rb +0 -61
  487. data/lib/google/api_client/service.rb +0 -233
  488. data/lib/google/api_client.rb +0 -750
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -662
  491. data/spec/google/api_client/gzip_spec.rb +0 -98
  492. data/spec/google/api_client/media_spec.rb +0 -178
  493. data/spec/google/api_client/result_spec.rb +0 -207
  494. data/spec/google/api_client/service_account_spec.rb +0 -169
  495. data/spec/google/api_client/service_spec.rb +0 -618
  496. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  497. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,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