google-api-client 0.11.2 → 0.11.3

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