google-api-client 0.9.8 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -8
  3. data/CHANGELOG.md +84 -0
  4. data/Gemfile +10 -2
  5. data/README.md +10 -2
  6. data/api_names.yaml +37172 -135
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1200 -0
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +526 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +844 -0
  11. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  12. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +310 -28
  13. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +84 -0
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +60 -8
  15. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  16. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  17. data/generated/google/apis/admin_directory_v1.rb +1 -1
  18. data/generated/google/apis/admin_directory_v1/classes.rb +206 -0
  19. data/generated/google/apis/admin_directory_v1/representations.rb +63 -0
  20. data/generated/google/apis/admin_directory_v1/service.rb +41 -2
  21. data/generated/google/apis/admin_reports_v1.rb +5 -5
  22. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
  27. data/generated/google/apis/analytics_v3.rb +1 -1
  28. data/generated/google/apis/analytics_v3/classes.rb +379 -3
  29. data/generated/google/apis/analytics_v3/representations.rb +136 -0
  30. data/generated/google/apis/analytics_v3/service.rb +256 -0
  31. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  32. data/generated/google/apis/analyticsreporting_v4/classes.rb +858 -823
  33. data/generated/google/apis/analyticsreporting_v4/representations.rb +194 -193
  34. data/generated/google/apis/analyticsreporting_v4/service.rb +4 -4
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +913 -220
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +337 -30
  38. data/generated/google/apis/androidenterprise_v1/service.rb +1163 -561
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +230 -8
  41. data/generated/google/apis/androidpublisher_v2/representations.rb +90 -0
  42. data/generated/google/apis/androidpublisher_v2/service.rb +116 -3
  43. data/generated/google/apis/appengine_v1beta5.rb +7 -1
  44. data/generated/google/apis/appengine_v1beta5/classes.rb +810 -395
  45. data/generated/google/apis/appengine_v1beta5/representations.rb +188 -22
  46. data/generated/google/apis/appengine_v1beta5/service.rb +343 -39
  47. data/generated/google/apis/appsactivity_v1.rb +3 -3
  48. data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
  49. data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
  50. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  51. data/generated/google/apis/appstate_v1.rb +1 -1
  52. data/generated/google/apis/bigquery_v2.rb +1 -1
  53. data/generated/google/apis/bigquery_v2/classes.rb +360 -38
  54. data/generated/google/apis/bigquery_v2/representations.rb +106 -0
  55. data/generated/google/apis/bigquery_v2/service.rb +18 -4
  56. data/generated/google/apis/books_v1.rb +2 -2
  57. data/generated/google/apis/books_v1/classes.rb +83 -0
  58. data/generated/google/apis/books_v1/representations.rb +35 -0
  59. data/generated/google/apis/books_v1/service.rb +7 -3
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +208 -5
  62. data/generated/google/apis/calendar_v3/representations.rb +97 -0
  63. data/generated/google/apis/civicinfo_v2.rb +3 -2
  64. data/generated/google/apis/civicinfo_v2/classes.rb +377 -5
  65. data/generated/google/apis/civicinfo_v2/representations.rb +149 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +27 -6
  67. data/generated/google/apis/classroom_v1.rb +22 -25
  68. data/generated/google/apis/classroom_v1/classes.rb +998 -761
  69. data/generated/google/apis/classroom_v1/representations.rb +263 -198
  70. data/generated/google/apis/classroom_v1/service.rb +1349 -672
  71. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  74. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  75. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  76. data/generated/google/apis/cloudbuild_v1/classes.rb +661 -264
  77. data/generated/google/apis/cloudbuild_v1/representations.rb +198 -48
  78. data/generated/google/apis/cloudbuild_v1/service.rb +259 -44
  79. data/generated/google/apis/clouddebugger_v2.rb +5 -8
  80. data/generated/google/apis/clouddebugger_v2/classes.rb +686 -616
  81. data/generated/google/apis/clouddebugger_v2/representations.rb +151 -151
  82. data/generated/google/apis/clouddebugger_v2/service.rb +165 -159
  83. data/generated/google/apis/cloudkms_v1.rb +35 -0
  84. data/generated/google/apis/cloudkms_v1/classes.rb +1022 -0
  85. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  86. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  87. data/generated/google/apis/cloudkms_v1beta1.rb +35 -0
  88. data/generated/google/apis/cloudkms_v1beta1/classes.rb +1039 -0
  89. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  90. data/generated/google/apis/cloudkms_v1beta1/service.rb +933 -0
  91. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  93. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1529 -167
  94. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +491 -26
  95. data/generated/google/apis/cloudresourcemanager_v1/service.rb +1593 -135
  96. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  97. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +1155 -235
  98. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +344 -44
  99. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +702 -310
  100. data/generated/google/apis/cloudtrace_v1.rb +9 -9
  101. data/generated/google/apis/cloudtrace_v1/classes.rb +98 -92
  102. data/generated/google/apis/cloudtrace_v1/representations.rb +24 -24
  103. data/generated/google/apis/cloudtrace_v1/service.rb +42 -37
  104. data/generated/google/apis/compute_beta.rb +1 -1
  105. data/generated/google/apis/compute_beta/classes.rb +7007 -3648
  106. data/generated/google/apis/compute_beta/representations.rb +1459 -120
  107. data/generated/google/apis/compute_beta/service.rb +7943 -3726
  108. data/generated/google/apis/compute_v1.rb +1 -1
  109. data/generated/google/apis/compute_v1/classes.rb +2567 -370
  110. data/generated/google/apis/compute_v1/representations.rb +855 -0
  111. data/generated/google/apis/compute_v1/service.rb +6388 -2908
  112. data/generated/google/apis/container_v1.rb +1 -1
  113. data/generated/google/apis/container_v1/classes.rb +287 -16
  114. data/generated/google/apis/container_v1/representations.rb +113 -2
  115. data/generated/google/apis/container_v1/service.rb +130 -0
  116. data/generated/google/apis/content_v2.rb +1 -1
  117. data/generated/google/apis/content_v2/classes.rb +778 -10
  118. data/generated/google/apis/content_v2/representations.rb +339 -0
  119. data/generated/google/apis/content_v2/service.rb +364 -49
  120. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  121. data/generated/google/apis/dataflow_v1b3/classes.rb +4941 -0
  122. data/generated/google/apis/dataflow_v1b3/representations.rb +2037 -0
  123. data/generated/google/apis/dataflow_v1b3/service.rb +957 -0
  124. data/generated/google/apis/dataproc_v1.rb +1 -1
  125. data/generated/google/apis/dataproc_v1/classes.rb +1235 -963
  126. data/generated/google/apis/dataproc_v1/representations.rb +299 -225
  127. data/generated/google/apis/dataproc_v1/service.rb +277 -192
  128. data/generated/google/apis/datastore_v1.rb +38 -0
  129. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  130. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  131. data/generated/google/apis/datastore_v1/service.rb +259 -0
  132. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  133. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  134. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  135. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  136. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  137. data/generated/google/apis/deploymentmanager_v2/classes.rb +436 -3
  138. data/generated/google/apis/deploymentmanager_v2/representations.rb +178 -0
  139. data/generated/google/apis/deploymentmanager_v2/service.rb +226 -61
  140. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  141. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  142. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  143. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  144. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  145. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  146. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  147. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  148. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  149. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  150. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  151. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  152. data/generated/google/apis/dns_v1.rb +1 -1
  153. data/generated/google/apis/dns_v1/classes.rb +1 -1
  154. data/generated/google/apis/dns_v2beta1.rb +43 -0
  155. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  156. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  157. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  158. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  159. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
  160. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
  161. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
  162. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  163. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  164. data/generated/google/apis/drive_v2.rb +1 -1
  165. data/generated/google/apis/drive_v2/classes.rb +595 -37
  166. data/generated/google/apis/drive_v2/representations.rb +140 -0
  167. data/generated/google/apis/drive_v2/service.rb +406 -40
  168. data/generated/google/apis/drive_v3.rb +1 -1
  169. data/generated/google/apis/drive_v3/classes.rb +507 -40
  170. data/generated/google/apis/drive_v3/representations.rb +105 -0
  171. data/generated/google/apis/drive_v3/service.rb +326 -29
  172. data/generated/google/apis/fitness_v1.rb +38 -2
  173. data/generated/google/apis/fitness_v1/classes.rb +65 -7
  174. data/generated/google/apis/fitness_v1/representations.rb +20 -0
  175. data/generated/google/apis/fitness_v1/service.rb +17 -18
  176. data/generated/google/apis/fusiontables_v2.rb +1 -1
  177. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  178. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  179. data/generated/google/apis/games_management_v1management.rb +1 -1
  180. data/generated/google/apis/games_v1.rb +1 -1
  181. data/generated/google/apis/genomics_v1.rb +10 -12
  182. data/generated/google/apis/genomics_v1/classes.rb +2276 -2165
  183. data/generated/google/apis/genomics_v1/representations.rb +468 -496
  184. data/generated/google/apis/genomics_v1/service.rb +978 -882
  185. data/generated/google/apis/gmail_v1.rb +11 -2
  186. data/generated/google/apis/gmail_v1/classes.rb +655 -5
  187. data/generated/google/apis/gmail_v1/representations.rb +261 -0
  188. data/generated/google/apis/gmail_v1/service.rb +1211 -48
  189. data/generated/google/apis/groupssettings_v1.rb +2 -2
  190. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  191. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  192. data/generated/google/apis/iam_v1.rb +2 -2
  193. data/generated/google/apis/iam_v1/classes.rb +446 -368
  194. data/generated/google/apis/iam_v1/representations.rb +109 -91
  195. data/generated/google/apis/iam_v1/service.rb +249 -162
  196. data/generated/google/apis/identitytoolkit_v3.rb +7 -1
  197. data/generated/google/apis/identitytoolkit_v3/classes.rb +254 -2
  198. data/generated/google/apis/identitytoolkit_v3/representations.rb +38 -0
  199. data/generated/google/apis/kgsearch_v1.rb +2 -3
  200. data/generated/google/apis/kgsearch_v1/classes.rb +13 -13
  201. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  202. data/generated/google/apis/kgsearch_v1/service.rb +26 -24
  203. data/generated/google/apis/language_v1beta1.rb +36 -0
  204. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  205. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  206. data/generated/google/apis/language_v1beta1/service.rb +185 -0
  207. data/generated/google/apis/licensing_v1.rb +3 -3
  208. data/generated/google/apis/licensing_v1/classes.rb +14 -2
  209. data/generated/google/apis/licensing_v1/representations.rb +2 -0
  210. data/generated/google/apis/licensing_v1/service.rb +1 -1
  211. data/generated/google/apis/logging_v2beta1.rb +6 -6
  212. data/generated/google/apis/logging_v2beta1/classes.rb +900 -775
  213. data/generated/google/apis/logging_v2beta1/representations.rb +163 -142
  214. data/generated/google/apis/logging_v2beta1/service.rb +427 -155
  215. data/generated/google/apis/manufacturers_v1.rb +34 -0
  216. data/generated/google/apis/manufacturers_v1/classes.rb +605 -0
  217. data/generated/google/apis/manufacturers_v1/representations.rb +223 -0
  218. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  219. data/generated/google/apis/mirror_v1.rb +2 -2
  220. data/generated/google/apis/mirror_v1/service.rb +1 -1
  221. data/generated/google/apis/monitoring_v3.rb +45 -0
  222. data/generated/google/apis/monitoring_v3/classes.rb +1333 -0
  223. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  224. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  225. data/generated/google/apis/oauth2_v2.rb +1 -1
  226. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  227. data/generated/google/apis/partners_v2.rb +3 -3
  228. data/generated/google/apis/partners_v2/classes.rb +1831 -477
  229. data/generated/google/apis/partners_v2/representations.rb +571 -114
  230. data/generated/google/apis/partners_v2/service.rb +898 -167
  231. data/generated/google/apis/people_v1.rb +15 -16
  232. data/generated/google/apis/people_v1/classes.rb +1047 -859
  233. data/generated/google/apis/people_v1/representations.rb +252 -213
  234. data/generated/google/apis/people_v1/service.rb +75 -62
  235. data/generated/google/apis/plus_domains_v1.rb +1 -1
  236. data/generated/google/apis/plus_v1.rb +1 -1
  237. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  238. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +527 -456
  239. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +101 -100
  240. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +467 -343
  241. data/generated/google/apis/pubsub_v1.rb +1 -1
  242. data/generated/google/apis/pubsub_v1/classes.rb +363 -310
  243. data/generated/google/apis/pubsub_v1/representations.rb +76 -76
  244. data/generated/google/apis/pubsub_v1/service.rb +464 -335
  245. data/generated/google/apis/qpx_express_v1.rb +1 -1
  246. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  247. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  248. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  249. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
  250. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
  251. data/generated/google/apis/reseller_v1.rb +1 -1
  252. data/generated/google/apis/reseller_v1/classes.rb +222 -61
  253. data/generated/google/apis/reseller_v1/representations.rb +28 -0
  254. data/generated/google/apis/reseller_v1/service.rb +240 -47
  255. data/generated/google/apis/script_v1.rb +19 -19
  256. data/generated/google/apis/script_v1/classes.rb +151 -137
  257. data/generated/google/apis/script_v1/representations.rb +26 -26
  258. data/generated/google/apis/script_v1/service.rb +9 -8
  259. data/generated/google/apis/sheets_v4.rb +7 -7
  260. data/generated/google/apis/sheets_v4/classes.rb +4530 -3506
  261. data/generated/google/apis/sheets_v4/representations.rb +988 -737
  262. data/generated/google/apis/sheets_v4/service.rb +266 -99
  263. data/generated/google/apis/site_verification_v1.rb +1 -1
  264. data/generated/google/apis/slides_v1.rb +49 -0
  265. data/generated/google/apis/slides_v1/classes.rb +4480 -0
  266. data/generated/google/apis/slides_v1/representations.rb +1926 -0
  267. data/generated/google/apis/slides_v1/service.rb +245 -0
  268. data/generated/google/apis/speech_v1beta1.rb +34 -0
  269. data/generated/google/apis/speech_v1beta1/classes.rb +498 -0
  270. data/generated/google/apis/speech_v1beta1/representations.rb +206 -0
  271. data/generated/google/apis/speech_v1beta1/service.rb +270 -0
  272. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  273. data/generated/google/apis/sqladmin_v1beta4/classes.rb +131 -10
  274. data/generated/google/apis/sqladmin_v1beta4/representations.rb +50 -0
  275. data/generated/google/apis/sqladmin_v1beta4/service.rb +92 -2
  276. data/generated/google/apis/storage_v1.rb +1 -1
  277. data/generated/google/apis/storage_v1/classes.rb +205 -21
  278. data/generated/google/apis/storage_v1/representations.rb +51 -1
  279. data/generated/google/apis/storage_v1/service.rb +263 -9
  280. data/generated/google/apis/tagmanager_v1.rb +5 -5
  281. data/generated/google/apis/translate_v2.rb +2 -2
  282. data/generated/google/apis/translate_v2/service.rb +1 -1
  283. data/generated/google/apis/vision_v1.rb +1 -1
  284. data/generated/google/apis/vision_v1/classes.rb +1275 -731
  285. data/generated/google/apis/vision_v1/representations.rb +378 -111
  286. data/generated/google/apis/vision_v1/service.rb +4 -4
  287. data/generated/google/apis/webmasters_v3.rb +1 -1
  288. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  289. data/generated/google/apis/youtube_analytics_v1/classes.rb +0 -209
  290. data/generated/google/apis/youtube_analytics_v1/representations.rb +0 -99
  291. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -77
  292. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  293. data/generated/google/apis/youtube_partner_v1/classes.rb +155 -0
  294. data/generated/google/apis/youtube_partner_v1/representations.rb +69 -0
  295. data/generated/google/apis/youtube_partner_v1/service.rb +107 -3
  296. data/generated/google/apis/youtube_v3.rb +1 -1
  297. data/generated/google/apis/youtube_v3/classes.rb +430 -22
  298. data/generated/google/apis/youtube_v3/representations.rb +171 -4
  299. data/generated/google/apis/youtube_v3/service.rb +100 -9
  300. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  301. data/generated/google/apis/youtubereporting_v1/classes.rb +140 -131
  302. data/generated/google/apis/youtubereporting_v1/representations.rb +37 -37
  303. data/generated/google/apis/youtubereporting_v1/service.rb +139 -135
  304. data/google-api-client.gemspec +4 -3
  305. data/lib/google/apis/core/api_command.rb +16 -6
  306. data/lib/google/apis/core/base_service.rb +17 -9
  307. data/lib/google/apis/core/download.rb +7 -2
  308. data/lib/google/apis/core/http_command.rb +5 -1
  309. data/lib/google/apis/core/json_representation.rb +2 -2
  310. data/lib/google/apis/core/upload.rb +7 -1
  311. data/lib/google/apis/errors.rb +6 -2
  312. data/lib/google/apis/generator/annotator.rb +6 -0
  313. data/lib/google/apis/version.rb +1 -1
  314. data/samples/cli/lib/samples/bigquery.rb +101 -0
  315. data/samples/cli/lib/samples/calendar.rb +1 -1
  316. data/samples/cli/lib/samples/gmail.rb +74 -0
  317. data/samples/cli/lib/samples/sheets.rb +61 -0
  318. data/samples/cli/lib/samples/you_tube.rb +4 -1
  319. data/sync.rb +71 -0
  320. metadata +86 -18
@@ -52,6 +52,24 @@ module Google
52
52
  include Google::Apis::Core::JsonObjectSupport
53
53
  end
54
54
 
55
+ class ContextParams
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class DivisionRepresentativeInfoRequest
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class DivisionSearchRequest
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
55
73
  class DivisionSearchResponse
56
74
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
75
 
@@ -76,6 +94,12 @@ module Google
76
94
  include Google::Apis::Core::JsonObjectSupport
77
95
  end
78
96
 
97
+ class ElectionsQueryRequest
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
79
103
  class QueryElectionsResponse
80
104
  class Representation < Google::Apis::Core::JsonRepresentation; end
81
105
 
@@ -112,12 +136,24 @@ module Google
112
136
  include Google::Apis::Core::JsonObjectSupport
113
137
  end
114
138
 
139
+ class PostalAddress
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
115
145
  class RepresentativeInfoData
116
146
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
147
 
118
148
  include Google::Apis::Core::JsonObjectSupport
119
149
  end
120
150
 
151
+ class RepresentativeInfoRequest
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
121
157
  class RepresentativeInfoResponse
122
158
  class Representation < Google::Apis::Core::JsonRepresentation; end
123
159
 
@@ -136,12 +172,24 @@ module Google
136
172
  include Google::Apis::Core::JsonObjectSupport
137
173
  end
138
174
 
175
+ class VoterInfoRequest
176
+ class Representation < Google::Apis::Core::JsonRepresentation; end
177
+
178
+ include Google::Apis::Core::JsonObjectSupport
179
+ end
180
+
139
181
  class VoterInfoResponse
140
182
  class Representation < Google::Apis::Core::JsonRepresentation; end
141
183
 
142
184
  include Google::Apis::Core::JsonObjectSupport
143
185
  end
144
186
 
187
+ class VoterInfoSegmentResult
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
145
193
  class AdministrationRegion
146
194
  # @private
147
195
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -160,6 +208,7 @@ module Google
160
208
  # @private
161
209
  class Representation < Google::Apis::Core::JsonRepresentation
162
210
  property :absentee_voting_info_url, as: 'absenteeVotingInfoUrl'
211
+ collection :address_lines, as: 'addressLines'
163
212
  property :ballot_info_url, as: 'ballotInfoUrl'
164
213
  property :correspondence_address, as: 'correspondenceAddress', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
165
214
 
@@ -234,6 +283,29 @@ module Google
234
283
  end
235
284
  end
236
285
 
286
+ class ContextParams
287
+ # @private
288
+ class Representation < Google::Apis::Core::JsonRepresentation
289
+ property :client_profile, as: 'clientProfile'
290
+ end
291
+ end
292
+
293
+ class DivisionRepresentativeInfoRequest
294
+ # @private
295
+ class Representation < Google::Apis::Core::JsonRepresentation
296
+ property :context_params, as: 'contextParams', class: Google::Apis::CivicinfoV2::ContextParams, decorator: Google::Apis::CivicinfoV2::ContextParams::Representation
297
+
298
+ end
299
+ end
300
+
301
+ class DivisionSearchRequest
302
+ # @private
303
+ class Representation < Google::Apis::Core::JsonRepresentation
304
+ property :context_params, as: 'contextParams', class: Google::Apis::CivicinfoV2::ContextParams, decorator: Google::Apis::CivicinfoV2::ContextParams::Representation
305
+
306
+ end
307
+ end
308
+
237
309
  class DivisionSearchResponse
238
310
  # @private
239
311
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -273,6 +345,14 @@ module Google
273
345
  end
274
346
  end
275
347
 
348
+ class ElectionsQueryRequest
349
+ # @private
350
+ class Representation < Google::Apis::Core::JsonRepresentation
351
+ property :context_params, as: 'contextParams', class: Google::Apis::CivicinfoV2::ContextParams, decorator: Google::Apis::CivicinfoV2::ContextParams::Representation
352
+
353
+ end
354
+ end
355
+
276
356
  class QueryElectionsResponse
277
357
  # @private
278
358
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -286,6 +366,7 @@ module Google
286
366
  # @private
287
367
  class Representation < Google::Apis::Core::JsonRepresentation
288
368
  property :id, as: 'id'
369
+ property :kg_foreign_key, as: 'kgForeignKey'
289
370
  property :name, as: 'name'
290
371
  property :scope, as: 'scope'
291
372
  end
@@ -346,6 +427,43 @@ module Google
346
427
  end
347
428
  end
348
429
 
430
+ class PostalAddress
431
+ # @private
432
+ class Representation < Google::Apis::Core::JsonRepresentation
433
+ collection :address_lines, as: 'addressLines'
434
+ property :administrative_area_name, as: 'administrativeAreaName'
435
+ property :country_name, as: 'countryName'
436
+ property :country_name_code, as: 'countryNameCode'
437
+ property :dependent_locality_name, as: 'dependentLocalityName'
438
+ property :dependent_thoroughfare_leading_type, as: 'dependentThoroughfareLeadingType'
439
+ property :dependent_thoroughfare_name, as: 'dependentThoroughfareName'
440
+ property :dependent_thoroughfare_post_direction, as: 'dependentThoroughfarePostDirection'
441
+ property :dependent_thoroughfare_pre_direction, as: 'dependentThoroughfarePreDirection'
442
+ property :dependent_thoroughfare_trailing_type, as: 'dependentThoroughfareTrailingType'
443
+ property :dependent_thoroughfares_connector, as: 'dependentThoroughfaresConnector'
444
+ property :dependent_thoroughfares_indicator, as: 'dependentThoroughfaresIndicator'
445
+ property :dependent_thoroughfares_type, as: 'dependentThoroughfaresType'
446
+ property :firm_name, as: 'firmName'
447
+ property :is_disputed, as: 'isDisputed'
448
+ property :language_code, as: 'languageCode'
449
+ property :locality_name, as: 'localityName'
450
+ property :post_box_number, as: 'postBoxNumber'
451
+ property :postal_code_number, as: 'postalCodeNumber'
452
+ property :postal_code_number_extension, as: 'postalCodeNumberExtension'
453
+ property :premise_name, as: 'premiseName'
454
+ property :recipient_name, as: 'recipientName'
455
+ property :sorting_code, as: 'sortingCode'
456
+ property :sub_administrative_area_name, as: 'subAdministrativeAreaName'
457
+ property :sub_premise_name, as: 'subPremiseName'
458
+ property :thoroughfare_leading_type, as: 'thoroughfareLeadingType'
459
+ property :thoroughfare_name, as: 'thoroughfareName'
460
+ property :thoroughfare_number, as: 'thoroughfareNumber'
461
+ property :thoroughfare_post_direction, as: 'thoroughfarePostDirection'
462
+ property :thoroughfare_pre_direction, as: 'thoroughfarePreDirection'
463
+ property :thoroughfare_trailing_type, as: 'thoroughfareTrailingType'
464
+ end
465
+ end
466
+
349
467
  class RepresentativeInfoData
350
468
  # @private
351
469
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -358,6 +476,14 @@ module Google
358
476
  end
359
477
  end
360
478
 
479
+ class RepresentativeInfoRequest
480
+ # @private
481
+ class Representation < Google::Apis::Core::JsonRepresentation
482
+ property :context_params, as: 'contextParams', class: Google::Apis::CivicinfoV2::ContextParams, decorator: Google::Apis::CivicinfoV2::ContextParams::Representation
483
+
484
+ end
485
+ end
486
+
361
487
  class RepresentativeInfoResponse
362
488
  # @private
363
489
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -394,6 +520,16 @@ module Google
394
520
  end
395
521
  end
396
522
 
523
+ class VoterInfoRequest
524
+ # @private
525
+ class Representation < Google::Apis::Core::JsonRepresentation
526
+ property :context_params, as: 'contextParams', class: Google::Apis::CivicinfoV2::ContextParams, decorator: Google::Apis::CivicinfoV2::ContextParams::Representation
527
+
528
+ property :voter_info_segment_result, as: 'voterInfoSegmentResult', class: Google::Apis::CivicinfoV2::VoterInfoSegmentResult, decorator: Google::Apis::CivicinfoV2::VoterInfoSegmentResult::Representation
529
+
530
+ end
531
+ end
532
+
397
533
  class VoterInfoResponse
398
534
  # @private
399
535
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -418,6 +554,19 @@ module Google
418
554
 
419
555
  end
420
556
  end
557
+
558
+ class VoterInfoSegmentResult
559
+ # @private
560
+ class Representation < Google::Apis::Core::JsonRepresentation
561
+ property :generated_millis, as: 'generatedMillis'
562
+ property :postal_address, as: 'postalAddress', class: Google::Apis::CivicinfoV2::PostalAddress, decorator: Google::Apis::CivicinfoV2::PostalAddress::Representation
563
+
564
+ property :request, as: 'request', class: Google::Apis::CivicinfoV2::VoterInfoRequest, decorator: Google::Apis::CivicinfoV2::VoterInfoRequest::Representation
565
+
566
+ property :response, as: 'response', class: Google::Apis::CivicinfoV2::VoterInfoResponse, decorator: Google::Apis::CivicinfoV2::VoterInfoResponse::Representation
567
+
568
+ end
569
+ end
421
570
  end
422
571
  end
423
572
  end
@@ -22,7 +22,8 @@ module Google
22
22
  module CivicinfoV2
23
23
  # Google Civic Information API
24
24
  #
25
- # An API for accessing civic information.
25
+ # Provides polling places, early vote locations, contest data, election
26
+ # officials, and government representatives for U.S. residential addresses.
26
27
  #
27
28
  # @example
28
29
  # require 'google/apis/civicinfo_v2'
@@ -53,6 +54,7 @@ module Google
53
54
  end
54
55
 
55
56
  # Searches for political divisions by their natural name or OCD ID.
57
+ # @param [Google::Apis::CivicinfoV2::DivisionSearchRequest] division_search_request_object
56
58
  # @param [String] query
57
59
  # The search query. Queries can cover any parts of a OCD ID or a human readable
58
60
  # division name. All words given in the query are treated as required patterns.
@@ -79,8 +81,10 @@ module Google
79
81
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
80
82
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
81
83
  # @raise [Google::Apis::AuthorizationError] Authorization is required
82
- def search_divisions(query: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
84
+ def search_divisions(division_search_request_object = nil, query: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
83
85
  command = make_simple_command(:get, 'divisions', options)
86
+ command.request_representation = Google::Apis::CivicinfoV2::DivisionSearchRequest::Representation
87
+ command.request_object = division_search_request_object
84
88
  command.response_representation = Google::Apis::CivicinfoV2::DivisionSearchResponse::Representation
85
89
  command.response_class = Google::Apis::CivicinfoV2::DivisionSearchResponse
86
90
  command.query['query'] = query unless query.nil?
@@ -91,6 +95,7 @@ module Google
91
95
  end
92
96
 
93
97
  # List of available elections to query.
98
+ # @param [Google::Apis::CivicinfoV2::ElectionsQueryRequest] elections_query_request_object
94
99
  # @param [String] fields
95
100
  # Selector specifying which fields to include in a partial response.
96
101
  # @param [String] quota_user
@@ -112,8 +117,10 @@ module Google
112
117
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
113
118
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
114
119
  # @raise [Google::Apis::AuthorizationError] Authorization is required
115
- def query_election(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
120
+ def query_election(elections_query_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
116
121
  command = make_simple_command(:get, 'elections', options)
122
+ command.request_representation = Google::Apis::CivicinfoV2::ElectionsQueryRequest::Representation
123
+ command.request_object = elections_query_request_object
117
124
  command.response_representation = Google::Apis::CivicinfoV2::QueryElectionsResponse::Representation
118
125
  command.response_class = Google::Apis::CivicinfoV2::QueryElectionsResponse
119
126
  command.query['fields'] = fields unless fields.nil?
@@ -126,11 +133,16 @@ module Google
126
133
  # address.
127
134
  # @param [String] address
128
135
  # The registered address of the voter to look up.
136
+ # @param [Google::Apis::CivicinfoV2::VoterInfoRequest] voter_info_request_object
129
137
  # @param [String] election_id
130
138
  # The unique ID of the election to look up. A list of election IDs can be
131
139
  # obtained at https://www.googleapis.com/civicinfo/`version`/elections
132
140
  # @param [Boolean] official_only
133
141
  # If set to true, only data from official state sources will be returned.
142
+ # @param [Boolean] return_all_available_data
143
+ # If set to true, the query will return the success codeand include any partial
144
+ # information when it is unable to determine a matching address or unable to
145
+ # determine the election for electionId=0 queries.
134
146
  # @param [String] fields
135
147
  # Selector specifying which fields to include in a partial response.
136
148
  # @param [String] quota_user
@@ -152,13 +164,16 @@ module Google
152
164
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
153
165
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
154
166
  # @raise [Google::Apis::AuthorizationError] Authorization is required
155
- def query_voter_info(address, election_id: nil, official_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
167
+ def query_voter_info(address, voter_info_request_object = nil, election_id: nil, official_only: nil, return_all_available_data: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
156
168
  command = make_simple_command(:get, 'voterinfo', options)
169
+ command.request_representation = Google::Apis::CivicinfoV2::VoterInfoRequest::Representation
170
+ command.request_object = voter_info_request_object
157
171
  command.response_representation = Google::Apis::CivicinfoV2::VoterInfoResponse::Representation
158
172
  command.response_class = Google::Apis::CivicinfoV2::VoterInfoResponse
159
173
  command.query['address'] = address unless address.nil?
160
174
  command.query['electionId'] = election_id unless election_id.nil?
161
175
  command.query['officialOnly'] = official_only unless official_only.nil?
176
+ command.query['returnAllAvailableData'] = return_all_available_data unless return_all_available_data.nil?
162
177
  command.query['fields'] = fields unless fields.nil?
163
178
  command.query['quotaUser'] = quota_user unless quota_user.nil?
164
179
  command.query['userIp'] = user_ip unless user_ip.nil?
@@ -167,6 +182,7 @@ module Google
167
182
 
168
183
  # Looks up political geography and representative information for a single
169
184
  # address.
185
+ # @param [Google::Apis::CivicinfoV2::RepresentativeInfoRequest] representative_info_request_object
170
186
  # @param [String] address
171
187
  # The address to look up. May only be specified if the field ocdId is not given
172
188
  # in the URL.
@@ -202,8 +218,10 @@ module Google
202
218
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
203
219
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
204
220
  # @raise [Google::Apis::AuthorizationError] Authorization is required
205
- def representative_info_by_address(address: nil, include_offices: nil, levels: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
221
+ def representative_info_by_address(representative_info_request_object = nil, address: nil, include_offices: nil, levels: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
206
222
  command = make_simple_command(:get, 'representatives', options)
223
+ command.request_representation = Google::Apis::CivicinfoV2::RepresentativeInfoRequest::Representation
224
+ command.request_object = representative_info_request_object
207
225
  command.response_representation = Google::Apis::CivicinfoV2::RepresentativeInfoResponse::Representation
208
226
  command.response_class = Google::Apis::CivicinfoV2::RepresentativeInfoResponse
209
227
  command.query['address'] = address unless address.nil?
@@ -219,6 +237,7 @@ module Google
219
237
  # Looks up representative information for a single geographic division.
220
238
  # @param [String] ocd_id
221
239
  # The Open Civic Data division identifier of the division to look up.
240
+ # @param [Google::Apis::CivicinfoV2::DivisionRepresentativeInfoRequest] division_representative_info_request_object
222
241
  # @param [Array<String>, String] levels
223
242
  # A list of office levels to filter by. Only offices that serve at least one of
224
243
  # these levels will be returned. Divisions that don't contain a matching office
@@ -252,8 +271,10 @@ module Google
252
271
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
253
272
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
254
273
  # @raise [Google::Apis::AuthorizationError] Authorization is required
255
- def representative_info_by_division(ocd_id, levels: nil, recursive: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
274
+ def representative_info_by_division(ocd_id, division_representative_info_request_object = nil, levels: nil, recursive: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
256
275
  command = make_simple_command(:get, 'representatives/{ocdId}', options)
276
+ command.request_representation = Google::Apis::CivicinfoV2::DivisionRepresentativeInfoRequest::Representation
277
+ command.request_object = division_representative_info_request_object
257
278
  command.response_representation = Google::Apis::CivicinfoV2::RepresentativeInfoData::Representation
258
279
  command.response_class = Google::Apis::CivicinfoV2::RepresentativeInfoData
259
280
  command.params['ocdId'] = ocd_id unless ocd_id.nil?
@@ -25,46 +25,43 @@ module Google
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20160517'
28
+ REVISION = '20170322'
29
29
 
30
- # View instructions for teacher-assigned work in your Google Classroom classes
31
- AUTH_CLASSROOM_COURSE_WORK_READONLY = 'https://www.googleapis.com/auth/classroom.course-work.readonly'
30
+ # View your Google Classroom class rosters
31
+ AUTH_CLASSROOM_ROSTERS_READONLY = 'https://www.googleapis.com/auth/classroom.rosters.readonly'
32
32
 
33
- # Manage your Google Classroom classes
34
- AUTH_CLASSROOM_COURSES = 'https://www.googleapis.com/auth/classroom.courses'
33
+ # View your course work and grades in Google Classroom
34
+ AUTH_CLASSROOM_STUDENT_SUBMISSIONS_ME_READONLY = 'https://www.googleapis.com/auth/classroom.student-submissions.me.readonly'
35
+
36
+ # View course work and grades for students in the Google Classroom classes you teach or administer
37
+ AUTH_CLASSROOM_COURSEWORK_STUDENTS_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.students.readonly'
38
+
39
+ # View course work and grades for students in the Google Classroom classes you teach or administer
40
+ AUTH_CLASSROOM_STUDENT_SUBMISSIONS_STUDENTS_READONLY = 'https://www.googleapis.com/auth/classroom.student-submissions.students.readonly'
41
+
42
+ # Manage your Google Classroom class rosters
43
+ AUTH_CLASSROOM_ROSTERS = 'https://www.googleapis.com/auth/classroom.rosters'
44
+
45
+ # View your course work and grades in Google Classroom
46
+ AUTH_CLASSROOM_COURSEWORK_ME_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.me.readonly'
35
47
 
36
48
  # View your Google Classroom classes
37
49
  AUTH_CLASSROOM_COURSES_READONLY = 'https://www.googleapis.com/auth/classroom.courses.readonly'
38
50
 
51
+ # Manage your Google Classroom classes
52
+ AUTH_CLASSROOM_COURSES = 'https://www.googleapis.com/auth/classroom.courses'
53
+
39
54
  # Manage your course work and view your grades in Google Classroom
40
55
  AUTH_CLASSROOM_COURSEWORK_ME = 'https://www.googleapis.com/auth/classroom.coursework.me'
41
56
 
42
- # View your course work and grades in Google Classroom
43
- AUTH_CLASSROOM_COURSEWORK_ME_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.me.readonly'
44
-
45
57
  # Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer
46
58
  AUTH_CLASSROOM_COURSEWORK_STUDENTS = 'https://www.googleapis.com/auth/classroom.coursework.students'
47
59
 
48
- # View course work and grades for students in the Google Classroom classes you teach or administer
49
- AUTH_CLASSROOM_COURSEWORK_STUDENTS_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.students.readonly'
50
-
51
- # View the email addresses of people in your classes
52
- AUTH_CLASSROOM_PROFILE_EMAILS = 'https://www.googleapis.com/auth/classroom.profile.emails'
53
-
54
60
  # View the profile photos of people in your classes
55
61
  AUTH_CLASSROOM_PROFILE_PHOTOS = 'https://www.googleapis.com/auth/classroom.profile.photos'
56
62
 
57
- # Manage your Google Classroom class rosters
58
- AUTH_CLASSROOM_ROSTERS = 'https://www.googleapis.com/auth/classroom.rosters'
59
-
60
- # View your Google Classroom class rosters
61
- AUTH_CLASSROOM_ROSTERS_READONLY = 'https://www.googleapis.com/auth/classroom.rosters.readonly'
62
-
63
- # View your course work and grades in Google Classroom
64
- AUTH_CLASSROOM_STUDENT_SUBMISSIONS_ME_READONLY = 'https://www.googleapis.com/auth/classroom.student-submissions.me.readonly'
65
-
66
- # View course work and grades for students in the Google Classroom classes you teach or administer
67
- AUTH_CLASSROOM_STUDENT_SUBMISSIONS_STUDENTS_READONLY = 'https://www.googleapis.com/auth/classroom.student-submissions.students.readonly'
63
+ # View the email addresses of people in your classes
64
+ AUTH_CLASSROOM_PROFILE_EMAILS = 'https://www.googleapis.com/auth/classroom.profile.emails'
68
65
  end
69
66
  end
70
67
  end
@@ -22,112 +22,187 @@ module Google
22
22
  module Apis
23
23
  module ClassroomV1
24
24
 
25
- # A Course in Classroom.
26
- class Course
25
+ # Attachment added to student assignment work.
26
+ # When creating attachments, setting the `form` field is not supported.
27
+ class Attachment
27
28
  include Google::Apis::Core::Hashable
28
29
 
29
- # Identifier for this course assigned by Classroom. When creating a course, you
30
- # may optionally set this identifier to an alias string in the request to create
31
- # a corresponding alias. The `id` is still assigned by Classroom and cannot be
32
- # updated after the course is created. Specifying this field in a course update
33
- # mask results in an error.
34
- # Corresponds to the JSON property `id`
35
- # @return [String]
36
- attr_accessor :id
30
+ # Representation of a Google Drive file.
31
+ # Corresponds to the JSON property `driveFile`
32
+ # @return [Google::Apis::ClassroomV1::DriveFile]
33
+ attr_accessor :drive_file
37
34
 
38
- # Name of the course. For example, "10th Grade Biology". The name is required.
39
- # It must be between 1 and 750 characters and a valid UTF-8 string.
40
- # Corresponds to the JSON property `name`
41
- # @return [String]
42
- attr_accessor :name
35
+ # YouTube video item.
36
+ # Corresponds to the JSON property `youTubeVideo`
37
+ # @return [Google::Apis::ClassroomV1::YouTubeVideo]
38
+ attr_accessor :you_tube_video
43
39
 
44
- # Section of the course. For example, "Period 2". If set, this field must be a
45
- # valid UTF-8 string and no longer than 2800 characters.
46
- # Corresponds to the JSON property `section`
40
+ # URL item.
41
+ # Corresponds to the JSON property `link`
42
+ # @return [Google::Apis::ClassroomV1::Link]
43
+ attr_accessor :link
44
+
45
+ # Google Forms item.
46
+ # Corresponds to the JSON property `form`
47
+ # @return [Google::Apis::ClassroomV1::Form]
48
+ attr_accessor :form
49
+
50
+ def initialize(**args)
51
+ update!(**args)
52
+ end
53
+
54
+ # Update properties of this object
55
+ def update!(**args)
56
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
57
+ @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
58
+ @link = args[:link] if args.key?(:link)
59
+ @form = args[:form] if args.key?(:form)
60
+ end
61
+ end
62
+
63
+ # Response when listing guardian invitations.
64
+ class ListGuardianInvitationsResponse
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # Token identifying the next page of results to return. If empty, no further
68
+ # results are available.
69
+ # Corresponds to the JSON property `nextPageToken`
47
70
  # @return [String]
48
- attr_accessor :section
71
+ attr_accessor :next_page_token
49
72
 
50
- # Optional heading for the description. For example, "Welcome to 10th Grade
51
- # Biology." If set, this field must be a valid UTF-8 string and no longer than
52
- # 3600 characters.
53
- # Corresponds to the JSON property `descriptionHeading`
73
+ # Guardian invitations that matched the list request.
74
+ # Corresponds to the JSON property `guardianInvitations`
75
+ # @return [Array<Google::Apis::ClassroomV1::GuardianInvitation>]
76
+ attr_accessor :guardian_invitations
77
+
78
+ def initialize(**args)
79
+ update!(**args)
80
+ end
81
+
82
+ # Update properties of this object
83
+ def update!(**args)
84
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
85
+ @guardian_invitations = args[:guardian_invitations] if args.key?(:guardian_invitations)
86
+ end
87
+ end
88
+
89
+ # Course work created by a teacher for students of the course.
90
+ class CourseWork
91
+ include Google::Apis::Core::Hashable
92
+
93
+ # Classroom-assigned identifier of this course work, unique per course.
94
+ # Read-only.
95
+ # Corresponds to the JSON property `id`
54
96
  # @return [String]
55
- attr_accessor :description_heading
97
+ attr_accessor :id
56
98
 
57
- # Optional description. For example, "We'll be learning about the structure of
58
- # living creatures from a combination of textbooks, guest lectures, and lab work.
59
- # Expect to be excited!" If set, this field must be a valid UTF-8 string and no
60
- # longer than 30,000 characters.
99
+ # Optional description of this course work.
100
+ # If set, the description must be a valid UTF-8 string containing no more
101
+ # than 30,000 characters.
61
102
  # Corresponds to the JSON property `description`
62
103
  # @return [String]
63
104
  attr_accessor :description
64
105
 
65
- # Optional room location. For example, "301". If set, this field must be a valid
66
- # UTF-8 string and no longer than 650 characters.
67
- # Corresponds to the JSON property `room`
68
- # @return [String]
69
- attr_accessor :room
70
-
71
- # The identifier of the owner of a course. When specified as a parameter of a
72
- # create course request, this field is required. The identifier can be one of
73
- # the following: * the numeric identifier for the user * the email address of
74
- # the user * the string literal `"me"`, indicating the requesting user This must
75
- # be set in a create request. Specifying this field in a course update mask
76
- # results in an `INVALID_ARGUMENT` error.
77
- # Corresponds to the JSON property `ownerId`
106
+ # Setting to determine when students are allowed to modify submissions.
107
+ # If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
108
+ # Corresponds to the JSON property `submissionModificationMode`
78
109
  # @return [String]
79
- attr_accessor :owner_id
110
+ attr_accessor :submission_modification_mode
80
111
 
81
- # Creation time of the course. Specifying this field in a course update mask
82
- # results in an error. Read-only.
83
- # Corresponds to the JSON property `creationTime`
84
- # @return [String]
85
- attr_accessor :creation_time
112
+ # Whether this course work item is associated with the Developer Console
113
+ # project making the request.
114
+ # See google.classroom.Work.CreateCourseWork for more
115
+ # details.
116
+ # Read-only.
117
+ # Corresponds to the JSON property `associatedWithDeveloper`
118
+ # @return [Boolean]
119
+ attr_accessor :associated_with_developer
120
+ alias_method :associated_with_developer?, :associated_with_developer
86
121
 
87
- # Time of the most recent update to this course. Specifying this field in a
88
- # course update mask results in an error. Read-only.
122
+ # Timestamp of the most recent change to this course work.
123
+ # Read-only.
89
124
  # Corresponds to the JSON property `updateTime`
90
125
  # @return [String]
91
126
  attr_accessor :update_time
92
127
 
93
- # Enrollment code to use when joining this course. Specifying this field in a
94
- # course update mask results in an error. Read-only.
95
- # Corresponds to the JSON property `enrollmentCode`
96
- # @return [String]
97
- attr_accessor :enrollment_code
98
-
99
- # State of the course. If unspecified, the default state is `PROVISIONED`.
100
- # Corresponds to the JSON property `courseState`
128
+ # Title of this course work.
129
+ # The title must be a valid UTF-8 string containing between 1 and 3000
130
+ # characters.
131
+ # Corresponds to the JSON property `title`
101
132
  # @return [String]
102
- attr_accessor :course_state
133
+ attr_accessor :title
103
134
 
104
- # Absolute link to this course in the Classroom web UI. Read-only.
135
+ # Absolute link to this course work in the Classroom web UI.
136
+ # This is only populated if `state` is `PUBLISHED`.
137
+ # Read-only.
105
138
  # Corresponds to the JSON property `alternateLink`
106
139
  # @return [String]
107
140
  attr_accessor :alternate_link
108
141
 
109
- # The email address of a Google group containing all teachers of the course.
110
- # This group does not accept email and can only be used for permissions. Read-
111
- # only.
112
- # Corresponds to the JSON property `teacherGroupEmail`
142
+ # Type of this course work.
143
+ # The type is set when the course work is created and cannot be changed.
144
+ # Corresponds to the JSON property `workType`
113
145
  # @return [String]
114
- attr_accessor :teacher_group_email
146
+ attr_accessor :work_type
115
147
 
116
- # The email address of a Google group containing all members of the course. This
117
- # group does not accept email and can only be used for permissions. Read-only.
118
- # Corresponds to the JSON property `courseGroupEmail`
148
+ # Additional materials.
149
+ # CourseWork must have no more than 20 material items.
150
+ # Corresponds to the JSON property `materials`
151
+ # @return [Array<Google::Apis::ClassroomV1::Material>]
152
+ attr_accessor :materials
153
+
154
+ # Status of this course work.
155
+ # If unspecified, the default state is `DRAFT`.
156
+ # Corresponds to the JSON property `state`
119
157
  # @return [String]
120
- attr_accessor :course_group_email
158
+ attr_accessor :state
121
159
 
122
- # Representation of a Google Drive folder.
123
- # Corresponds to the JSON property `teacherFolder`
124
- # @return [Google::Apis::ClassroomV1::DriveFolder]
125
- attr_accessor :teacher_folder
160
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
161
+ # time zone are either specified elsewhere or are not significant. The date
162
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
163
+ # represent a year and month where the day is not significant, e.g. credit card
164
+ # expiration date. The year may be 0 to represent a month and day independent
165
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
166
+ # and `google.protobuf.Timestamp`.
167
+ # Corresponds to the JSON property `dueDate`
168
+ # @return [Google::Apis::ClassroomV1::Date]
169
+ attr_accessor :due_date
126
170
 
127
- # Sets of materials that appear on the "about" page of this course. Read-only.
128
- # Corresponds to the JSON property `courseMaterialSets`
129
- # @return [Array<Google::Apis::ClassroomV1::CourseMaterialSet>]
130
- attr_accessor :course_material_sets
171
+ # Additional details for multiple-choice questions.
172
+ # Corresponds to the JSON property `multipleChoiceQuestion`
173
+ # @return [Google::Apis::ClassroomV1::MultipleChoiceQuestion]
174
+ attr_accessor :multiple_choice_question
175
+
176
+ # Timestamp when this course work was created.
177
+ # Read-only.
178
+ # Corresponds to the JSON property `creationTime`
179
+ # @return [String]
180
+ attr_accessor :creation_time
181
+
182
+ # Identifier of the course.
183
+ # Read-only.
184
+ # Corresponds to the JSON property `courseId`
185
+ # @return [String]
186
+ attr_accessor :course_id
187
+
188
+ # Maximum grade for this course work.
189
+ # If zero or unspecified, this assignment is considered ungraded.
190
+ # This must be a non-negative integer value.
191
+ # Corresponds to the JSON property `maxPoints`
192
+ # @return [Float]
193
+ attr_accessor :max_points
194
+
195
+ # Additional details for assignments.
196
+ # Corresponds to the JSON property `assignment`
197
+ # @return [Google::Apis::ClassroomV1::Assignment]
198
+ attr_accessor :assignment
199
+
200
+ # Represents a time of day. The date and time zone are either not significant
201
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
202
+ # types are google.type.Date and `google.protobuf.Timestamp`.
203
+ # Corresponds to the JSON property `dueTime`
204
+ # @return [Google::Apis::ClassroomV1::TimeOfDay]
205
+ attr_accessor :due_time
131
206
 
132
207
  def initialize(**args)
133
208
  update!(**args)
@@ -136,70 +211,85 @@ module Google
136
211
  # Update properties of this object
137
212
  def update!(**args)
138
213
  @id = args[:id] if args.key?(:id)
139
- @name = args[:name] if args.key?(:name)
140
- @section = args[:section] if args.key?(:section)
141
- @description_heading = args[:description_heading] if args.key?(:description_heading)
142
214
  @description = args[:description] if args.key?(:description)
143
- @room = args[:room] if args.key?(:room)
144
- @owner_id = args[:owner_id] if args.key?(:owner_id)
145
- @creation_time = args[:creation_time] if args.key?(:creation_time)
215
+ @submission_modification_mode = args[:submission_modification_mode] if args.key?(:submission_modification_mode)
216
+ @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
146
217
  @update_time = args[:update_time] if args.key?(:update_time)
147
- @enrollment_code = args[:enrollment_code] if args.key?(:enrollment_code)
148
- @course_state = args[:course_state] if args.key?(:course_state)
218
+ @title = args[:title] if args.key?(:title)
149
219
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
150
- @teacher_group_email = args[:teacher_group_email] if args.key?(:teacher_group_email)
151
- @course_group_email = args[:course_group_email] if args.key?(:course_group_email)
152
- @teacher_folder = args[:teacher_folder] if args.key?(:teacher_folder)
153
- @course_material_sets = args[:course_material_sets] if args.key?(:course_material_sets)
220
+ @work_type = args[:work_type] if args.key?(:work_type)
221
+ @materials = args[:materials] if args.key?(:materials)
222
+ @state = args[:state] if args.key?(:state)
223
+ @due_date = args[:due_date] if args.key?(:due_date)
224
+ @multiple_choice_question = args[:multiple_choice_question] if args.key?(:multiple_choice_question)
225
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
226
+ @course_id = args[:course_id] if args.key?(:course_id)
227
+ @max_points = args[:max_points] if args.key?(:max_points)
228
+ @assignment = args[:assignment] if args.key?(:assignment)
229
+ @due_time = args[:due_time] if args.key?(:due_time)
154
230
  end
155
231
  end
156
232
 
157
- # Representation of a Google Drive folder.
158
- class DriveFolder
233
+ # Representation of a Google Drive file.
234
+ class DriveFile
159
235
  include Google::Apis::Core::Hashable
160
236
 
161
- # Drive API resource ID.
162
- # Corresponds to the JSON property `id`
237
+ # URL of a thumbnail image of the Drive item.
238
+ # Read-only.
239
+ # Corresponds to the JSON property `thumbnailUrl`
163
240
  # @return [String]
164
- attr_accessor :id
241
+ attr_accessor :thumbnail_url
165
242
 
166
- # Title of the Drive folder. Read-only.
243
+ # Title of the Drive item.
244
+ # Read-only.
167
245
  # Corresponds to the JSON property `title`
168
246
  # @return [String]
169
247
  attr_accessor :title
170
248
 
171
- # URL that can be used to access the Drive folder. Read-only.
249
+ # URL that can be used to access the Drive item.
250
+ # Read-only.
172
251
  # Corresponds to the JSON property `alternateLink`
173
252
  # @return [String]
174
253
  attr_accessor :alternate_link
175
254
 
255
+ # Drive API resource ID.
256
+ # Corresponds to the JSON property `id`
257
+ # @return [String]
258
+ attr_accessor :id
259
+
176
260
  def initialize(**args)
177
261
  update!(**args)
178
262
  end
179
263
 
180
264
  # Update properties of this object
181
265
  def update!(**args)
182
- @id = args[:id] if args.key?(:id)
266
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
183
267
  @title = args[:title] if args.key?(:title)
184
268
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
269
+ @id = args[:id] if args.key?(:id)
185
270
  end
186
271
  end
187
272
 
188
- # A set of materials that appears on the "About" page of the course. These
189
- # materials might include a syllabus, schedule, or other background information
190
- # relating to the course as a whole.
191
- class CourseMaterialSet
273
+ # Representation of a Google Drive folder.
274
+ class DriveFolder
192
275
  include Google::Apis::Core::Hashable
193
276
 
194
- # Title for this set.
277
+ # Title of the Drive folder.
278
+ # Read-only.
195
279
  # Corresponds to the JSON property `title`
196
280
  # @return [String]
197
281
  attr_accessor :title
198
282
 
199
- # Materials attached to this set.
200
- # Corresponds to the JSON property `materials`
201
- # @return [Array<Google::Apis::ClassroomV1::CourseMaterial>]
202
- attr_accessor :materials
283
+ # URL that can be used to access the Drive folder.
284
+ # Read-only.
285
+ # Corresponds to the JSON property `alternateLink`
286
+ # @return [String]
287
+ attr_accessor :alternate_link
288
+
289
+ # Drive API resource ID.
290
+ # Corresponds to the JSON property `id`
291
+ # @return [String]
292
+ attr_accessor :id
203
293
 
204
294
  def initialize(**args)
205
295
  update!(**args)
@@ -208,7 +298,53 @@ module Google
208
298
  # Update properties of this object
209
299
  def update!(**args)
210
300
  @title = args[:title] if args.key?(:title)
211
- @materials = args[:materials] if args.key?(:materials)
301
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
302
+ @id = args[:id] if args.key?(:id)
303
+ end
304
+ end
305
+
306
+ # Response when listing course aliases.
307
+ class ListCourseAliasesResponse
308
+ include Google::Apis::Core::Hashable
309
+
310
+ # Token identifying the next page of results to return. If empty, no further
311
+ # results are available.
312
+ # Corresponds to the JSON property `nextPageToken`
313
+ # @return [String]
314
+ attr_accessor :next_page_token
315
+
316
+ # The course aliases.
317
+ # Corresponds to the JSON property `aliases`
318
+ # @return [Array<Google::Apis::ClassroomV1::CourseAlias>]
319
+ attr_accessor :aliases
320
+
321
+ def initialize(**args)
322
+ update!(**args)
323
+ end
324
+
325
+ # Update properties of this object
326
+ def update!(**args)
327
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
328
+ @aliases = args[:aliases] if args.key?(:aliases)
329
+ end
330
+ end
331
+
332
+ # Student work for a short answer question.
333
+ class ShortAnswerSubmission
334
+ include Google::Apis::Core::Hashable
335
+
336
+ # Student response to a short-answer question.
337
+ # Corresponds to the JSON property `answer`
338
+ # @return [String]
339
+ attr_accessor :answer
340
+
341
+ def initialize(**args)
342
+ update!(**args)
343
+ end
344
+
345
+ # Update properties of this object
346
+ def update!(**args)
347
+ @answer = args[:answer] if args.key?(:answer)
212
348
  end
213
349
  end
214
350
 
@@ -249,66 +385,69 @@ module Google
249
385
  end
250
386
  end
251
387
 
252
- # Representation of a Google Drive file.
253
- class DriveFile
388
+ # Student work for a multiple-choice question.
389
+ class MultipleChoiceSubmission
254
390
  include Google::Apis::Core::Hashable
255
391
 
256
- # Drive API resource ID.
257
- # Corresponds to the JSON property `id`
392
+ # Student's select choice.
393
+ # Corresponds to the JSON property `answer`
258
394
  # @return [String]
259
- attr_accessor :id
395
+ attr_accessor :answer
260
396
 
261
- # Title of the Drive item. Read-only.
262
- # Corresponds to the JSON property `title`
263
- # @return [String]
264
- attr_accessor :title
397
+ def initialize(**args)
398
+ update!(**args)
399
+ end
265
400
 
266
- # URL that can be used to access the Drive item. Read-only.
267
- # Corresponds to the JSON property `alternateLink`
401
+ # Update properties of this object
402
+ def update!(**args)
403
+ @answer = args[:answer] if args.key?(:answer)
404
+ end
405
+ end
406
+
407
+ # URL item.
408
+ class Link
409
+ include Google::Apis::Core::Hashable
410
+
411
+ # URL to link to.
412
+ # This must be a valid UTF-8 string containing between 1 and 2024 characters.
413
+ # Corresponds to the JSON property `url`
268
414
  # @return [String]
269
- attr_accessor :alternate_link
415
+ attr_accessor :url
270
416
 
271
- # URL of a thumbnail image of the Drive item. Read-only.
417
+ # URL of a thumbnail image of the target URL.
418
+ # Read-only.
272
419
  # Corresponds to the JSON property `thumbnailUrl`
273
420
  # @return [String]
274
421
  attr_accessor :thumbnail_url
275
422
 
423
+ # Title of the target of the URL.
424
+ # Read-only.
425
+ # Corresponds to the JSON property `title`
426
+ # @return [String]
427
+ attr_accessor :title
428
+
276
429
  def initialize(**args)
277
430
  update!(**args)
278
431
  end
279
432
 
280
433
  # Update properties of this object
281
434
  def update!(**args)
282
- @id = args[:id] if args.key?(:id)
283
- @title = args[:title] if args.key?(:title)
284
- @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
435
+ @url = args[:url] if args.key?(:url)
285
436
  @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
437
+ @title = args[:title] if args.key?(:title)
286
438
  end
287
439
  end
288
440
 
289
- # YouTube video item.
290
- class YouTubeVideo
441
+ # Request to modify the attachments of a student submission.
442
+ class ModifyAttachmentsRequest
291
443
  include Google::Apis::Core::Hashable
292
444
 
293
- # YouTube API resource ID.
294
- # Corresponds to the JSON property `id`
295
- # @return [String]
296
- attr_accessor :id
297
-
298
- # Title of the YouTube video. Read-only.
299
- # Corresponds to the JSON property `title`
300
- # @return [String]
301
- attr_accessor :title
302
-
303
- # URL that can be used to view the YouTube video. Read-only.
304
- # Corresponds to the JSON property `alternateLink`
305
- # @return [String]
306
- attr_accessor :alternate_link
307
-
308
- # URL of a thumbnail image of the YouTube video. Read-only.
309
- # Corresponds to the JSON property `thumbnailUrl`
310
- # @return [String]
311
- attr_accessor :thumbnail_url
445
+ # Attachments to add.
446
+ # A student submission may not have more than 20 attachments.
447
+ # Form attachments are not supported.
448
+ # Corresponds to the JSON property `addAttachments`
449
+ # @return [Array<Google::Apis::ClassroomV1::Attachment>]
450
+ attr_accessor :add_attachments
312
451
 
313
452
  def initialize(**args)
314
453
  update!(**args)
@@ -316,32 +455,37 @@ module Google
316
455
 
317
456
  # Update properties of this object
318
457
  def update!(**args)
319
- @id = args[:id] if args.key?(:id)
320
- @title = args[:title] if args.key?(:title)
321
- @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
322
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
458
+ @add_attachments = args[:add_attachments] if args.key?(:add_attachments)
323
459
  end
324
460
  end
325
461
 
326
- # URL item.
327
- class Link
462
+ # Represents a time of day. The date and time zone are either not significant
463
+ # or are specified elsewhere. An API may choose to allow leap seconds. Related
464
+ # types are google.type.Date and `google.protobuf.Timestamp`.
465
+ class TimeOfDay
328
466
  include Google::Apis::Core::Hashable
329
467
 
330
- # URL to link to. This must be a valid UTF-8 string containing between 1 and
331
- # 2024 characters.
332
- # Corresponds to the JSON property `url`
333
- # @return [String]
334
- attr_accessor :url
468
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
469
+ # Corresponds to the JSON property `nanos`
470
+ # @return [Fixnum]
471
+ attr_accessor :nanos
335
472
 
336
- # Title of the target of the URL. Read-only.
337
- # Corresponds to the JSON property `title`
338
- # @return [String]
339
- attr_accessor :title
473
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
474
+ # to allow the value "24:00:00" for scenarios like business closing time.
475
+ # Corresponds to the JSON property `hours`
476
+ # @return [Fixnum]
477
+ attr_accessor :hours
340
478
 
341
- # URL of a thumbnail image of the target URL. Read-only.
342
- # Corresponds to the JSON property `thumbnailUrl`
343
- # @return [String]
344
- attr_accessor :thumbnail_url
479
+ # Minutes of hour of day. Must be from 0 to 59.
480
+ # Corresponds to the JSON property `minutes`
481
+ # @return [Fixnum]
482
+ attr_accessor :minutes
483
+
484
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
485
+ # allow the value 60 if it allows leap-seconds.
486
+ # Corresponds to the JSON property `seconds`
487
+ # @return [Fixnum]
488
+ attr_accessor :seconds
345
489
 
346
490
  def initialize(**args)
347
491
  update!(**args)
@@ -349,9 +493,10 @@ module Google
349
493
 
350
494
  # Update properties of this object
351
495
  def update!(**args)
352
- @url = args[:url] if args.key?(:url)
353
- @title = args[:title] if args.key?(:title)
354
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
496
+ @nanos = args[:nanos] if args.key?(:nanos)
497
+ @hours = args[:hours] if args.key?(:hours)
498
+ @minutes = args[:minutes] if args.key?(:minutes)
499
+ @seconds = args[:seconds] if args.key?(:seconds)
355
500
  end
356
501
  end
357
502
 
@@ -359,26 +504,30 @@ module Google
359
504
  class Form
360
505
  include Google::Apis::Core::Hashable
361
506
 
507
+ # URL of a thumbnail image of the Form.
508
+ # Read-only.
509
+ # Corresponds to the JSON property `thumbnailUrl`
510
+ # @return [String]
511
+ attr_accessor :thumbnail_url
512
+
362
513
  # URL of the form.
363
514
  # Corresponds to the JSON property `formUrl`
364
515
  # @return [String]
365
516
  attr_accessor :form_url
366
517
 
367
- # URL of the form responses document. Only set if respsonses have been recorded
368
- # and only when the requesting user is an editor of the form. Read-only.
369
- # Corresponds to the JSON property `responseUrl`
370
- # @return [String]
371
- attr_accessor :response_url
372
-
373
- # Title of the Form. Read-only.
518
+ # Title of the Form.
519
+ # Read-only.
374
520
  # Corresponds to the JSON property `title`
375
521
  # @return [String]
376
522
  attr_accessor :title
377
523
 
378
- # URL of a thumbnail image of the Form. Read-only.
379
- # Corresponds to the JSON property `thumbnailUrl`
524
+ # URL of the form responses document.
525
+ # Only set if respsonses have been recorded and only when the
526
+ # requesting user is an editor of the form.
527
+ # Read-only.
528
+ # Corresponds to the JSON property `responseUrl`
380
529
  # @return [String]
381
- attr_accessor :thumbnail_url
530
+ attr_accessor :response_url
382
531
 
383
532
  def initialize(**args)
384
533
  update!(**args)
@@ -386,44 +535,47 @@ module Google
386
535
 
387
536
  # Update properties of this object
388
537
  def update!(**args)
538
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
389
539
  @form_url = args[:form_url] if args.key?(:form_url)
390
- @response_url = args[:response_url] if args.key?(:response_url)
391
540
  @title = args[:title] if args.key?(:title)
392
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
541
+ @response_url = args[:response_url] if args.key?(:response_url)
393
542
  end
394
543
  end
395
544
 
396
- # A generic empty message that you can re-use to avoid defining duplicated empty
397
- # messages in your APIs. A typical example is to use it as the request or the
398
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
399
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
400
- # `Empty` is empty JSON object ````.
401
- class Empty
545
+ # Additional details for multiple-choice questions.
546
+ class MultipleChoiceQuestion
402
547
  include Google::Apis::Core::Hashable
403
548
 
549
+ # Possible choices.
550
+ # Corresponds to the JSON property `choices`
551
+ # @return [Array<String>]
552
+ attr_accessor :choices
553
+
404
554
  def initialize(**args)
405
555
  update!(**args)
406
556
  end
407
557
 
408
558
  # Update properties of this object
409
559
  def update!(**args)
560
+ @choices = args[:choices] if args.key?(:choices)
410
561
  end
411
562
  end
412
563
 
413
- # Response when listing courses.
414
- class ListCoursesResponse
564
+ # A set of materials that appears on the "About" page of the course.
565
+ # These materials might include a syllabus, schedule, or other background
566
+ # information relating to the course as a whole.
567
+ class CourseMaterialSet
415
568
  include Google::Apis::Core::Hashable
416
569
 
417
- # Courses that match the list request.
418
- # Corresponds to the JSON property `courses`
419
- # @return [Array<Google::Apis::ClassroomV1::Course>]
420
- attr_accessor :courses
570
+ # Materials attached to this set.
571
+ # Corresponds to the JSON property `materials`
572
+ # @return [Array<Google::Apis::ClassroomV1::CourseMaterial>]
573
+ attr_accessor :materials
421
574
 
422
- # Token identifying the next page of results to return. If empty, no further
423
- # results are available.
424
- # Corresponds to the JSON property `nextPageToken`
575
+ # Title for this set.
576
+ # Corresponds to the JSON property `title`
425
577
  # @return [String]
426
- attr_accessor :next_page_token
578
+ attr_accessor :title
427
579
 
428
580
  def initialize(**args)
429
581
  update!(**args)
@@ -431,123 +583,120 @@ module Google
431
583
 
432
584
  # Update properties of this object
433
585
  def update!(**args)
434
- @courses = args[:courses] if args.key?(:courses)
435
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
586
+ @materials = args[:materials] if args.key?(:materials)
587
+ @title = args[:title] if args.key?(:title)
436
588
  end
437
589
  end
438
590
 
439
- # Alternative identifier for a course. An alias uniquely identifies a course. It
440
- # must be unique within one of the following scopes: * domain: A domain-scoped
441
- # alias is visible to all users within the alias creator's domain and can be
442
- # created only by a domain admin. A domain-scoped alias is often used when a
443
- # course has an identifier external to Classroom. * project: A project-scoped
444
- # alias is visible to any request from an application using the Developer
445
- # Console project ID that created the alias and can be created by any project. A
446
- # project-scoped alias is often used when an application has alternative
447
- # identifiers. A random value can also be used to avoid duplicate courses in the
448
- # event of transmission failures, as retrying a request will return `
449
- # ALREADY_EXISTS` if a previous one has succeeded.
450
- class CourseAlias
591
+ # Student submission for course work.
592
+ # StudentSubmission items are generated when a CourseWork item is created.
593
+ # StudentSubmissions that have never been accessed (i.e. with `state` = NEW)
594
+ # may not have a creation time or update time.
595
+ class StudentSubmission
451
596
  include Google::Apis::Core::Hashable
452
597
 
453
- # Alias string. The format of the string indicates the desired alias scoping. * `
454
- # d:` indicates a domain-scoped alias. Example: `d:math_101` * `p:` indicates a
455
- # project-scoped alias. Example: `p:abc123` This field has a maximum length of
456
- # 256 characters.
457
- # Corresponds to the JSON property `alias`
598
+ # Classroom-assigned Identifier for the student submission.
599
+ # This is unique among submissions for the relevant course work.
600
+ # Read-only.
601
+ # Corresponds to the JSON property `id`
458
602
  # @return [String]
459
- attr_accessor :alias
603
+ attr_accessor :id
460
604
 
461
- def initialize(**args)
462
- update!(**args)
463
- end
605
+ # Type of course work this submission is for.
606
+ # Read-only.
607
+ # Corresponds to the JSON property `courseWorkType`
608
+ # @return [String]
609
+ attr_accessor :course_work_type
464
610
 
465
- # Update properties of this object
466
- def update!(**args)
467
- @alias = args[:alias] if args.key?(:alias)
468
- end
469
- end
611
+ # Optional grade. If unset, no grade was set.
612
+ # This must be a non-negative integer value.
613
+ # This may be modified only by course teachers.
614
+ # Corresponds to the JSON property `assignedGrade`
615
+ # @return [Float]
616
+ attr_accessor :assigned_grade
470
617
 
471
- # Response when listing course aliases.
472
- class ListCourseAliasesResponse
473
- include Google::Apis::Core::Hashable
618
+ # Whether this student submission is associated with the Developer Console
619
+ # project making the request.
620
+ # See google.classroom.Work.CreateCourseWork for more
621
+ # details.
622
+ # Read-only.
623
+ # Corresponds to the JSON property `associatedWithDeveloper`
624
+ # @return [Boolean]
625
+ attr_accessor :associated_with_developer
626
+ alias_method :associated_with_developer?, :associated_with_developer
474
627
 
475
- # The course aliases.
476
- # Corresponds to the JSON property `aliases`
477
- # @return [Array<Google::Apis::ClassroomV1::CourseAlias>]
478
- attr_accessor :aliases
628
+ # Last update time of this submission.
629
+ # This may be unset if the student has not accessed this item.
630
+ # Read-only.
631
+ # Corresponds to the JSON property `updateTime`
632
+ # @return [String]
633
+ attr_accessor :update_time
479
634
 
480
- # Token identifying the next page of results to return. If empty, no further
481
- # results are available.
482
- # Corresponds to the JSON property `nextPageToken`
635
+ # Absolute link to the submission in the Classroom web UI.
636
+ # Read-only.
637
+ # Corresponds to the JSON property `alternateLink`
483
638
  # @return [String]
484
- attr_accessor :next_page_token
639
+ attr_accessor :alternate_link
485
640
 
486
- def initialize(**args)
487
- update!(**args)
488
- end
641
+ # Optional pending grade. If unset, no grade was set.
642
+ # This must be a non-negative integer value.
643
+ # This is only visible to and modifiable by course teachers.
644
+ # Corresponds to the JSON property `draftGrade`
645
+ # @return [Float]
646
+ attr_accessor :draft_grade
489
647
 
490
- # Update properties of this object
491
- def update!(**args)
492
- @aliases = args[:aliases] if args.key?(:aliases)
493
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
494
- end
495
- end
648
+ # Identifier for the student that owns this submission.
649
+ # Read-only.
650
+ # Corresponds to the JSON property `userId`
651
+ # @return [String]
652
+ attr_accessor :user_id
496
653
 
497
- # An invitation to join a course.
498
- class Invitation
499
- include Google::Apis::Core::Hashable
654
+ # Student work for a multiple-choice question.
655
+ # Corresponds to the JSON property `multipleChoiceSubmission`
656
+ # @return [Google::Apis::ClassroomV1::MultipleChoiceSubmission]
657
+ attr_accessor :multiple_choice_submission
500
658
 
501
- # Identifier assigned by Classroom. Read-only.
502
- # Corresponds to the JSON property `id`
659
+ # State of this submission.
660
+ # Read-only.
661
+ # Corresponds to the JSON property `state`
503
662
  # @return [String]
504
- attr_accessor :id
663
+ attr_accessor :state
505
664
 
506
- # Identifier of the invited user. When specified as a parameter of a request,
507
- # this identifier can be set to one of the following: * the numeric identifier
508
- # for the user * the email address of the user * the string literal `"me"`,
509
- # indicating the requesting user
510
- # Corresponds to the JSON property `userId`
665
+ # Student work for an assignment.
666
+ # Corresponds to the JSON property `assignmentSubmission`
667
+ # @return [Google::Apis::ClassroomV1::AssignmentSubmission]
668
+ attr_accessor :assignment_submission
669
+
670
+ # Creation time of this submission.
671
+ # This may be unset if the student has not accessed this item.
672
+ # Read-only.
673
+ # Corresponds to the JSON property `creationTime`
511
674
  # @return [String]
512
- attr_accessor :user_id
675
+ attr_accessor :creation_time
513
676
 
514
- # Identifier of the course to invite the user to.
677
+ # Identifier of the course.
678
+ # Read-only.
515
679
  # Corresponds to the JSON property `courseId`
516
680
  # @return [String]
517
681
  attr_accessor :course_id
518
682
 
519
- # Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.
520
- # Corresponds to the JSON property `role`
521
- # @return [String]
522
- attr_accessor :role
523
-
524
- def initialize(**args)
525
- update!(**args)
526
- end
683
+ # Student work for a short answer question.
684
+ # Corresponds to the JSON property `shortAnswerSubmission`
685
+ # @return [Google::Apis::ClassroomV1::ShortAnswerSubmission]
686
+ attr_accessor :short_answer_submission
527
687
 
528
- # Update properties of this object
529
- def update!(**args)
530
- @id = args[:id] if args.key?(:id)
531
- @user_id = args[:user_id] if args.key?(:user_id)
532
- @course_id = args[:course_id] if args.key?(:course_id)
533
- @role = args[:role] if args.key?(:role)
534
- end
535
- end
536
-
537
- # Response when listing invitations.
538
- class ListInvitationsResponse
539
- include Google::Apis::Core::Hashable
540
-
541
- # Invitations that match the list request.
542
- # Corresponds to the JSON property `invitations`
543
- # @return [Array<Google::Apis::ClassroomV1::Invitation>]
544
- attr_accessor :invitations
688
+ # Whether this submission is late.
689
+ # Read-only.
690
+ # Corresponds to the JSON property `late`
691
+ # @return [Boolean]
692
+ attr_accessor :late
693
+ alias_method :late?, :late
545
694
 
546
- # Token identifying the next page of results to return. If empty, no further
547
- # results are available.
548
- # Corresponds to the JSON property `nextPageToken`
695
+ # Identifier for the course work this corresponds to.
696
+ # Read-only.
697
+ # Corresponds to the JSON property `courseWorkId`
549
698
  # @return [String]
550
- attr_accessor :next_page_token
699
+ attr_accessor :course_work_id
551
700
 
552
701
  def initialize(**args)
553
702
  update!(**args)
@@ -555,39 +704,49 @@ module Google
555
704
 
556
705
  # Update properties of this object
557
706
  def update!(**args)
558
- @invitations = args[:invitations] if args.key?(:invitations)
559
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
707
+ @id = args[:id] if args.key?(:id)
708
+ @course_work_type = args[:course_work_type] if args.key?(:course_work_type)
709
+ @assigned_grade = args[:assigned_grade] if args.key?(:assigned_grade)
710
+ @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
711
+ @update_time = args[:update_time] if args.key?(:update_time)
712
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
713
+ @draft_grade = args[:draft_grade] if args.key?(:draft_grade)
714
+ @user_id = args[:user_id] if args.key?(:user_id)
715
+ @multiple_choice_submission = args[:multiple_choice_submission] if args.key?(:multiple_choice_submission)
716
+ @state = args[:state] if args.key?(:state)
717
+ @assignment_submission = args[:assignment_submission] if args.key?(:assignment_submission)
718
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
719
+ @course_id = args[:course_id] if args.key?(:course_id)
720
+ @short_answer_submission = args[:short_answer_submission] if args.key?(:short_answer_submission)
721
+ @late = args[:late] if args.key?(:late)
722
+ @course_work_id = args[:course_work_id] if args.key?(:course_work_id)
560
723
  end
561
724
  end
562
725
 
563
- # Global information for a user.
564
- class UserProfile
726
+ # Alternative identifier for a course.
727
+ # An alias uniquely identifies a course. It must be unique within one of the
728
+ # following scopes:
729
+ # * domain: A domain-scoped alias is visible to all users within the alias
730
+ # creator's domain and can be created only by a domain admin. A domain-scoped
731
+ # alias is often used when a course has an identifier external to Classroom.
732
+ # * project: A project-scoped alias is visible to any request from an
733
+ # application using the Developer Console project ID that created the alias
734
+ # and can be created by any project. A project-scoped alias is often used when
735
+ # an application has alternative identifiers. A random value can also be used
736
+ # to avoid duplicate courses in the event of transmission failures, as retrying
737
+ # a request will return `ALREADY_EXISTS` if a previous one has succeeded.
738
+ class CourseAlias
565
739
  include Google::Apis::Core::Hashable
566
740
 
567
- # Identifier of the user. Read-only.
568
- # Corresponds to the JSON property `id`
569
- # @return [String]
570
- attr_accessor :id
571
-
572
- # Details of the user's name.
573
- # Corresponds to the JSON property `name`
574
- # @return [Google::Apis::ClassroomV1::Name]
575
- attr_accessor :name
576
-
577
- # Email address of the user. Read-only.
578
- # Corresponds to the JSON property `emailAddress`
579
- # @return [String]
580
- attr_accessor :email_address
581
-
582
- # URL of user's profile photo. Read-only.
583
- # Corresponds to the JSON property `photoUrl`
741
+ # Alias string. The format of the string indicates the desired alias scoping.
742
+ # * `d:<name>` indicates a domain-scoped alias.
743
+ # Example: `d:math_101`
744
+ # * `p:<name>` indicates a project-scoped alias.
745
+ # Example: `p:abc123`
746
+ # This field has a maximum length of 256 characters.
747
+ # Corresponds to the JSON property `alias`
584
748
  # @return [String]
585
- attr_accessor :photo_url
586
-
587
- # Global permissions of the user. Read-only.
588
- # Corresponds to the JSON property `permissions`
589
- # @return [Array<Google::Apis::ClassroomV1::GlobalPermission>]
590
- attr_accessor :permissions
749
+ attr_accessor :alias
591
750
 
592
751
  def initialize(**args)
593
752
  update!(**args)
@@ -595,33 +754,25 @@ module Google
595
754
 
596
755
  # Update properties of this object
597
756
  def update!(**args)
598
- @id = args[:id] if args.key?(:id)
599
- @name = args[:name] if args.key?(:name)
600
- @email_address = args[:email_address] if args.key?(:email_address)
601
- @photo_url = args[:photo_url] if args.key?(:photo_url)
602
- @permissions = args[:permissions] if args.key?(:permissions)
757
+ @alias = args[:alias] if args.key?(:alias)
603
758
  end
604
759
  end
605
760
 
606
- # Details of the user's name.
607
- class Name
761
+ # Response when listing guardians.
762
+ class ListGuardiansResponse
608
763
  include Google::Apis::Core::Hashable
609
764
 
610
- # The user's first name. Read-only.
611
- # Corresponds to the JSON property `givenName`
612
- # @return [String]
613
- attr_accessor :given_name
614
-
615
- # The user's last name. Read-only.
616
- # Corresponds to the JSON property `familyName`
617
- # @return [String]
618
- attr_accessor :family_name
765
+ # Guardians on this page of results that met the criteria specified in
766
+ # the request.
767
+ # Corresponds to the JSON property `guardians`
768
+ # @return [Array<Google::Apis::ClassroomV1::Guardian>]
769
+ attr_accessor :guardians
619
770
 
620
- # The user's full name formed by concatenating the first and last name values.
621
- # Read-only.
622
- # Corresponds to the JSON property `fullName`
771
+ # Token identifying the next page of results to return. If empty, no further
772
+ # results are available.
773
+ # Corresponds to the JSON property `nextPageToken`
623
774
  # @return [String]
624
- attr_accessor :full_name
775
+ attr_accessor :next_page_token
625
776
 
626
777
  def initialize(**args)
627
778
  update!(**args)
@@ -629,20 +780,36 @@ module Google
629
780
 
630
781
  # Update properties of this object
631
782
  def update!(**args)
632
- @given_name = args[:given_name] if args.key?(:given_name)
633
- @family_name = args[:family_name] if args.key?(:family_name)
634
- @full_name = args[:full_name] if args.key?(:full_name)
783
+ @guardians = args[:guardians] if args.key?(:guardians)
784
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
635
785
  end
636
786
  end
637
787
 
638
- # Global user permission description.
639
- class GlobalPermission
788
+ # Association between a student and a guardian of that student. The guardian
789
+ # may receive information about the student's course work.
790
+ class Guardian
640
791
  include Google::Apis::Core::Hashable
641
792
 
642
- # Permission value.
643
- # Corresponds to the JSON property `permission`
793
+ # Global information for a user.
794
+ # Corresponds to the JSON property `guardianProfile`
795
+ # @return [Google::Apis::ClassroomV1::UserProfile]
796
+ attr_accessor :guardian_profile
797
+
798
+ # The email address to which the initial guardian invitation was sent.
799
+ # This field is only visible to domain administrators.
800
+ # Corresponds to the JSON property `invitedEmailAddress`
644
801
  # @return [String]
645
- attr_accessor :permission
802
+ attr_accessor :invited_email_address
803
+
804
+ # Identifier for the student to whom the guardian relationship applies.
805
+ # Corresponds to the JSON property `studentId`
806
+ # @return [String]
807
+ attr_accessor :student_id
808
+
809
+ # Identifier for the guardian.
810
+ # Corresponds to the JSON property `guardianId`
811
+ # @return [String]
812
+ attr_accessor :guardian_id
646
813
 
647
814
  def initialize(**args)
648
815
  update!(**args)
@@ -650,7 +817,10 @@ module Google
650
817
 
651
818
  # Update properties of this object
652
819
  def update!(**args)
653
- @permission = args[:permission] if args.key?(:permission)
820
+ @guardian_profile = args[:guardian_profile] if args.key?(:guardian_profile)
821
+ @invited_email_address = args[:invited_email_address] if args.key?(:invited_email_address)
822
+ @student_id = args[:student_id] if args.key?(:student_id)
823
+ @guardian_id = args[:guardian_id] if args.key?(:guardian_id)
654
824
  end
655
825
  end
656
826
 
@@ -658,24 +828,27 @@ module Google
658
828
  class Teacher
659
829
  include Google::Apis::Core::Hashable
660
830
 
661
- # Identifier of the course. Read-only.
831
+ # Identifier of the course.
832
+ # Read-only.
662
833
  # Corresponds to the JSON property `courseId`
663
834
  # @return [String]
664
835
  attr_accessor :course_id
665
836
 
666
- # Identifier of the user. When specified as a parameter of a request, this
667
- # identifier can be one of the following: * the numeric identifier for the user *
668
- # the email address of the user * the string literal `"me"`, indicating the
669
- # requesting user
670
- # Corresponds to the JSON property `userId`
671
- # @return [String]
672
- attr_accessor :user_id
673
-
674
837
  # Global information for a user.
675
838
  # Corresponds to the JSON property `profile`
676
839
  # @return [Google::Apis::ClassroomV1::UserProfile]
677
840
  attr_accessor :profile
678
841
 
842
+ # Identifier of the user.
843
+ # When specified as a parameter of a request, this identifier can be one of
844
+ # the following:
845
+ # * the numeric identifier for the user
846
+ # * the email address of the user
847
+ # * the string literal `"me"`, indicating the requesting user
848
+ # Corresponds to the JSON property `userId`
849
+ # @return [String]
850
+ attr_accessor :user_id
851
+
679
852
  def initialize(**args)
680
853
  update!(**args)
681
854
  end
@@ -683,25 +856,61 @@ module Google
683
856
  # Update properties of this object
684
857
  def update!(**args)
685
858
  @course_id = args[:course_id] if args.key?(:course_id)
686
- @user_id = args[:user_id] if args.key?(:user_id)
687
859
  @profile = args[:profile] if args.key?(:profile)
860
+ @user_id = args[:user_id] if args.key?(:user_id)
688
861
  end
689
862
  end
690
863
 
691
- # Response when listing teachers.
692
- class ListTeachersResponse
864
+ # Global information for a user.
865
+ class UserProfile
693
866
  include Google::Apis::Core::Hashable
694
867
 
695
- # Teachers who match the list request.
696
- # Corresponds to the JSON property `teachers`
697
- # @return [Array<Google::Apis::ClassroomV1::Teacher>]
698
- attr_accessor :teachers
868
+ # Email address of the user.
869
+ # Read-only.
870
+ # Corresponds to the JSON property `emailAddress`
871
+ # @return [String]
872
+ attr_accessor :email_address
699
873
 
700
- # Token identifying the next page of results to return. If empty, no further
701
- # results are available.
702
- # Corresponds to the JSON property `nextPageToken`
874
+ # Global permissions of the user.
875
+ # Read-only.
876
+ # Corresponds to the JSON property `permissions`
877
+ # @return [Array<Google::Apis::ClassroomV1::GlobalPermission>]
878
+ attr_accessor :permissions
879
+
880
+ # Identifier of the user.
881
+ # Read-only.
882
+ # Corresponds to the JSON property `id`
703
883
  # @return [String]
704
- attr_accessor :next_page_token
884
+ attr_accessor :id
885
+
886
+ # Details of the user's name.
887
+ # Corresponds to the JSON property `name`
888
+ # @return [Google::Apis::ClassroomV1::Name]
889
+ attr_accessor :name
890
+
891
+ # URL of user's profile photo.
892
+ # Read-only.
893
+ # Corresponds to the JSON property `photoUrl`
894
+ # @return [String]
895
+ attr_accessor :photo_url
896
+
897
+ def initialize(**args)
898
+ update!(**args)
899
+ end
900
+
901
+ # Update properties of this object
902
+ def update!(**args)
903
+ @email_address = args[:email_address] if args.key?(:email_address)
904
+ @permissions = args[:permissions] if args.key?(:permissions)
905
+ @id = args[:id] if args.key?(:id)
906
+ @name = args[:name] if args.key?(:name)
907
+ @photo_url = args[:photo_url] if args.key?(:photo_url)
908
+ end
909
+ end
910
+
911
+ # Request to reclaim a student submission.
912
+ class ReclaimStudentSubmissionRequest
913
+ include Google::Apis::Core::Hashable
705
914
 
706
915
  def initialize(**args)
707
916
  update!(**args)
@@ -709,8 +918,6 @@ module Google
709
918
 
710
919
  # Update properties of this object
711
920
  def update!(**args)
712
- @teachers = args[:teachers] if args.key?(:teachers)
713
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
714
921
  end
715
922
  end
716
923
 
@@ -718,19 +925,12 @@ module Google
718
925
  class Student
719
926
  include Google::Apis::Core::Hashable
720
927
 
721
- # Identifier of the course. Read-only.
928
+ # Identifier of the course.
929
+ # Read-only.
722
930
  # Corresponds to the JSON property `courseId`
723
931
  # @return [String]
724
932
  attr_accessor :course_id
725
933
 
726
- # Identifier of the user. When specified as a parameter of a request, this
727
- # identifier can be one of the following: * the numeric identifier for the user *
728
- # the email address of the user * the string literal `"me"`, indicating the
729
- # requesting user
730
- # Corresponds to the JSON property `userId`
731
- # @return [String]
732
- attr_accessor :user_id
733
-
734
934
  # Global information for a user.
735
935
  # Corresponds to the JSON property `profile`
736
936
  # @return [Google::Apis::ClassroomV1::UserProfile]
@@ -741,6 +941,16 @@ module Google
741
941
  # @return [Google::Apis::ClassroomV1::DriveFolder]
742
942
  attr_accessor :student_work_folder
743
943
 
944
+ # Identifier of the user.
945
+ # When specified as a parameter of a request, this identifier can be one of
946
+ # the following:
947
+ # * the numeric identifier for the user
948
+ # * the email address of the user
949
+ # * the string literal `"me"`, indicating the requesting user
950
+ # Corresponds to the JSON property `userId`
951
+ # @return [String]
952
+ attr_accessor :user_id
953
+
744
954
  def initialize(**args)
745
955
  update!(**args)
746
956
  end
@@ -748,144 +958,174 @@ module Google
748
958
  # Update properties of this object
749
959
  def update!(**args)
750
960
  @course_id = args[:course_id] if args.key?(:course_id)
751
- @user_id = args[:user_id] if args.key?(:user_id)
752
961
  @profile = args[:profile] if args.key?(:profile)
753
962
  @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
963
+ @user_id = args[:user_id] if args.key?(:user_id)
754
964
  end
755
965
  end
756
966
 
757
- # Response when listing students.
758
- class ListStudentsResponse
967
+ # Response when listing teachers.
968
+ class ListTeachersResponse
759
969
  include Google::Apis::Core::Hashable
760
970
 
761
- # Students who match the list request.
762
- # Corresponds to the JSON property `students`
763
- # @return [Array<Google::Apis::ClassroomV1::Student>]
764
- attr_accessor :students
765
-
766
971
  # Token identifying the next page of results to return. If empty, no further
767
972
  # results are available.
768
973
  # Corresponds to the JSON property `nextPageToken`
769
974
  # @return [String]
770
975
  attr_accessor :next_page_token
771
976
 
977
+ # Teachers who match the list request.
978
+ # Corresponds to the JSON property `teachers`
979
+ # @return [Array<Google::Apis::ClassroomV1::Teacher>]
980
+ attr_accessor :teachers
981
+
772
982
  def initialize(**args)
773
983
  update!(**args)
774
984
  end
775
985
 
776
986
  # Update properties of this object
777
987
  def update!(**args)
778
- @students = args[:students] if args.key?(:students)
779
988
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
989
+ @teachers = args[:teachers] if args.key?(:teachers)
780
990
  end
781
991
  end
782
992
 
783
- # Course work created by a teacher for students of the course.
784
- class CourseWork
993
+ # A Course in Classroom.
994
+ class Course
785
995
  include Google::Apis::Core::Hashable
786
996
 
787
- # Identifier of the course. Read-only.
788
- # Corresponds to the JSON property `courseId`
789
- # @return [String]
790
- attr_accessor :course_id
791
-
792
- # Classroom-assigned identifier of this course work, unique per course. Read-
793
- # only.
997
+ # Identifier for this course assigned by Classroom.
998
+ # When
999
+ # creating a course,
1000
+ # you may optionally set this identifier to an
1001
+ # alias string in the
1002
+ # request to create a corresponding alias. The `id` is still assigned by
1003
+ # Classroom and cannot be updated after the course is created.
1004
+ # Specifying this field in a course update mask results in an error.
794
1005
  # Corresponds to the JSON property `id`
795
1006
  # @return [String]
796
1007
  attr_accessor :id
797
1008
 
798
- # Title of this course work. The title must be a valid UTF-8 string containing
799
- # between 1 and 3000 characters.
800
- # Corresponds to the JSON property `title`
801
- # @return [String]
802
- attr_accessor :title
803
-
804
- # Optional description of this course work. If set, the description must be a
805
- # valid UTF-8 string containing no more than 30,000 characters.
1009
+ # Optional description.
1010
+ # For example, "We'll be learning about the structure of living
1011
+ # creatures from a combination of textbooks, guest lectures, and lab work.
1012
+ # Expect to be excited!"
1013
+ # If set, this field must be a valid UTF-8 string and no longer than 30,000
1014
+ # characters.
806
1015
  # Corresponds to the JSON property `description`
807
1016
  # @return [String]
808
1017
  attr_accessor :description
809
1018
 
810
- # Additional materials.
811
- # Corresponds to the JSON property `materials`
812
- # @return [Array<Google::Apis::ClassroomV1::Material>]
813
- attr_accessor :materials
1019
+ # Time of the most recent update to this course.
1020
+ # Specifying this field in a course update mask results in an error.
1021
+ # Read-only.
1022
+ # Corresponds to the JSON property `updateTime`
1023
+ # @return [String]
1024
+ attr_accessor :update_time
814
1025
 
815
- # Status of this course work.. If unspecified, the default state is `DRAFT`.
816
- # Corresponds to the JSON property `state`
1026
+ # Section of the course.
1027
+ # For example, "Period 2".
1028
+ # If set, this field must be a valid UTF-8 string and no longer than 2800
1029
+ # characters.
1030
+ # Corresponds to the JSON property `section`
817
1031
  # @return [String]
818
- attr_accessor :state
1032
+ attr_accessor :section
819
1033
 
820
- # Absolute link to this course work in the Classroom web UI. This is only
821
- # populated if `state` is `PUBLISHED`. Read-only.
1034
+ # Absolute link to this course in the Classroom web UI.
1035
+ # Read-only.
822
1036
  # Corresponds to the JSON property `alternateLink`
823
1037
  # @return [String]
824
1038
  attr_accessor :alternate_link
825
1039
 
826
- # Timestamp when this course work was created. Read-only.
827
- # Corresponds to the JSON property `creationTime`
1040
+ # The email address of a Google group containing all teachers of the course.
1041
+ # This group does not accept email and can only be used for permissions.
1042
+ # Read-only.
1043
+ # Corresponds to the JSON property `teacherGroupEmail`
828
1044
  # @return [String]
829
- attr_accessor :creation_time
1045
+ attr_accessor :teacher_group_email
830
1046
 
831
- # Timestamp of the most recent change to this course work. Read-only.
832
- # Corresponds to the JSON property `updateTime`
1047
+ # Whether or not guardian notifications are enabled for this course.
1048
+ # Read-only.
1049
+ # Corresponds to the JSON property `guardiansEnabled`
1050
+ # @return [Boolean]
1051
+ attr_accessor :guardians_enabled
1052
+ alias_method :guardians_enabled?, :guardians_enabled
1053
+
1054
+ # The identifier of the owner of a course.
1055
+ # When specified as a parameter of a
1056
+ # create course request, this
1057
+ # field is required.
1058
+ # The identifier can be one of the following:
1059
+ # * the numeric identifier for the user
1060
+ # * the email address of the user
1061
+ # * the string literal `"me"`, indicating the requesting user
1062
+ # This must be set in a create request. Specifying this field in a course
1063
+ # update mask results in an `INVALID_ARGUMENT` error.
1064
+ # Corresponds to the JSON property `ownerId`
833
1065
  # @return [String]
834
- attr_accessor :update_time
835
-
836
- # Represents a whole calendar date, e.g. date of birth. The time of day and time
837
- # zone are either specified elsewhere or are not significant. The date is
838
- # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
839
- # year and month where the day is not significant, e.g. credit card expiration
840
- # date. The year may be 0 to represent a month and day independent of year, e.g.
841
- # anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.
842
- # Timestamp`.
843
- # Corresponds to the JSON property `dueDate`
844
- # @return [Google::Apis::ClassroomV1::Date]
845
- attr_accessor :due_date
846
-
847
- # Represents a time of day. The date and time zone are either not significant or
848
- # are specified elsewhere. An API may chose to allow leap seconds. Related types
849
- # are google.type.Date and `google.protobuf.Timestamp`.
850
- # Corresponds to the JSON property `dueTime`
851
- # @return [Google::Apis::ClassroomV1::TimeOfDay]
852
- attr_accessor :due_time
1066
+ attr_accessor :owner_id
853
1067
 
854
- # Maximum grade for this course work. If zero or unspecified, this assignment is
855
- # considered ungraded. This must be an integer value.
856
- # Corresponds to the JSON property `maxPoints`
857
- # @return [Float]
858
- attr_accessor :max_points
1068
+ # Optional heading for the description.
1069
+ # For example, "Welcome to 10th Grade Biology."
1070
+ # If set, this field must be a valid UTF-8 string and no longer than 3600
1071
+ # characters.
1072
+ # Corresponds to the JSON property `descriptionHeading`
1073
+ # @return [String]
1074
+ attr_accessor :description_heading
859
1075
 
860
- # Type of this course work. The type is set when the course work is created and
861
- # cannot be changed. When creating course work, this must be `ASSIGNMENT`.
862
- # Corresponds to the JSON property `workType`
1076
+ # The email address of a Google group containing all members of the course.
1077
+ # This group does not accept email and can only be used for permissions.
1078
+ # Read-only.
1079
+ # Corresponds to the JSON property `courseGroupEmail`
863
1080
  # @return [String]
864
- attr_accessor :work_type
1081
+ attr_accessor :course_group_email
865
1082
 
866
- # Whether this course work item is associated with the Developer Console project
867
- # making the request. See google.classroom.Work.CreateCourseWork for more
868
- # details. Read-only.
869
- # Corresponds to the JSON property `associatedWithDeveloper`
870
- # @return [Boolean]
871
- attr_accessor :associated_with_developer
872
- alias_method :associated_with_developer?, :associated_with_developer
1083
+ # State of the course.
1084
+ # If unspecified, the default state is `PROVISIONED`.
1085
+ # Corresponds to the JSON property `courseState`
1086
+ # @return [String]
1087
+ attr_accessor :course_state
873
1088
 
874
- # Setting to determine when students are allowed to modify submissions. If
875
- # unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
876
- # Corresponds to the JSON property `submissionModificationMode`
1089
+ # Optional room location.
1090
+ # For example, "301".
1091
+ # If set, this field must be a valid UTF-8 string and no longer than 650
1092
+ # characters.
1093
+ # Corresponds to the JSON property `room`
877
1094
  # @return [String]
878
- attr_accessor :submission_modification_mode
1095
+ attr_accessor :room
879
1096
 
880
- # Additional details for assignments.
881
- # Corresponds to the JSON property `assignment`
882
- # @return [Google::Apis::ClassroomV1::Assignment]
883
- attr_accessor :assignment
1097
+ # Name of the course.
1098
+ # For example, "10th Grade Biology".
1099
+ # The name is required. It must be between 1 and 750 characters and a valid
1100
+ # UTF-8 string.
1101
+ # Corresponds to the JSON property `name`
1102
+ # @return [String]
1103
+ attr_accessor :name
884
1104
 
885
- # Additional details for multiple-choice questions.
886
- # Corresponds to the JSON property `multipleChoiceQuestion`
887
- # @return [Google::Apis::ClassroomV1::MultipleChoiceQuestion]
888
- attr_accessor :multiple_choice_question
1105
+ # Creation time of the course.
1106
+ # Specifying this field in a course update mask results in an error.
1107
+ # Read-only.
1108
+ # Corresponds to the JSON property `creationTime`
1109
+ # @return [String]
1110
+ attr_accessor :creation_time
1111
+
1112
+ # Enrollment code to use when joining this course.
1113
+ # Specifying this field in a course update mask results in an error.
1114
+ # Read-only.
1115
+ # Corresponds to the JSON property `enrollmentCode`
1116
+ # @return [String]
1117
+ attr_accessor :enrollment_code
1118
+
1119
+ # Representation of a Google Drive folder.
1120
+ # Corresponds to the JSON property `teacherFolder`
1121
+ # @return [Google::Apis::ClassroomV1::DriveFolder]
1122
+ attr_accessor :teacher_folder
1123
+
1124
+ # Sets of materials that appear on the "about" page of this course.
1125
+ # Read-only.
1126
+ # Corresponds to the JSON property `courseMaterialSets`
1127
+ # @return [Array<Google::Apis::ClassroomV1::CourseMaterialSet>]
1128
+ attr_accessor :course_material_sets
889
1129
 
890
1130
  def initialize(**args)
891
1131
  update!(**args)
@@ -893,114 +1133,71 @@ module Google
893
1133
 
894
1134
  # Update properties of this object
895
1135
  def update!(**args)
896
- @course_id = args[:course_id] if args.key?(:course_id)
897
1136
  @id = args[:id] if args.key?(:id)
898
- @title = args[:title] if args.key?(:title)
899
1137
  @description = args[:description] if args.key?(:description)
900
- @materials = args[:materials] if args.key?(:materials)
901
- @state = args[:state] if args.key?(:state)
1138
+ @update_time = args[:update_time] if args.key?(:update_time)
1139
+ @section = args[:section] if args.key?(:section)
902
1140
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1141
+ @teacher_group_email = args[:teacher_group_email] if args.key?(:teacher_group_email)
1142
+ @guardians_enabled = args[:guardians_enabled] if args.key?(:guardians_enabled)
1143
+ @owner_id = args[:owner_id] if args.key?(:owner_id)
1144
+ @description_heading = args[:description_heading] if args.key?(:description_heading)
1145
+ @course_group_email = args[:course_group_email] if args.key?(:course_group_email)
1146
+ @course_state = args[:course_state] if args.key?(:course_state)
1147
+ @room = args[:room] if args.key?(:room)
1148
+ @name = args[:name] if args.key?(:name)
903
1149
  @creation_time = args[:creation_time] if args.key?(:creation_time)
904
- @update_time = args[:update_time] if args.key?(:update_time)
905
- @due_date = args[:due_date] if args.key?(:due_date)
906
- @due_time = args[:due_time] if args.key?(:due_time)
907
- @max_points = args[:max_points] if args.key?(:max_points)
908
- @work_type = args[:work_type] if args.key?(:work_type)
909
- @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
910
- @submission_modification_mode = args[:submission_modification_mode] if args.key?(:submission_modification_mode)
911
- @assignment = args[:assignment] if args.key?(:assignment)
912
- @multiple_choice_question = args[:multiple_choice_question] if args.key?(:multiple_choice_question)
1150
+ @enrollment_code = args[:enrollment_code] if args.key?(:enrollment_code)
1151
+ @teacher_folder = args[:teacher_folder] if args.key?(:teacher_folder)
1152
+ @course_material_sets = args[:course_material_sets] if args.key?(:course_material_sets)
913
1153
  end
914
1154
  end
915
1155
 
916
- # Material attached to course work. When creating attachments, only the Link
917
- # field may be specified.
918
- class Material
1156
+ # Request to return a student submission.
1157
+ class ReturnStudentSubmissionRequest
919
1158
  include Google::Apis::Core::Hashable
920
1159
 
921
- # Drive file that is used as material for course work.
922
- # Corresponds to the JSON property `driveFile`
923
- # @return [Google::Apis::ClassroomV1::SharedDriveFile]
924
- attr_accessor :drive_file
925
-
926
- # YouTube video item.
927
- # Corresponds to the JSON property `youtubeVideo`
928
- # @return [Google::Apis::ClassroomV1::YouTubeVideo]
929
- attr_accessor :youtube_video
930
-
931
- # URL item.
932
- # Corresponds to the JSON property `link`
933
- # @return [Google::Apis::ClassroomV1::Link]
934
- attr_accessor :link
935
-
936
- # Google Forms item.
937
- # Corresponds to the JSON property `form`
938
- # @return [Google::Apis::ClassroomV1::Form]
939
- attr_accessor :form
940
-
941
1160
  def initialize(**args)
942
1161
  update!(**args)
943
1162
  end
944
1163
 
945
1164
  # Update properties of this object
946
1165
  def update!(**args)
947
- @drive_file = args[:drive_file] if args.key?(:drive_file)
948
- @youtube_video = args[:youtube_video] if args.key?(:youtube_video)
949
- @link = args[:link] if args.key?(:link)
950
- @form = args[:form] if args.key?(:form)
951
1166
  end
952
1167
  end
953
1168
 
954
- # Drive file that is used as material for course work.
955
- class SharedDriveFile
1169
+ # An invitation to become the guardian of a specified user, sent to a specified
1170
+ # email address.
1171
+ class GuardianInvitation
956
1172
  include Google::Apis::Core::Hashable
957
1173
 
958
- # Representation of a Google Drive file.
959
- # Corresponds to the JSON property `driveFile`
960
- # @return [Google::Apis::ClassroomV1::DriveFile]
961
- attr_accessor :drive_file
962
-
963
- # Mechanism by which students access the Drive item.
964
- # Corresponds to the JSON property `shareMode`
1174
+ # The time that this invitation was created.
1175
+ # Read-only.
1176
+ # Corresponds to the JSON property `creationTime`
965
1177
  # @return [String]
966
- attr_accessor :share_mode
967
-
968
- def initialize(**args)
969
- update!(**args)
970
- end
971
-
972
- # Update properties of this object
973
- def update!(**args)
974
- @drive_file = args[:drive_file] if args.key?(:drive_file)
975
- @share_mode = args[:share_mode] if args.key?(:share_mode)
976
- end
977
- end
1178
+ attr_accessor :creation_time
978
1179
 
979
- # Represents a whole calendar date, e.g. date of birth. The time of day and time
980
- # zone are either specified elsewhere or are not significant. The date is
981
- # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
982
- # year and month where the day is not significant, e.g. credit card expiration
983
- # date. The year may be 0 to represent a month and day independent of year, e.g.
984
- # anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.
985
- # Timestamp`.
986
- class Date
987
- include Google::Apis::Core::Hashable
1180
+ # Unique identifier for this invitation.
1181
+ # Read-only.
1182
+ # Corresponds to the JSON property `invitationId`
1183
+ # @return [String]
1184
+ attr_accessor :invitation_id
988
1185
 
989
- # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
990
- # Corresponds to the JSON property `year`
991
- # @return [Fixnum]
992
- attr_accessor :year
1186
+ # The state that this invitation is in.
1187
+ # Corresponds to the JSON property `state`
1188
+ # @return [String]
1189
+ attr_accessor :state
993
1190
 
994
- # Month of year. Must be from 1 to 12.
995
- # Corresponds to the JSON property `month`
996
- # @return [Fixnum]
997
- attr_accessor :month
1191
+ # Email address that the invitation was sent to.
1192
+ # This field is only visible to domain administrators.
1193
+ # Corresponds to the JSON property `invitedEmailAddress`
1194
+ # @return [String]
1195
+ attr_accessor :invited_email_address
998
1196
 
999
- # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
1000
- # specifying a year/month where the day is not significant.
1001
- # Corresponds to the JSON property `day`
1002
- # @return [Fixnum]
1003
- attr_accessor :day
1197
+ # ID of the student (in standard format)
1198
+ # Corresponds to the JSON property `studentId`
1199
+ # @return [String]
1200
+ attr_accessor :student_id
1004
1201
 
1005
1202
  def initialize(**args)
1006
1203
  update!(**args)
@@ -1008,61 +1205,53 @@ module Google
1008
1205
 
1009
1206
  # Update properties of this object
1010
1207
  def update!(**args)
1011
- @year = args[:year] if args.key?(:year)
1012
- @month = args[:month] if args.key?(:month)
1013
- @day = args[:day] if args.key?(:day)
1208
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
1209
+ @invitation_id = args[:invitation_id] if args.key?(:invitation_id)
1210
+ @state = args[:state] if args.key?(:state)
1211
+ @invited_email_address = args[:invited_email_address] if args.key?(:invited_email_address)
1212
+ @student_id = args[:student_id] if args.key?(:student_id)
1014
1213
  end
1015
1214
  end
1016
1215
 
1017
- # Represents a time of day. The date and time zone are either not significant or
1018
- # are specified elsewhere. An API may chose to allow leap seconds. Related types
1019
- # are google.type.Date and `google.protobuf.Timestamp`.
1020
- class TimeOfDay
1216
+ # Request to turn in a student submission.
1217
+ class TurnInStudentSubmissionRequest
1021
1218
  include Google::Apis::Core::Hashable
1022
1219
 
1023
- # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
1024
- # allow the value "24:00:00" for scenarios like business closing time.
1025
- # Corresponds to the JSON property `hours`
1026
- # @return [Fixnum]
1027
- attr_accessor :hours
1028
-
1029
- # Minutes of hour of day. Must be from 0 to 59.
1030
- # Corresponds to the JSON property `minutes`
1031
- # @return [Fixnum]
1032
- attr_accessor :minutes
1033
-
1034
- # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1035
- # allow the value 60 if it allows leap-seconds.
1036
- # Corresponds to the JSON property `seconds`
1037
- # @return [Fixnum]
1038
- attr_accessor :seconds
1039
-
1040
- # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1041
- # Corresponds to the JSON property `nanos`
1042
- # @return [Fixnum]
1043
- attr_accessor :nanos
1044
-
1045
1220
  def initialize(**args)
1046
1221
  update!(**args)
1047
1222
  end
1048
1223
 
1049
1224
  # Update properties of this object
1050
1225
  def update!(**args)
1051
- @hours = args[:hours] if args.key?(:hours)
1052
- @minutes = args[:minutes] if args.key?(:minutes)
1053
- @seconds = args[:seconds] if args.key?(:seconds)
1054
- @nanos = args[:nanos] if args.key?(:nanos)
1055
1226
  end
1056
1227
  end
1057
1228
 
1058
- # Additional details for assignments.
1059
- class Assignment
1229
+ # YouTube video item.
1230
+ class YouTubeVideo
1060
1231
  include Google::Apis::Core::Hashable
1061
1232
 
1062
- # Representation of a Google Drive folder.
1063
- # Corresponds to the JSON property `studentWorkFolder`
1064
- # @return [Google::Apis::ClassroomV1::DriveFolder]
1065
- attr_accessor :student_work_folder
1233
+ # URL of a thumbnail image of the YouTube video.
1234
+ # Read-only.
1235
+ # Corresponds to the JSON property `thumbnailUrl`
1236
+ # @return [String]
1237
+ attr_accessor :thumbnail_url
1238
+
1239
+ # Title of the YouTube video.
1240
+ # Read-only.
1241
+ # Corresponds to the JSON property `title`
1242
+ # @return [String]
1243
+ attr_accessor :title
1244
+
1245
+ # URL that can be used to view the YouTube video.
1246
+ # Read-only.
1247
+ # Corresponds to the JSON property `alternateLink`
1248
+ # @return [String]
1249
+ attr_accessor :alternate_link
1250
+
1251
+ # YouTube API resource ID.
1252
+ # Corresponds to the JSON property `id`
1253
+ # @return [String]
1254
+ attr_accessor :id
1066
1255
 
1067
1256
  def initialize(**args)
1068
1257
  update!(**args)
@@ -1070,26 +1259,29 @@ module Google
1070
1259
 
1071
1260
  # Update properties of this object
1072
1261
  def update!(**args)
1073
- @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
1262
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
1263
+ @title = args[:title] if args.key?(:title)
1264
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1265
+ @id = args[:id] if args.key?(:id)
1074
1266
  end
1075
1267
  end
1076
1268
 
1077
- # Additional details for multiple-choice questions.
1078
- class MultipleChoiceQuestion
1269
+ # A generic empty message that you can re-use to avoid defining duplicated
1270
+ # empty messages in your APIs. A typical example is to use it as the request
1271
+ # or the response type of an API method. For instance:
1272
+ # service Foo `
1273
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1274
+ # `
1275
+ # The JSON representation for `Empty` is empty JSON object ````.
1276
+ class Empty
1079
1277
  include Google::Apis::Core::Hashable
1080
1278
 
1081
- # Possible choices.
1082
- # Corresponds to the JSON property `choices`
1083
- # @return [Array<String>]
1084
- attr_accessor :choices
1085
-
1086
1279
  def initialize(**args)
1087
1280
  update!(**args)
1088
1281
  end
1089
1282
 
1090
1283
  # Update properties of this object
1091
1284
  def update!(**args)
1092
- @choices = args[:choices] if args.key?(:choices)
1093
1285
  end
1094
1286
  end
1095
1287
 
@@ -1097,122 +1289,41 @@ module Google
1097
1289
  class ListCourseWorkResponse
1098
1290
  include Google::Apis::Core::Hashable
1099
1291
 
1100
- # Course work items that match the request.
1101
- # Corresponds to the JSON property `courseWork`
1102
- # @return [Array<Google::Apis::ClassroomV1::CourseWork>]
1103
- attr_accessor :course_work
1104
-
1105
1292
  # Token identifying the next page of results to return. If empty, no further
1106
1293
  # results are available.
1107
1294
  # Corresponds to the JSON property `nextPageToken`
1108
1295
  # @return [String]
1109
1296
  attr_accessor :next_page_token
1110
1297
 
1298
+ # Course work items that match the request.
1299
+ # Corresponds to the JSON property `courseWork`
1300
+ # @return [Array<Google::Apis::ClassroomV1::CourseWork>]
1301
+ attr_accessor :course_work
1302
+
1111
1303
  def initialize(**args)
1112
1304
  update!(**args)
1113
1305
  end
1114
1306
 
1115
1307
  # Update properties of this object
1116
1308
  def update!(**args)
1117
- @course_work = args[:course_work] if args.key?(:course_work)
1118
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1119
- end
1120
- end
1121
-
1122
- # Student submission for course work. StudentSubmission items are generated when
1123
- # a CourseWork item is created. StudentSubmissions that have never been accessed
1124
- # (i.e. with `state` = NEW) may not have a creation time or update time.
1125
- class StudentSubmission
1126
- include Google::Apis::Core::Hashable
1127
-
1128
- # Identifier of the course. Read-only.
1129
- # Corresponds to the JSON property `courseId`
1130
- # @return [String]
1131
- attr_accessor :course_id
1132
-
1133
- # Identifier for the course work this corresponds to. Read-only.
1134
- # Corresponds to the JSON property `courseWorkId`
1135
- # @return [String]
1136
- attr_accessor :course_work_id
1137
-
1138
- # Classroom-assigned Identifier for the student submission. This is unique among
1139
- # submissions for the relevant course work. Read-only.
1140
- # Corresponds to the JSON property `id`
1141
- # @return [String]
1142
- attr_accessor :id
1143
-
1144
- # Identifier for the student that owns this submission. Read-only.
1145
- # Corresponds to the JSON property `userId`
1146
- # @return [String]
1147
- attr_accessor :user_id
1148
-
1149
- # Creation time of this submission.. This may be unset if the student has not
1150
- # accessed this item. Read-only.
1151
- # Corresponds to the JSON property `creationTime`
1152
- # @return [String]
1153
- attr_accessor :creation_time
1154
-
1155
- # Last update time of this submission. This may be unset if the student has not
1156
- # accessed this item. Read-only.
1157
- # Corresponds to the JSON property `updateTime`
1158
- # @return [String]
1159
- attr_accessor :update_time
1160
-
1161
- # State of this submission. Read-only.
1162
- # Corresponds to the JSON property `state`
1163
- # @return [String]
1164
- attr_accessor :state
1165
-
1166
- # Whether this submission is late. Read-only.
1167
- # Corresponds to the JSON property `late`
1168
- # @return [Boolean]
1169
- attr_accessor :late
1170
- alias_method :late?, :late
1171
-
1172
- # Optional pending grade. If unset, no grade was set. This must be an integer
1173
- # value. This is only visible to and modifiable by course teachers.
1174
- # Corresponds to the JSON property `draftGrade`
1175
- # @return [Float]
1176
- attr_accessor :draft_grade
1177
-
1178
- # Optional grade. If unset, no grade was set. This must be an integer value.
1179
- # This may be modified only by course teachers.
1180
- # Corresponds to the JSON property `assignedGrade`
1181
- # @return [Float]
1182
- attr_accessor :assigned_grade
1183
-
1184
- # Absolute link to the submission in the Classroom web UI. Read-only.
1185
- # Corresponds to the JSON property `alternateLink`
1186
- # @return [String]
1187
- attr_accessor :alternate_link
1188
-
1189
- # Type of course work this submission is for. Read-only.
1190
- # Corresponds to the JSON property `courseWorkType`
1191
- # @return [String]
1192
- attr_accessor :course_work_type
1193
-
1194
- # Whether this student submission is associated with the Developer Console
1195
- # project making the request. See google.classroom.Work.CreateCourseWork for
1196
- # more details. Read-only.
1197
- # Corresponds to the JSON property `associatedWithDeveloper`
1198
- # @return [Boolean]
1199
- attr_accessor :associated_with_developer
1200
- alias_method :associated_with_developer?, :associated_with_developer
1309
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1310
+ @course_work = args[:course_work] if args.key?(:course_work)
1311
+ end
1312
+ end
1201
1313
 
1202
- # Student work for an assignment.
1203
- # Corresponds to the JSON property `assignmentSubmission`
1204
- # @return [Google::Apis::ClassroomV1::AssignmentSubmission]
1205
- attr_accessor :assignment_submission
1314
+ # Drive file that is used as material for course work.
1315
+ class SharedDriveFile
1316
+ include Google::Apis::Core::Hashable
1206
1317
 
1207
- # Student work for a short answer question.
1208
- # Corresponds to the JSON property `shortAnswerSubmission`
1209
- # @return [Google::Apis::ClassroomV1::ShortAnswerSubmission]
1210
- attr_accessor :short_answer_submission
1318
+ # Representation of a Google Drive file.
1319
+ # Corresponds to the JSON property `driveFile`
1320
+ # @return [Google::Apis::ClassroomV1::DriveFile]
1321
+ attr_accessor :drive_file
1211
1322
 
1212
- # Student work for a multiple-choice question.
1213
- # Corresponds to the JSON property `multipleChoiceSubmission`
1214
- # @return [Google::Apis::ClassroomV1::MultipleChoiceSubmission]
1215
- attr_accessor :multiple_choice_submission
1323
+ # Mechanism by which students access the Drive item.
1324
+ # Corresponds to the JSON property `shareMode`
1325
+ # @return [String]
1326
+ attr_accessor :share_mode
1216
1327
 
1217
1328
  def initialize(**args)
1218
1329
  update!(**args)
@@ -1220,37 +1331,19 @@ module Google
1220
1331
 
1221
1332
  # Update properties of this object
1222
1333
  def update!(**args)
1223
- @course_id = args[:course_id] if args.key?(:course_id)
1224
- @course_work_id = args[:course_work_id] if args.key?(:course_work_id)
1225
- @id = args[:id] if args.key?(:id)
1226
- @user_id = args[:user_id] if args.key?(:user_id)
1227
- @creation_time = args[:creation_time] if args.key?(:creation_time)
1228
- @update_time = args[:update_time] if args.key?(:update_time)
1229
- @state = args[:state] if args.key?(:state)
1230
- @late = args[:late] if args.key?(:late)
1231
- @draft_grade = args[:draft_grade] if args.key?(:draft_grade)
1232
- @assigned_grade = args[:assigned_grade] if args.key?(:assigned_grade)
1233
- @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1234
- @course_work_type = args[:course_work_type] if args.key?(:course_work_type)
1235
- @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
1236
- @assignment_submission = args[:assignment_submission] if args.key?(:assignment_submission)
1237
- @short_answer_submission = args[:short_answer_submission] if args.key?(:short_answer_submission)
1238
- @multiple_choice_submission = args[:multiple_choice_submission] if args.key?(:multiple_choice_submission)
1334
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
1335
+ @share_mode = args[:share_mode] if args.key?(:share_mode)
1239
1336
  end
1240
1337
  end
1241
1338
 
1242
- # Student work for an assignment.
1243
- class AssignmentSubmission
1339
+ # Global user permission description.
1340
+ class GlobalPermission
1244
1341
  include Google::Apis::Core::Hashable
1245
1342
 
1246
- # Attachments added by the student. Drive files that correspond to materials
1247
- # with a share mode of SUBMISSION_COPY may not exist yet if the student has not
1248
- # accessed the assignment in Classroom. Some attachment metadata is only
1249
- # populated if the requesting user has permission to access it. Identifier and
1250
- # alternate_link fields are available, but others (e.g. title) may not be.
1251
- # Corresponds to the JSON property `attachments`
1252
- # @return [Array<Google::Apis::ClassroomV1::Attachment>]
1253
- attr_accessor :attachments
1343
+ # Permission value.
1344
+ # Corresponds to the JSON property `permission`
1345
+ # @return [String]
1346
+ attr_accessor :permission
1254
1347
 
1255
1348
  def initialize(**args)
1256
1349
  update!(**args)
@@ -1258,30 +1351,30 @@ module Google
1258
1351
 
1259
1352
  # Update properties of this object
1260
1353
  def update!(**args)
1261
- @attachments = args[:attachments] if args.key?(:attachments)
1354
+ @permission = args[:permission] if args.key?(:permission)
1262
1355
  end
1263
1356
  end
1264
1357
 
1265
- # Attachment added to student assignment work. When creating attachments, only
1266
- # the Link field may be specified.
1267
- class Attachment
1358
+ # Material attached to course work.
1359
+ # When creating attachments, setting the `form` field is not supported.
1360
+ class Material
1268
1361
  include Google::Apis::Core::Hashable
1269
1362
 
1270
- # Representation of a Google Drive file.
1363
+ # Drive file that is used as material for course work.
1271
1364
  # Corresponds to the JSON property `driveFile`
1272
- # @return [Google::Apis::ClassroomV1::DriveFile]
1365
+ # @return [Google::Apis::ClassroomV1::SharedDriveFile]
1273
1366
  attr_accessor :drive_file
1274
1367
 
1275
- # YouTube video item.
1276
- # Corresponds to the JSON property `youTubeVideo`
1277
- # @return [Google::Apis::ClassroomV1::YouTubeVideo]
1278
- attr_accessor :you_tube_video
1279
-
1280
1368
  # URL item.
1281
1369
  # Corresponds to the JSON property `link`
1282
1370
  # @return [Google::Apis::ClassroomV1::Link]
1283
1371
  attr_accessor :link
1284
1372
 
1373
+ # YouTube video item.
1374
+ # Corresponds to the JSON property `youtubeVideo`
1375
+ # @return [Google::Apis::ClassroomV1::YouTubeVideo]
1376
+ attr_accessor :youtube_video
1377
+
1285
1378
  # Google Forms item.
1286
1379
  # Corresponds to the JSON property `form`
1287
1380
  # @return [Google::Apis::ClassroomV1::Form]
@@ -1294,20 +1387,26 @@ module Google
1294
1387
  # Update properties of this object
1295
1388
  def update!(**args)
1296
1389
  @drive_file = args[:drive_file] if args.key?(:drive_file)
1297
- @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
1298
1390
  @link = args[:link] if args.key?(:link)
1391
+ @youtube_video = args[:youtube_video] if args.key?(:youtube_video)
1299
1392
  @form = args[:form] if args.key?(:form)
1300
1393
  end
1301
1394
  end
1302
1395
 
1303
- # Student work for a short answer question.
1304
- class ShortAnswerSubmission
1396
+ # Student work for an assignment.
1397
+ class AssignmentSubmission
1305
1398
  include Google::Apis::Core::Hashable
1306
1399
 
1307
- # Student response to a short-answer question.
1308
- # Corresponds to the JSON property `answer`
1309
- # @return [String]
1310
- attr_accessor :answer
1400
+ # Attachments added by the student.
1401
+ # Drive files that correspond to materials with a share mode of
1402
+ # STUDENT_COPY may not exist yet if the student has not accessed the
1403
+ # assignment in Classroom.
1404
+ # Some attachment metadata is only populated if the requesting user has
1405
+ # permission to access it. Identifier and alternate_link fields are always
1406
+ # available, but others (e.g. title) may not be.
1407
+ # Corresponds to the JSON property `attachments`
1408
+ # @return [Array<Google::Apis::ClassroomV1::Attachment>]
1409
+ attr_accessor :attachments
1311
1410
 
1312
1411
  def initialize(**args)
1313
1412
  update!(**args)
@@ -1315,18 +1414,36 @@ module Google
1315
1414
 
1316
1415
  # Update properties of this object
1317
1416
  def update!(**args)
1318
- @answer = args[:answer] if args.key?(:answer)
1417
+ @attachments = args[:attachments] if args.key?(:attachments)
1319
1418
  end
1320
1419
  end
1321
1420
 
1322
- # Student work for a multiple-choice question.
1323
- class MultipleChoiceSubmission
1421
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
1422
+ # time zone are either specified elsewhere or are not significant. The date
1423
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
1424
+ # represent a year and month where the day is not significant, e.g. credit card
1425
+ # expiration date. The year may be 0 to represent a month and day independent
1426
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
1427
+ # and `google.protobuf.Timestamp`.
1428
+ class Date
1324
1429
  include Google::Apis::Core::Hashable
1325
1430
 
1326
- # Student's select choice.
1327
- # Corresponds to the JSON property `answer`
1328
- # @return [String]
1329
- attr_accessor :answer
1431
+ # Month of year. Must be from 1 to 12.
1432
+ # Corresponds to the JSON property `month`
1433
+ # @return [Fixnum]
1434
+ attr_accessor :month
1435
+
1436
+ # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1437
+ # a year.
1438
+ # Corresponds to the JSON property `year`
1439
+ # @return [Fixnum]
1440
+ attr_accessor :year
1441
+
1442
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1443
+ # if specifying a year/month where the day is not significant.
1444
+ # Corresponds to the JSON property `day`
1445
+ # @return [Fixnum]
1446
+ attr_accessor :day
1330
1447
 
1331
1448
  def initialize(**args)
1332
1449
  update!(**args)
@@ -1334,18 +1451,34 @@ module Google
1334
1451
 
1335
1452
  # Update properties of this object
1336
1453
  def update!(**args)
1337
- @answer = args[:answer] if args.key?(:answer)
1454
+ @month = args[:month] if args.key?(:month)
1455
+ @year = args[:year] if args.key?(:year)
1456
+ @day = args[:day] if args.key?(:day)
1338
1457
  end
1339
1458
  end
1340
1459
 
1341
- # Response when listing student submissions.
1342
- class ListStudentSubmissionsResponse
1460
+ # Additional details for assignments.
1461
+ class Assignment
1343
1462
  include Google::Apis::Core::Hashable
1344
1463
 
1345
- # Student work that matches the request.
1346
- # Corresponds to the JSON property `studentSubmissions`
1347
- # @return [Array<Google::Apis::ClassroomV1::StudentSubmission>]
1348
- attr_accessor :student_submissions
1464
+ # Representation of a Google Drive folder.
1465
+ # Corresponds to the JSON property `studentWorkFolder`
1466
+ # @return [Google::Apis::ClassroomV1::DriveFolder]
1467
+ attr_accessor :student_work_folder
1468
+
1469
+ def initialize(**args)
1470
+ update!(**args)
1471
+ end
1472
+
1473
+ # Update properties of this object
1474
+ def update!(**args)
1475
+ @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
1476
+ end
1477
+ end
1478
+
1479
+ # Response when listing courses.
1480
+ class ListCoursesResponse
1481
+ include Google::Apis::Core::Hashable
1349
1482
 
1350
1483
  # Token identifying the next page of results to return. If empty, no further
1351
1484
  # results are available.
@@ -1353,64 +1486,141 @@ module Google
1353
1486
  # @return [String]
1354
1487
  attr_accessor :next_page_token
1355
1488
 
1489
+ # Courses that match the list request.
1490
+ # Corresponds to the JSON property `courses`
1491
+ # @return [Array<Google::Apis::ClassroomV1::Course>]
1492
+ attr_accessor :courses
1493
+
1356
1494
  def initialize(**args)
1357
1495
  update!(**args)
1358
1496
  end
1359
1497
 
1360
1498
  # Update properties of this object
1361
1499
  def update!(**args)
1362
- @student_submissions = args[:student_submissions] if args.key?(:student_submissions)
1363
1500
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1501
+ @courses = args[:courses] if args.key?(:courses)
1364
1502
  end
1365
1503
  end
1366
1504
 
1367
- # Request to turn in a student submission.
1368
- class TurnInStudentSubmissionRequest
1505
+ # An invitation to join a course.
1506
+ class Invitation
1369
1507
  include Google::Apis::Core::Hashable
1370
1508
 
1509
+ # Identifier of the course to invite the user to.
1510
+ # Corresponds to the JSON property `courseId`
1511
+ # @return [String]
1512
+ attr_accessor :course_id
1513
+
1514
+ # Role to invite the user to have.
1515
+ # Must not be `COURSE_ROLE_UNSPECIFIED`.
1516
+ # Corresponds to the JSON property `role`
1517
+ # @return [String]
1518
+ attr_accessor :role
1519
+
1520
+ # Identifier of the invited user.
1521
+ # When specified as a parameter of a request, this identifier can be set to
1522
+ # one of the following:
1523
+ # * the numeric identifier for the user
1524
+ # * the email address of the user
1525
+ # * the string literal `"me"`, indicating the requesting user
1526
+ # Corresponds to the JSON property `userId`
1527
+ # @return [String]
1528
+ attr_accessor :user_id
1529
+
1530
+ # Identifier assigned by Classroom.
1531
+ # Read-only.
1532
+ # Corresponds to the JSON property `id`
1533
+ # @return [String]
1534
+ attr_accessor :id
1535
+
1371
1536
  def initialize(**args)
1372
1537
  update!(**args)
1373
1538
  end
1374
1539
 
1375
1540
  # Update properties of this object
1376
1541
  def update!(**args)
1542
+ @course_id = args[:course_id] if args.key?(:course_id)
1543
+ @role = args[:role] if args.key?(:role)
1544
+ @user_id = args[:user_id] if args.key?(:user_id)
1545
+ @id = args[:id] if args.key?(:id)
1377
1546
  end
1378
1547
  end
1379
1548
 
1380
- # Request to reclaim a student submission.
1381
- class ReclaimStudentSubmissionRequest
1549
+ # Response when listing student submissions.
1550
+ class ListStudentSubmissionsResponse
1382
1551
  include Google::Apis::Core::Hashable
1383
1552
 
1553
+ # Token identifying the next page of results to return. If empty, no further
1554
+ # results are available.
1555
+ # Corresponds to the JSON property `nextPageToken`
1556
+ # @return [String]
1557
+ attr_accessor :next_page_token
1558
+
1559
+ # Student work that matches the request.
1560
+ # Corresponds to the JSON property `studentSubmissions`
1561
+ # @return [Array<Google::Apis::ClassroomV1::StudentSubmission>]
1562
+ attr_accessor :student_submissions
1563
+
1384
1564
  def initialize(**args)
1385
1565
  update!(**args)
1386
1566
  end
1387
1567
 
1388
1568
  # Update properties of this object
1389
1569
  def update!(**args)
1570
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1571
+ @student_submissions = args[:student_submissions] if args.key?(:student_submissions)
1390
1572
  end
1391
1573
  end
1392
1574
 
1393
- # Request to return a student submission.
1394
- class ReturnStudentSubmissionRequest
1575
+ # Details of the user's name.
1576
+ class Name
1395
1577
  include Google::Apis::Core::Hashable
1396
1578
 
1579
+ # The user's first name.
1580
+ # Read-only.
1581
+ # Corresponds to the JSON property `givenName`
1582
+ # @return [String]
1583
+ attr_accessor :given_name
1584
+
1585
+ # The user's last name.
1586
+ # Read-only.
1587
+ # Corresponds to the JSON property `familyName`
1588
+ # @return [String]
1589
+ attr_accessor :family_name
1590
+
1591
+ # The user's full name formed by concatenating the first and last name
1592
+ # values.
1593
+ # Read-only.
1594
+ # Corresponds to the JSON property `fullName`
1595
+ # @return [String]
1596
+ attr_accessor :full_name
1597
+
1397
1598
  def initialize(**args)
1398
1599
  update!(**args)
1399
1600
  end
1400
1601
 
1401
1602
  # Update properties of this object
1402
1603
  def update!(**args)
1604
+ @given_name = args[:given_name] if args.key?(:given_name)
1605
+ @family_name = args[:family_name] if args.key?(:family_name)
1606
+ @full_name = args[:full_name] if args.key?(:full_name)
1403
1607
  end
1404
1608
  end
1405
1609
 
1406
- # Request to modify the attachments of a student submission.
1407
- class ModifyAttachmentsRequest
1610
+ # Response when listing invitations.
1611
+ class ListInvitationsResponse
1408
1612
  include Google::Apis::Core::Hashable
1409
1613
 
1410
- # Attachments to add. This may only contain link attachments.
1411
- # Corresponds to the JSON property `addAttachments`
1412
- # @return [Array<Google::Apis::ClassroomV1::Attachment>]
1413
- attr_accessor :add_attachments
1614
+ # Token identifying the next page of results to return. If empty, no further
1615
+ # results are available.
1616
+ # Corresponds to the JSON property `nextPageToken`
1617
+ # @return [String]
1618
+ attr_accessor :next_page_token
1619
+
1620
+ # Invitations that match the list request.
1621
+ # Corresponds to the JSON property `invitations`
1622
+ # @return [Array<Google::Apis::ClassroomV1::Invitation>]
1623
+ attr_accessor :invitations
1414
1624
 
1415
1625
  def initialize(**args)
1416
1626
  update!(**args)
@@ -1418,7 +1628,34 @@ module Google
1418
1628
 
1419
1629
  # Update properties of this object
1420
1630
  def update!(**args)
1421
- @add_attachments = args[:add_attachments] if args.key?(:add_attachments)
1631
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1632
+ @invitations = args[:invitations] if args.key?(:invitations)
1633
+ end
1634
+ end
1635
+
1636
+ # Response when listing students.
1637
+ class ListStudentsResponse
1638
+ include Google::Apis::Core::Hashable
1639
+
1640
+ # Token identifying the next page of results to return. If empty, no further
1641
+ # results are available.
1642
+ # Corresponds to the JSON property `nextPageToken`
1643
+ # @return [String]
1644
+ attr_accessor :next_page_token
1645
+
1646
+ # Students who match the list request.
1647
+ # Corresponds to the JSON property `students`
1648
+ # @return [Array<Google::Apis::ClassroomV1::Student>]
1649
+ attr_accessor :students
1650
+
1651
+ def initialize(**args)
1652
+ update!(**args)
1653
+ end
1654
+
1655
+ # Update properties of this object
1656
+ def update!(**args)
1657
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1658
+ @students = args[:students] if args.key?(:students)
1422
1659
  end
1423
1660
  end
1424
1661
  end