google-api-client 0.12.0 → 0.13.0

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