google-api-client 0.11.2 → 0.11.3

Sign up to get free protection for your applications and to get access to all the features.
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