google-api-client 0.9.6 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/api_names.yaml +15 -0
  4. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  5. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +75 -12
  6. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +25 -5
  7. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +6 -2
  8. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +1 -1
  10. data/generated/google/apis/admin_directory_v1/representations.rb +1 -2
  11. data/generated/google/apis/adsense_v1_4.rb +1 -1
  12. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  13. data/generated/google/apis/analytics_v3.rb +1 -1
  14. data/generated/google/apis/analyticsreporting_v4.rb +37 -0
  15. data/generated/google/apis/analyticsreporting_v4/classes.rb +1385 -0
  16. data/generated/google/apis/analyticsreporting_v4/representations.rb +597 -0
  17. data/generated/google/apis/analyticsreporting_v4/service.rb +88 -0
  18. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  19. data/generated/google/apis/androidenterprise_v1/classes.rb +98 -2
  20. data/generated/google/apis/androidenterprise_v1/representations.rb +48 -0
  21. data/generated/google/apis/androidenterprise_v1/service.rb +63 -1
  22. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +268 -0
  24. data/generated/google/apis/androidpublisher_v2/representations.rb +142 -0
  25. data/generated/google/apis/androidpublisher_v2/service.rb +121 -0
  26. data/generated/google/apis/appstate_v1.rb +1 -1
  27. data/generated/google/apis/autoscaler_v1beta2.rb +1 -1
  28. data/generated/google/apis/autoscaler_v1beta2/classes.rb +10 -47
  29. data/generated/google/apis/autoscaler_v1beta2/representations.rb +1 -18
  30. data/generated/google/apis/autoscaler_v1beta2/service.rb +4 -4
  31. data/generated/google/apis/bigquery_v2.rb +1 -1
  32. data/generated/google/apis/bigquery_v2/classes.rb +97 -61
  33. data/generated/google/apis/bigquery_v2/representations.rb +23 -18
  34. data/generated/google/apis/calendar_v3.rb +1 -1
  35. data/generated/google/apis/classroom_v1.rb +23 -2
  36. data/generated/google/apis/classroom_v1/classes.rb +920 -6
  37. data/generated/google/apis/classroom_v1/representations.rb +419 -0
  38. data/generated/google/apis/classroom_v1/service.rb +507 -1
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +30 -23
  41. data/generated/google/apis/cloudbuild_v1/representations.rb +4 -3
  42. data/generated/google/apis/cloudbuild_v1/service.rb +25 -25
  43. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  44. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  45. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  46. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +55 -0
  47. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +40 -0
  48. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +35 -0
  49. data/generated/google/apis/cloudtrace_v1.rb +11 -3
  50. data/generated/google/apis/cloudtrace_v1/classes.rb +5 -5
  51. data/generated/google/apis/cloudtrace_v1/service.rb +8 -6
  52. data/generated/google/apis/compute_beta.rb +2 -2
  53. data/generated/google/apis/compute_beta/classes.rb +162 -32
  54. data/generated/google/apis/compute_beta/representations.rb +58 -0
  55. data/generated/google/apis/compute_beta/service.rb +392 -267
  56. data/generated/google/apis/compute_v1.rb +2 -2
  57. data/generated/google/apis/compute_v1/classes.rb +21 -9
  58. data/generated/google/apis/compute_v1/representations.rb +1 -0
  59. data/generated/google/apis/compute_v1/service.rb +291 -253
  60. data/generated/google/apis/container_v1.rb +1 -1
  61. data/generated/google/apis/container_v1/classes.rb +148 -0
  62. data/generated/google/apis/container_v1/representations.rb +55 -0
  63. data/generated/google/apis/container_v1/service.rb +161 -0
  64. data/generated/google/apis/content_v2.rb +1 -1
  65. data/generated/google/apis/content_v2/classes.rb +18 -6
  66. data/generated/google/apis/content_v2/representations.rb +1 -0
  67. data/generated/google/apis/customsearch_v1.rb +1 -1
  68. data/generated/google/apis/dataproc_v1.rb +2 -11
  69. data/generated/google/apis/dataproc_v1/classes.rb +0 -19
  70. data/generated/google/apis/dataproc_v1/representations.rb +0 -13
  71. data/generated/google/apis/dataproc_v1/service.rb +8 -87
  72. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  73. data/generated/google/apis/dfareporting_v2_3.rb +1 -1
  74. data/generated/google/apis/dfareporting_v2_3/classes.rb +41 -32
  75. data/generated/google/apis/discovery_v1.rb +2 -2
  76. data/generated/google/apis/discovery_v1/service.rb +2 -2
  77. data/generated/google/apis/dns_v1.rb +2 -3
  78. data/generated/google/apis/dns_v1/service.rb +1 -2
  79. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  80. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  81. data/generated/google/apis/drive_v2.rb +3 -2
  82. data/generated/google/apis/drive_v2/service.rb +2 -1
  83. data/generated/google/apis/drive_v3.rb +3 -2
  84. data/generated/google/apis/drive_v3/service.rb +2 -1
  85. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  86. data/generated/google/apis/games_management_v1management.rb +1 -1
  87. data/generated/google/apis/games_management_v1management/classes.rb +34 -0
  88. data/generated/google/apis/games_management_v1management/representations.rb +16 -0
  89. data/generated/google/apis/games_v1.rb +1 -1
  90. data/generated/google/apis/games_v1/classes.rb +34 -0
  91. data/generated/google/apis/games_v1/representations.rb +16 -0
  92. data/generated/google/apis/games_v1/service.rb +212 -53
  93. data/generated/google/apis/genomics_v1.rb +1 -1
  94. data/generated/google/apis/genomics_v1/classes.rb +18 -0
  95. data/generated/google/apis/genomics_v1/representations.rb +3 -0
  96. data/generated/google/apis/genomics_v1/service.rb +2 -2
  97. data/generated/google/apis/gmail_v1.rb +1 -1
  98. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  99. data/generated/google/apis/identitytoolkit_v3/classes.rb +19 -7
  100. data/generated/google/apis/identitytoolkit_v3/representations.rb +3 -1
  101. data/generated/google/apis/mybusiness_v3.rb +32 -0
  102. data/generated/google/apis/mybusiness_v3/classes.rb +1864 -0
  103. data/generated/google/apis/mybusiness_v3/representations.rb +741 -0
  104. data/generated/google/apis/mybusiness_v3/service.rb +960 -0
  105. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  106. data/generated/google/apis/plus_domains_v1.rb +2 -2
  107. data/generated/google/apis/plus_domains_v1/service.rb +1 -1
  108. data/generated/google/apis/plus_v1.rb +2 -2
  109. data/generated/google/apis/plus_v1/service.rb +1 -1
  110. data/generated/google/apis/prediction_v1_6.rb +4 -1
  111. data/generated/google/apis/proximitybeacon_v1beta1.rb +5 -2
  112. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +169 -22
  113. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +36 -1
  114. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +254 -39
  115. data/generated/google/apis/replicapool_v1beta2.rb +3 -3
  116. data/generated/google/apis/replicapool_v1beta2/service.rb +2 -2
  117. data/generated/google/apis/resourceviews_v1beta2.rb +1 -1
  118. data/generated/google/apis/script_v1.rb +6 -3
  119. data/generated/google/apis/script_v1/service.rb +2 -2
  120. data/generated/google/apis/sheets_v4.rb +43 -0
  121. data/generated/google/apis/sheets_v4/classes.rb +5425 -0
  122. data/generated/google/apis/sheets_v4/representations.rb +2070 -0
  123. data/generated/google/apis/sheets_v4/service.rb +402 -0
  124. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  125. data/generated/google/apis/sqladmin_v1beta4/classes.rb +19 -4
  126. data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
  127. data/generated/google/apis/storage_v1.rb +1 -1
  128. data/generated/google/apis/storage_v1/classes.rb +2 -1
  129. data/generated/google/apis/taskqueue_v1beta2.rb +2 -2
  130. data/generated/google/apis/taskqueue_v1beta2/service.rb +1 -1
  131. data/generated/google/apis/vision_v1.rb +4 -5
  132. data/generated/google/apis/vision_v1/classes.rb +69 -68
  133. data/generated/google/apis/vision_v1/representations.rb +13 -13
  134. data/generated/google/apis/vision_v1/service.rb +3 -4
  135. data/generated/google/apis/youtube_analytics_v1.rb +2 -2
  136. data/generated/google/apis/youtube_analytics_v1/service.rb +1 -1
  137. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  138. data/generated/google/apis/youtube_partner_v1/classes.rb +121 -0
  139. data/generated/google/apis/youtube_partner_v1/representations.rb +50 -0
  140. data/generated/google/apis/youtube_partner_v1/service.rb +40 -0
  141. data/generated/google/apis/youtube_v3.rb +1 -1
  142. data/generated/google/apis/youtube_v3/classes.rb +24 -0
  143. data/generated/google/apis/youtube_v3/representations.rb +4 -0
  144. data/generated/google/apis/youtubereporting_v1.rb +3 -3
  145. data/generated/google/apis/youtubereporting_v1/classes.rb +19 -0
  146. data/generated/google/apis/youtubereporting_v1/representations.rb +3 -0
  147. data/generated/google/apis/youtubereporting_v1/service.rb +3 -4
  148. data/lib/google/apis/version.rb +1 -1
  149. metadata +14 -2
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/google-apps/calendar/firstapp
26
26
  module CalendarV3
27
27
  VERSION = 'V3'
28
- REVISION = '20160410'
28
+ REVISION = '20160517'
29
29
 
30
30
  # Manage your calendars
31
31
  AUTH_CALENDAR = 'https://www.googleapis.com/auth/calendar'
@@ -20,12 +20,15 @@ module Google
20
20
  module Apis
21
21
  # Google Classroom API
22
22
  #
23
- # Google Classroom API
23
+ # Manages classes, rosters, and invitations in Google Classroom.
24
24
  #
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20151013'
28
+ REVISION = '20160517'
29
+
30
+ # View instructions for teacher-assigned work in your Google Classroom classes
31
+ AUTH_CLASSROOM_COURSE_WORK_READONLY = 'https://www.googleapis.com/auth/classroom.course-work.readonly'
29
32
 
30
33
  # Manage your Google Classroom classes
31
34
  AUTH_CLASSROOM_COURSES = 'https://www.googleapis.com/auth/classroom.courses'
@@ -33,6 +36,18 @@ module Google
33
36
  # View your Google Classroom classes
34
37
  AUTH_CLASSROOM_COURSES_READONLY = 'https://www.googleapis.com/auth/classroom.courses.readonly'
35
38
 
39
+ # Manage your course work and view your grades in Google Classroom
40
+ AUTH_CLASSROOM_COURSEWORK_ME = 'https://www.googleapis.com/auth/classroom.coursework.me'
41
+
42
+ # View your course work and grades in Google Classroom
43
+ AUTH_CLASSROOM_COURSEWORK_ME_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.me.readonly'
44
+
45
+ # Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer
46
+ AUTH_CLASSROOM_COURSEWORK_STUDENTS = 'https://www.googleapis.com/auth/classroom.coursework.students'
47
+
48
+ # View course work and grades for students in the Google Classroom classes you teach or administer
49
+ AUTH_CLASSROOM_COURSEWORK_STUDENTS_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.students.readonly'
50
+
36
51
  # View the email addresses of people in your classes
37
52
  AUTH_CLASSROOM_PROFILE_EMAILS = 'https://www.googleapis.com/auth/classroom.profile.emails'
38
53
 
@@ -44,6 +59,12 @@ module Google
44
59
 
45
60
  # View your Google Classroom class rosters
46
61
  AUTH_CLASSROOM_ROSTERS_READONLY = 'https://www.googleapis.com/auth/classroom.rosters.readonly'
62
+
63
+ # View your course work and grades in Google Classroom
64
+ AUTH_CLASSROOM_STUDENT_SUBMISSIONS_ME_READONLY = 'https://www.googleapis.com/auth/classroom.student-submissions.me.readonly'
65
+
66
+ # View course work and grades for students in the Google Classroom classes you teach or administer
67
+ AUTH_CLASSROOM_STUDENT_SUBMISSIONS_STUDENTS_READONLY = 'https://www.googleapis.com/auth/classroom.student-submissions.students.readonly'
47
68
  end
48
69
  end
49
70
  end
@@ -30,7 +30,7 @@ module Google
30
30
  # may optionally set this identifier to an alias string in the request to create
31
31
  # a corresponding alias. The `id` is still assigned by Classroom and cannot be
32
32
  # updated after the course is created. Specifying this field in a course update
33
- # mask will result in an error.
33
+ # mask results in an error.
34
34
  # Corresponds to the JSON property `id`
35
35
  # @return [String]
36
36
  attr_accessor :id
@@ -72,26 +72,26 @@ module Google
72
72
  # create course request, this field is required. The identifier can be one of
73
73
  # the following: * the numeric identifier for the user * the email address of
74
74
  # the user * the string literal `"me"`, indicating the requesting user This must
75
- # be set in a create request. Specifying this field in a course update mask will
76
- # result in an `INVALID_ARGUMENT` error.
75
+ # be set in a create request. Specifying this field in a course update mask
76
+ # results in an `INVALID_ARGUMENT` error.
77
77
  # Corresponds to the JSON property `ownerId`
78
78
  # @return [String]
79
79
  attr_accessor :owner_id
80
80
 
81
81
  # Creation time of the course. Specifying this field in a course update mask
82
- # will result in an error. Read-only.
82
+ # results in an error. Read-only.
83
83
  # Corresponds to the JSON property `creationTime`
84
84
  # @return [String]
85
85
  attr_accessor :creation_time
86
86
 
87
87
  # Time of the most recent update to this course. Specifying this field in a
88
- # course update mask will result in an error. Read-only.
88
+ # course update mask results in an error. Read-only.
89
89
  # Corresponds to the JSON property `updateTime`
90
90
  # @return [String]
91
91
  attr_accessor :update_time
92
92
 
93
93
  # Enrollment code to use when joining this course. Specifying this field in a
94
- # course update mask will result in an error. Read-only.
94
+ # course update mask results in an error. Read-only.
95
95
  # Corresponds to the JSON property `enrollmentCode`
96
96
  # @return [String]
97
97
  attr_accessor :enrollment_code
@@ -106,6 +106,29 @@ module Google
106
106
  # @return [String]
107
107
  attr_accessor :alternate_link
108
108
 
109
+ # The email address of a Google group containing all teachers of the course.
110
+ # This group does not accept email and can only be used for permissions. Read-
111
+ # only.
112
+ # Corresponds to the JSON property `teacherGroupEmail`
113
+ # @return [String]
114
+ attr_accessor :teacher_group_email
115
+
116
+ # The email address of a Google group containing all members of the course. This
117
+ # group does not accept email and can only be used for permissions. Read-only.
118
+ # Corresponds to the JSON property `courseGroupEmail`
119
+ # @return [String]
120
+ attr_accessor :course_group_email
121
+
122
+ # Representation of a Google Drive folder.
123
+ # Corresponds to the JSON property `teacherFolder`
124
+ # @return [Google::Apis::ClassroomV1::DriveFolder]
125
+ attr_accessor :teacher_folder
126
+
127
+ # Sets of materials that appear on the "about" page of this course. Read-only.
128
+ # Corresponds to the JSON property `courseMaterialSets`
129
+ # @return [Array<Google::Apis::ClassroomV1::CourseMaterialSet>]
130
+ attr_accessor :course_material_sets
131
+
109
132
  def initialize(**args)
110
133
  update!(**args)
111
134
  end
@@ -124,6 +147,249 @@ module Google
124
147
  @enrollment_code = args[:enrollment_code] if args.key?(:enrollment_code)
125
148
  @course_state = args[:course_state] if args.key?(:course_state)
126
149
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
150
+ @teacher_group_email = args[:teacher_group_email] if args.key?(:teacher_group_email)
151
+ @course_group_email = args[:course_group_email] if args.key?(:course_group_email)
152
+ @teacher_folder = args[:teacher_folder] if args.key?(:teacher_folder)
153
+ @course_material_sets = args[:course_material_sets] if args.key?(:course_material_sets)
154
+ end
155
+ end
156
+
157
+ # Representation of a Google Drive folder.
158
+ class DriveFolder
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # Drive API resource ID.
162
+ # Corresponds to the JSON property `id`
163
+ # @return [String]
164
+ attr_accessor :id
165
+
166
+ # Title of the Drive folder. Read-only.
167
+ # Corresponds to the JSON property `title`
168
+ # @return [String]
169
+ attr_accessor :title
170
+
171
+ # URL that can be used to access the Drive folder. Read-only.
172
+ # Corresponds to the JSON property `alternateLink`
173
+ # @return [String]
174
+ attr_accessor :alternate_link
175
+
176
+ def initialize(**args)
177
+ update!(**args)
178
+ end
179
+
180
+ # Update properties of this object
181
+ def update!(**args)
182
+ @id = args[:id] if args.key?(:id)
183
+ @title = args[:title] if args.key?(:title)
184
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
185
+ end
186
+ end
187
+
188
+ # A set of materials that appears on the "About" page of the course. These
189
+ # materials might include a syllabus, schedule, or other background information
190
+ # relating to the course as a whole.
191
+ class CourseMaterialSet
192
+ include Google::Apis::Core::Hashable
193
+
194
+ # Title for this set.
195
+ # Corresponds to the JSON property `title`
196
+ # @return [String]
197
+ attr_accessor :title
198
+
199
+ # Materials attached to this set.
200
+ # Corresponds to the JSON property `materials`
201
+ # @return [Array<Google::Apis::ClassroomV1::CourseMaterial>]
202
+ attr_accessor :materials
203
+
204
+ def initialize(**args)
205
+ update!(**args)
206
+ end
207
+
208
+ # Update properties of this object
209
+ def update!(**args)
210
+ @title = args[:title] if args.key?(:title)
211
+ @materials = args[:materials] if args.key?(:materials)
212
+ end
213
+ end
214
+
215
+ # A material attached to a course as part of a material set.
216
+ class CourseMaterial
217
+ include Google::Apis::Core::Hashable
218
+
219
+ # Representation of a Google Drive file.
220
+ # Corresponds to the JSON property `driveFile`
221
+ # @return [Google::Apis::ClassroomV1::DriveFile]
222
+ attr_accessor :drive_file
223
+
224
+ # YouTube video item.
225
+ # Corresponds to the JSON property `youTubeVideo`
226
+ # @return [Google::Apis::ClassroomV1::YouTubeVideo]
227
+ attr_accessor :you_tube_video
228
+
229
+ # URL item.
230
+ # Corresponds to the JSON property `link`
231
+ # @return [Google::Apis::ClassroomV1::Link]
232
+ attr_accessor :link
233
+
234
+ # Google Forms item.
235
+ # Corresponds to the JSON property `form`
236
+ # @return [Google::Apis::ClassroomV1::Form]
237
+ attr_accessor :form
238
+
239
+ def initialize(**args)
240
+ update!(**args)
241
+ end
242
+
243
+ # Update properties of this object
244
+ def update!(**args)
245
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
246
+ @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
247
+ @link = args[:link] if args.key?(:link)
248
+ @form = args[:form] if args.key?(:form)
249
+ end
250
+ end
251
+
252
+ # Representation of a Google Drive file.
253
+ class DriveFile
254
+ include Google::Apis::Core::Hashable
255
+
256
+ # Drive API resource ID.
257
+ # Corresponds to the JSON property `id`
258
+ # @return [String]
259
+ attr_accessor :id
260
+
261
+ # Title of the Drive item. Read-only.
262
+ # Corresponds to the JSON property `title`
263
+ # @return [String]
264
+ attr_accessor :title
265
+
266
+ # URL that can be used to access the Drive item. Read-only.
267
+ # Corresponds to the JSON property `alternateLink`
268
+ # @return [String]
269
+ attr_accessor :alternate_link
270
+
271
+ # URL of a thumbnail image of the Drive item. Read-only.
272
+ # Corresponds to the JSON property `thumbnailUrl`
273
+ # @return [String]
274
+ attr_accessor :thumbnail_url
275
+
276
+ def initialize(**args)
277
+ update!(**args)
278
+ end
279
+
280
+ # Update properties of this object
281
+ def update!(**args)
282
+ @id = args[:id] if args.key?(:id)
283
+ @title = args[:title] if args.key?(:title)
284
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
285
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
286
+ end
287
+ end
288
+
289
+ # YouTube video item.
290
+ class YouTubeVideo
291
+ include Google::Apis::Core::Hashable
292
+
293
+ # YouTube API resource ID.
294
+ # Corresponds to the JSON property `id`
295
+ # @return [String]
296
+ attr_accessor :id
297
+
298
+ # Title of the YouTube video. Read-only.
299
+ # Corresponds to the JSON property `title`
300
+ # @return [String]
301
+ attr_accessor :title
302
+
303
+ # URL that can be used to view the YouTube video. Read-only.
304
+ # Corresponds to the JSON property `alternateLink`
305
+ # @return [String]
306
+ attr_accessor :alternate_link
307
+
308
+ # URL of a thumbnail image of the YouTube video. Read-only.
309
+ # Corresponds to the JSON property `thumbnailUrl`
310
+ # @return [String]
311
+ attr_accessor :thumbnail_url
312
+
313
+ def initialize(**args)
314
+ update!(**args)
315
+ end
316
+
317
+ # Update properties of this object
318
+ def update!(**args)
319
+ @id = args[:id] if args.key?(:id)
320
+ @title = args[:title] if args.key?(:title)
321
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
322
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
323
+ end
324
+ end
325
+
326
+ # URL item.
327
+ class Link
328
+ include Google::Apis::Core::Hashable
329
+
330
+ # URL to link to. This must be a valid UTF-8 string containing between 1 and
331
+ # 2024 characters.
332
+ # Corresponds to the JSON property `url`
333
+ # @return [String]
334
+ attr_accessor :url
335
+
336
+ # Title of the target of the URL. Read-only.
337
+ # Corresponds to the JSON property `title`
338
+ # @return [String]
339
+ attr_accessor :title
340
+
341
+ # URL of a thumbnail image of the target URL. Read-only.
342
+ # Corresponds to the JSON property `thumbnailUrl`
343
+ # @return [String]
344
+ attr_accessor :thumbnail_url
345
+
346
+ def initialize(**args)
347
+ update!(**args)
348
+ end
349
+
350
+ # Update properties of this object
351
+ def update!(**args)
352
+ @url = args[:url] if args.key?(:url)
353
+ @title = args[:title] if args.key?(:title)
354
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
355
+ end
356
+ end
357
+
358
+ # Google Forms item.
359
+ class Form
360
+ include Google::Apis::Core::Hashable
361
+
362
+ # URL of the form.
363
+ # Corresponds to the JSON property `formUrl`
364
+ # @return [String]
365
+ attr_accessor :form_url
366
+
367
+ # URL of the form responses document. Only set if respsonses have been recorded
368
+ # and only when the requesting user is an editor of the form. Read-only.
369
+ # Corresponds to the JSON property `responseUrl`
370
+ # @return [String]
371
+ attr_accessor :response_url
372
+
373
+ # Title of the Form. Read-only.
374
+ # Corresponds to the JSON property `title`
375
+ # @return [String]
376
+ attr_accessor :title
377
+
378
+ # URL of a thumbnail image of the Form. Read-only.
379
+ # Corresponds to the JSON property `thumbnailUrl`
380
+ # @return [String]
381
+ attr_accessor :thumbnail_url
382
+
383
+ def initialize(**args)
384
+ update!(**args)
385
+ end
386
+
387
+ # Update properties of this object
388
+ def update!(**args)
389
+ @form_url = args[:form_url] if args.key?(:form_url)
390
+ @response_url = args[:response_url] if args.key?(:response_url)
391
+ @title = args[:title] if args.key?(:title)
392
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
127
393
  end
128
394
  end
129
395
 
@@ -470,6 +736,11 @@ module Google
470
736
  # @return [Google::Apis::ClassroomV1::UserProfile]
471
737
  attr_accessor :profile
472
738
 
739
+ # Representation of a Google Drive folder.
740
+ # Corresponds to the JSON property `studentWorkFolder`
741
+ # @return [Google::Apis::ClassroomV1::DriveFolder]
742
+ attr_accessor :student_work_folder
743
+
473
744
  def initialize(**args)
474
745
  update!(**args)
475
746
  end
@@ -479,6 +750,7 @@ module Google
479
750
  @course_id = args[:course_id] if args.key?(:course_id)
480
751
  @user_id = args[:user_id] if args.key?(:user_id)
481
752
  @profile = args[:profile] if args.key?(:profile)
753
+ @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
482
754
  end
483
755
  end
484
756
 
@@ -507,6 +779,648 @@ module Google
507
779
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
508
780
  end
509
781
  end
782
+
783
+ # Course work created by a teacher for students of the course.
784
+ class CourseWork
785
+ include Google::Apis::Core::Hashable
786
+
787
+ # Identifier of the course. Read-only.
788
+ # Corresponds to the JSON property `courseId`
789
+ # @return [String]
790
+ attr_accessor :course_id
791
+
792
+ # Classroom-assigned identifier of this course work, unique per course. Read-
793
+ # only.
794
+ # Corresponds to the JSON property `id`
795
+ # @return [String]
796
+ attr_accessor :id
797
+
798
+ # Title of this course work. The title must be a valid UTF-8 string containing
799
+ # between 1 and 3000 characters.
800
+ # Corresponds to the JSON property `title`
801
+ # @return [String]
802
+ attr_accessor :title
803
+
804
+ # Optional description of this course work. If set, the description must be a
805
+ # valid UTF-8 string containing no more than 30,000 characters.
806
+ # Corresponds to the JSON property `description`
807
+ # @return [String]
808
+ attr_accessor :description
809
+
810
+ # Additional materials.
811
+ # Corresponds to the JSON property `materials`
812
+ # @return [Array<Google::Apis::ClassroomV1::Material>]
813
+ attr_accessor :materials
814
+
815
+ # Status of this course work.. If unspecified, the default state is `DRAFT`.
816
+ # Corresponds to the JSON property `state`
817
+ # @return [String]
818
+ attr_accessor :state
819
+
820
+ # Absolute link to this course work in the Classroom web UI. This is only
821
+ # populated if `state` is `PUBLISHED`. Read-only.
822
+ # Corresponds to the JSON property `alternateLink`
823
+ # @return [String]
824
+ attr_accessor :alternate_link
825
+
826
+ # Timestamp when this course work was created. Read-only.
827
+ # Corresponds to the JSON property `creationTime`
828
+ # @return [String]
829
+ attr_accessor :creation_time
830
+
831
+ # Timestamp of the most recent change to this course work. Read-only.
832
+ # Corresponds to the JSON property `updateTime`
833
+ # @return [String]
834
+ attr_accessor :update_time
835
+
836
+ # Represents a whole calendar date, e.g. date of birth. The time of day and time
837
+ # zone are either specified elsewhere or are not significant. The date is
838
+ # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
839
+ # year and month where the day is not significant, e.g. credit card expiration
840
+ # date. The year may be 0 to represent a month and day independent of year, e.g.
841
+ # anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.
842
+ # Timestamp`.
843
+ # Corresponds to the JSON property `dueDate`
844
+ # @return [Google::Apis::ClassroomV1::Date]
845
+ attr_accessor :due_date
846
+
847
+ # Represents a time of day. The date and time zone are either not significant or
848
+ # are specified elsewhere. An API may chose to allow leap seconds. Related types
849
+ # are google.type.Date and `google.protobuf.Timestamp`.
850
+ # Corresponds to the JSON property `dueTime`
851
+ # @return [Google::Apis::ClassroomV1::TimeOfDay]
852
+ attr_accessor :due_time
853
+
854
+ # Maximum grade for this course work. If zero or unspecified, this assignment is
855
+ # considered ungraded. This must be an integer value.
856
+ # Corresponds to the JSON property `maxPoints`
857
+ # @return [Float]
858
+ attr_accessor :max_points
859
+
860
+ # Type of this course work. The type is set when the course work is created and
861
+ # cannot be changed. When creating course work, this must be `ASSIGNMENT`.
862
+ # Corresponds to the JSON property `workType`
863
+ # @return [String]
864
+ attr_accessor :work_type
865
+
866
+ # Whether this course work item is associated with the Developer Console project
867
+ # making the request. See google.classroom.Work.CreateCourseWork for more
868
+ # details. Read-only.
869
+ # Corresponds to the JSON property `associatedWithDeveloper`
870
+ # @return [Boolean]
871
+ attr_accessor :associated_with_developer
872
+ alias_method :associated_with_developer?, :associated_with_developer
873
+
874
+ # Setting to determine when students are allowed to modify submissions. If
875
+ # unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
876
+ # Corresponds to the JSON property `submissionModificationMode`
877
+ # @return [String]
878
+ attr_accessor :submission_modification_mode
879
+
880
+ # Additional details for assignments.
881
+ # Corresponds to the JSON property `assignment`
882
+ # @return [Google::Apis::ClassroomV1::Assignment]
883
+ attr_accessor :assignment
884
+
885
+ # Additional details for multiple-choice questions.
886
+ # Corresponds to the JSON property `multipleChoiceQuestion`
887
+ # @return [Google::Apis::ClassroomV1::MultipleChoiceQuestion]
888
+ attr_accessor :multiple_choice_question
889
+
890
+ def initialize(**args)
891
+ update!(**args)
892
+ end
893
+
894
+ # Update properties of this object
895
+ def update!(**args)
896
+ @course_id = args[:course_id] if args.key?(:course_id)
897
+ @id = args[:id] if args.key?(:id)
898
+ @title = args[:title] if args.key?(:title)
899
+ @description = args[:description] if args.key?(:description)
900
+ @materials = args[:materials] if args.key?(:materials)
901
+ @state = args[:state] if args.key?(:state)
902
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
903
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
904
+ @update_time = args[:update_time] if args.key?(:update_time)
905
+ @due_date = args[:due_date] if args.key?(:due_date)
906
+ @due_time = args[:due_time] if args.key?(:due_time)
907
+ @max_points = args[:max_points] if args.key?(:max_points)
908
+ @work_type = args[:work_type] if args.key?(:work_type)
909
+ @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
910
+ @submission_modification_mode = args[:submission_modification_mode] if args.key?(:submission_modification_mode)
911
+ @assignment = args[:assignment] if args.key?(:assignment)
912
+ @multiple_choice_question = args[:multiple_choice_question] if args.key?(:multiple_choice_question)
913
+ end
914
+ end
915
+
916
+ # Material attached to course work. When creating attachments, only the Link
917
+ # field may be specified.
918
+ class Material
919
+ include Google::Apis::Core::Hashable
920
+
921
+ # Drive file that is used as material for course work.
922
+ # Corresponds to the JSON property `driveFile`
923
+ # @return [Google::Apis::ClassroomV1::SharedDriveFile]
924
+ attr_accessor :drive_file
925
+
926
+ # YouTube video item.
927
+ # Corresponds to the JSON property `youtubeVideo`
928
+ # @return [Google::Apis::ClassroomV1::YouTubeVideo]
929
+ attr_accessor :youtube_video
930
+
931
+ # URL item.
932
+ # Corresponds to the JSON property `link`
933
+ # @return [Google::Apis::ClassroomV1::Link]
934
+ attr_accessor :link
935
+
936
+ # Google Forms item.
937
+ # Corresponds to the JSON property `form`
938
+ # @return [Google::Apis::ClassroomV1::Form]
939
+ attr_accessor :form
940
+
941
+ def initialize(**args)
942
+ update!(**args)
943
+ end
944
+
945
+ # Update properties of this object
946
+ def update!(**args)
947
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
948
+ @youtube_video = args[:youtube_video] if args.key?(:youtube_video)
949
+ @link = args[:link] if args.key?(:link)
950
+ @form = args[:form] if args.key?(:form)
951
+ end
952
+ end
953
+
954
+ # Drive file that is used as material for course work.
955
+ class SharedDriveFile
956
+ include Google::Apis::Core::Hashable
957
+
958
+ # Representation of a Google Drive file.
959
+ # Corresponds to the JSON property `driveFile`
960
+ # @return [Google::Apis::ClassroomV1::DriveFile]
961
+ attr_accessor :drive_file
962
+
963
+ # Mechanism by which students access the Drive item.
964
+ # Corresponds to the JSON property `shareMode`
965
+ # @return [String]
966
+ attr_accessor :share_mode
967
+
968
+ def initialize(**args)
969
+ update!(**args)
970
+ end
971
+
972
+ # Update properties of this object
973
+ def update!(**args)
974
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
975
+ @share_mode = args[:share_mode] if args.key?(:share_mode)
976
+ end
977
+ end
978
+
979
+ # Represents a whole calendar date, e.g. date of birth. The time of day and time
980
+ # zone are either specified elsewhere or are not significant. The date is
981
+ # relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a
982
+ # year and month where the day is not significant, e.g. credit card expiration
983
+ # date. The year may be 0 to represent a month and day independent of year, e.g.
984
+ # anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.
985
+ # Timestamp`.
986
+ class Date
987
+ include Google::Apis::Core::Hashable
988
+
989
+ # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
990
+ # Corresponds to the JSON property `year`
991
+ # @return [Fixnum]
992
+ attr_accessor :year
993
+
994
+ # Month of year. Must be from 1 to 12.
995
+ # Corresponds to the JSON property `month`
996
+ # @return [Fixnum]
997
+ attr_accessor :month
998
+
999
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
1000
+ # specifying a year/month where the day is not significant.
1001
+ # Corresponds to the JSON property `day`
1002
+ # @return [Fixnum]
1003
+ attr_accessor :day
1004
+
1005
+ def initialize(**args)
1006
+ update!(**args)
1007
+ end
1008
+
1009
+ # Update properties of this object
1010
+ def update!(**args)
1011
+ @year = args[:year] if args.key?(:year)
1012
+ @month = args[:month] if args.key?(:month)
1013
+ @day = args[:day] if args.key?(:day)
1014
+ end
1015
+ end
1016
+
1017
+ # Represents a time of day. The date and time zone are either not significant or
1018
+ # are specified elsewhere. An API may chose to allow leap seconds. Related types
1019
+ # are google.type.Date and `google.protobuf.Timestamp`.
1020
+ class TimeOfDay
1021
+ include Google::Apis::Core::Hashable
1022
+
1023
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
1024
+ # allow the value "24:00:00" for scenarios like business closing time.
1025
+ # Corresponds to the JSON property `hours`
1026
+ # @return [Fixnum]
1027
+ attr_accessor :hours
1028
+
1029
+ # Minutes of hour of day. Must be from 0 to 59.
1030
+ # Corresponds to the JSON property `minutes`
1031
+ # @return [Fixnum]
1032
+ attr_accessor :minutes
1033
+
1034
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1035
+ # allow the value 60 if it allows leap-seconds.
1036
+ # Corresponds to the JSON property `seconds`
1037
+ # @return [Fixnum]
1038
+ attr_accessor :seconds
1039
+
1040
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1041
+ # Corresponds to the JSON property `nanos`
1042
+ # @return [Fixnum]
1043
+ attr_accessor :nanos
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ @hours = args[:hours] if args.key?(:hours)
1052
+ @minutes = args[:minutes] if args.key?(:minutes)
1053
+ @seconds = args[:seconds] if args.key?(:seconds)
1054
+ @nanos = args[:nanos] if args.key?(:nanos)
1055
+ end
1056
+ end
1057
+
1058
+ # Additional details for assignments.
1059
+ class Assignment
1060
+ include Google::Apis::Core::Hashable
1061
+
1062
+ # Representation of a Google Drive folder.
1063
+ # Corresponds to the JSON property `studentWorkFolder`
1064
+ # @return [Google::Apis::ClassroomV1::DriveFolder]
1065
+ attr_accessor :student_work_folder
1066
+
1067
+ def initialize(**args)
1068
+ update!(**args)
1069
+ end
1070
+
1071
+ # Update properties of this object
1072
+ def update!(**args)
1073
+ @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
1074
+ end
1075
+ end
1076
+
1077
+ # Additional details for multiple-choice questions.
1078
+ class MultipleChoiceQuestion
1079
+ include Google::Apis::Core::Hashable
1080
+
1081
+ # Possible choices.
1082
+ # Corresponds to the JSON property `choices`
1083
+ # @return [Array<String>]
1084
+ attr_accessor :choices
1085
+
1086
+ def initialize(**args)
1087
+ update!(**args)
1088
+ end
1089
+
1090
+ # Update properties of this object
1091
+ def update!(**args)
1092
+ @choices = args[:choices] if args.key?(:choices)
1093
+ end
1094
+ end
1095
+
1096
+ # Response when listing course work.
1097
+ class ListCourseWorkResponse
1098
+ include Google::Apis::Core::Hashable
1099
+
1100
+ # Course work items that match the request.
1101
+ # Corresponds to the JSON property `courseWork`
1102
+ # @return [Array<Google::Apis::ClassroomV1::CourseWork>]
1103
+ attr_accessor :course_work
1104
+
1105
+ # Token identifying the next page of results to return. If empty, no further
1106
+ # results are available.
1107
+ # Corresponds to the JSON property `nextPageToken`
1108
+ # @return [String]
1109
+ attr_accessor :next_page_token
1110
+
1111
+ def initialize(**args)
1112
+ update!(**args)
1113
+ end
1114
+
1115
+ # Update properties of this object
1116
+ def update!(**args)
1117
+ @course_work = args[:course_work] if args.key?(:course_work)
1118
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1119
+ end
1120
+ end
1121
+
1122
+ # Student submission for course work. StudentSubmission items are generated when
1123
+ # a CourseWork item is created. StudentSubmissions that have never been accessed
1124
+ # (i.e. with `state` = NEW) may not have a creation time or update time.
1125
+ class StudentSubmission
1126
+ include Google::Apis::Core::Hashable
1127
+
1128
+ # Identifier of the course. Read-only.
1129
+ # Corresponds to the JSON property `courseId`
1130
+ # @return [String]
1131
+ attr_accessor :course_id
1132
+
1133
+ # Identifier for the course work this corresponds to. Read-only.
1134
+ # Corresponds to the JSON property `courseWorkId`
1135
+ # @return [String]
1136
+ attr_accessor :course_work_id
1137
+
1138
+ # Classroom-assigned Identifier for the student submission. This is unique among
1139
+ # submissions for the relevant course work. Read-only.
1140
+ # Corresponds to the JSON property `id`
1141
+ # @return [String]
1142
+ attr_accessor :id
1143
+
1144
+ # Identifier for the student that owns this submission. Read-only.
1145
+ # Corresponds to the JSON property `userId`
1146
+ # @return [String]
1147
+ attr_accessor :user_id
1148
+
1149
+ # Creation time of this submission.. This may be unset if the student has not
1150
+ # accessed this item. Read-only.
1151
+ # Corresponds to the JSON property `creationTime`
1152
+ # @return [String]
1153
+ attr_accessor :creation_time
1154
+
1155
+ # Last update time of this submission. This may be unset if the student has not
1156
+ # accessed this item. Read-only.
1157
+ # Corresponds to the JSON property `updateTime`
1158
+ # @return [String]
1159
+ attr_accessor :update_time
1160
+
1161
+ # State of this submission. Read-only.
1162
+ # Corresponds to the JSON property `state`
1163
+ # @return [String]
1164
+ attr_accessor :state
1165
+
1166
+ # Whether this submission is late. Read-only.
1167
+ # Corresponds to the JSON property `late`
1168
+ # @return [Boolean]
1169
+ attr_accessor :late
1170
+ alias_method :late?, :late
1171
+
1172
+ # Optional pending grade. If unset, no grade was set. This must be an integer
1173
+ # value. This is only visible to and modifiable by course teachers.
1174
+ # Corresponds to the JSON property `draftGrade`
1175
+ # @return [Float]
1176
+ attr_accessor :draft_grade
1177
+
1178
+ # Optional grade. If unset, no grade was set. This must be an integer value.
1179
+ # This may be modified only by course teachers.
1180
+ # Corresponds to the JSON property `assignedGrade`
1181
+ # @return [Float]
1182
+ attr_accessor :assigned_grade
1183
+
1184
+ # Absolute link to the submission in the Classroom web UI. Read-only.
1185
+ # Corresponds to the JSON property `alternateLink`
1186
+ # @return [String]
1187
+ attr_accessor :alternate_link
1188
+
1189
+ # Type of course work this submission is for. Read-only.
1190
+ # Corresponds to the JSON property `courseWorkType`
1191
+ # @return [String]
1192
+ attr_accessor :course_work_type
1193
+
1194
+ # Whether this student submission is associated with the Developer Console
1195
+ # project making the request. See google.classroom.Work.CreateCourseWork for
1196
+ # more details. Read-only.
1197
+ # Corresponds to the JSON property `associatedWithDeveloper`
1198
+ # @return [Boolean]
1199
+ attr_accessor :associated_with_developer
1200
+ alias_method :associated_with_developer?, :associated_with_developer
1201
+
1202
+ # Student work for an assignment.
1203
+ # Corresponds to the JSON property `assignmentSubmission`
1204
+ # @return [Google::Apis::ClassroomV1::AssignmentSubmission]
1205
+ attr_accessor :assignment_submission
1206
+
1207
+ # Student work for a short answer question.
1208
+ # Corresponds to the JSON property `shortAnswerSubmission`
1209
+ # @return [Google::Apis::ClassroomV1::ShortAnswerSubmission]
1210
+ attr_accessor :short_answer_submission
1211
+
1212
+ # Student work for a multiple-choice question.
1213
+ # Corresponds to the JSON property `multipleChoiceSubmission`
1214
+ # @return [Google::Apis::ClassroomV1::MultipleChoiceSubmission]
1215
+ attr_accessor :multiple_choice_submission
1216
+
1217
+ def initialize(**args)
1218
+ update!(**args)
1219
+ end
1220
+
1221
+ # Update properties of this object
1222
+ def update!(**args)
1223
+ @course_id = args[:course_id] if args.key?(:course_id)
1224
+ @course_work_id = args[:course_work_id] if args.key?(:course_work_id)
1225
+ @id = args[:id] if args.key?(:id)
1226
+ @user_id = args[:user_id] if args.key?(:user_id)
1227
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
1228
+ @update_time = args[:update_time] if args.key?(:update_time)
1229
+ @state = args[:state] if args.key?(:state)
1230
+ @late = args[:late] if args.key?(:late)
1231
+ @draft_grade = args[:draft_grade] if args.key?(:draft_grade)
1232
+ @assigned_grade = args[:assigned_grade] if args.key?(:assigned_grade)
1233
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1234
+ @course_work_type = args[:course_work_type] if args.key?(:course_work_type)
1235
+ @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
1236
+ @assignment_submission = args[:assignment_submission] if args.key?(:assignment_submission)
1237
+ @short_answer_submission = args[:short_answer_submission] if args.key?(:short_answer_submission)
1238
+ @multiple_choice_submission = args[:multiple_choice_submission] if args.key?(:multiple_choice_submission)
1239
+ end
1240
+ end
1241
+
1242
+ # Student work for an assignment.
1243
+ class AssignmentSubmission
1244
+ include Google::Apis::Core::Hashable
1245
+
1246
+ # Attachments added by the student. Drive files that correspond to materials
1247
+ # with a share mode of SUBMISSION_COPY may not exist yet if the student has not
1248
+ # accessed the assignment in Classroom. Some attachment metadata is only
1249
+ # populated if the requesting user has permission to access it. Identifier and
1250
+ # alternate_link fields are available, but others (e.g. title) may not be.
1251
+ # Corresponds to the JSON property `attachments`
1252
+ # @return [Array<Google::Apis::ClassroomV1::Attachment>]
1253
+ attr_accessor :attachments
1254
+
1255
+ def initialize(**args)
1256
+ update!(**args)
1257
+ end
1258
+
1259
+ # Update properties of this object
1260
+ def update!(**args)
1261
+ @attachments = args[:attachments] if args.key?(:attachments)
1262
+ end
1263
+ end
1264
+
1265
+ # Attachment added to student assignment work. When creating attachments, only
1266
+ # the Link field may be specified.
1267
+ class Attachment
1268
+ include Google::Apis::Core::Hashable
1269
+
1270
+ # Representation of a Google Drive file.
1271
+ # Corresponds to the JSON property `driveFile`
1272
+ # @return [Google::Apis::ClassroomV1::DriveFile]
1273
+ attr_accessor :drive_file
1274
+
1275
+ # YouTube video item.
1276
+ # Corresponds to the JSON property `youTubeVideo`
1277
+ # @return [Google::Apis::ClassroomV1::YouTubeVideo]
1278
+ attr_accessor :you_tube_video
1279
+
1280
+ # URL item.
1281
+ # Corresponds to the JSON property `link`
1282
+ # @return [Google::Apis::ClassroomV1::Link]
1283
+ attr_accessor :link
1284
+
1285
+ # Google Forms item.
1286
+ # Corresponds to the JSON property `form`
1287
+ # @return [Google::Apis::ClassroomV1::Form]
1288
+ attr_accessor :form
1289
+
1290
+ def initialize(**args)
1291
+ update!(**args)
1292
+ end
1293
+
1294
+ # Update properties of this object
1295
+ def update!(**args)
1296
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
1297
+ @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
1298
+ @link = args[:link] if args.key?(:link)
1299
+ @form = args[:form] if args.key?(:form)
1300
+ end
1301
+ end
1302
+
1303
+ # Student work for a short answer question.
1304
+ class ShortAnswerSubmission
1305
+ include Google::Apis::Core::Hashable
1306
+
1307
+ # Student response to a short-answer question.
1308
+ # Corresponds to the JSON property `answer`
1309
+ # @return [String]
1310
+ attr_accessor :answer
1311
+
1312
+ def initialize(**args)
1313
+ update!(**args)
1314
+ end
1315
+
1316
+ # Update properties of this object
1317
+ def update!(**args)
1318
+ @answer = args[:answer] if args.key?(:answer)
1319
+ end
1320
+ end
1321
+
1322
+ # Student work for a multiple-choice question.
1323
+ class MultipleChoiceSubmission
1324
+ include Google::Apis::Core::Hashable
1325
+
1326
+ # Student's select choice.
1327
+ # Corresponds to the JSON property `answer`
1328
+ # @return [String]
1329
+ attr_accessor :answer
1330
+
1331
+ def initialize(**args)
1332
+ update!(**args)
1333
+ end
1334
+
1335
+ # Update properties of this object
1336
+ def update!(**args)
1337
+ @answer = args[:answer] if args.key?(:answer)
1338
+ end
1339
+ end
1340
+
1341
+ # Response when listing student submissions.
1342
+ class ListStudentSubmissionsResponse
1343
+ include Google::Apis::Core::Hashable
1344
+
1345
+ # Student work that matches the request.
1346
+ # Corresponds to the JSON property `studentSubmissions`
1347
+ # @return [Array<Google::Apis::ClassroomV1::StudentSubmission>]
1348
+ attr_accessor :student_submissions
1349
+
1350
+ # Token identifying the next page of results to return. If empty, no further
1351
+ # results are available.
1352
+ # Corresponds to the JSON property `nextPageToken`
1353
+ # @return [String]
1354
+ attr_accessor :next_page_token
1355
+
1356
+ def initialize(**args)
1357
+ update!(**args)
1358
+ end
1359
+
1360
+ # Update properties of this object
1361
+ def update!(**args)
1362
+ @student_submissions = args[:student_submissions] if args.key?(:student_submissions)
1363
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1364
+ end
1365
+ end
1366
+
1367
+ # Request to turn in a student submission.
1368
+ class TurnInStudentSubmissionRequest
1369
+ include Google::Apis::Core::Hashable
1370
+
1371
+ def initialize(**args)
1372
+ update!(**args)
1373
+ end
1374
+
1375
+ # Update properties of this object
1376
+ def update!(**args)
1377
+ end
1378
+ end
1379
+
1380
+ # Request to reclaim a student submission.
1381
+ class ReclaimStudentSubmissionRequest
1382
+ include Google::Apis::Core::Hashable
1383
+
1384
+ def initialize(**args)
1385
+ update!(**args)
1386
+ end
1387
+
1388
+ # Update properties of this object
1389
+ def update!(**args)
1390
+ end
1391
+ end
1392
+
1393
+ # Request to return a student submission.
1394
+ class ReturnStudentSubmissionRequest
1395
+ include Google::Apis::Core::Hashable
1396
+
1397
+ def initialize(**args)
1398
+ update!(**args)
1399
+ end
1400
+
1401
+ # Update properties of this object
1402
+ def update!(**args)
1403
+ end
1404
+ end
1405
+
1406
+ # Request to modify the attachments of a student submission.
1407
+ class ModifyAttachmentsRequest
1408
+ include Google::Apis::Core::Hashable
1409
+
1410
+ # Attachments to add. This may only contain link attachments.
1411
+ # Corresponds to the JSON property `addAttachments`
1412
+ # @return [Array<Google::Apis::ClassroomV1::Attachment>]
1413
+ attr_accessor :add_attachments
1414
+
1415
+ def initialize(**args)
1416
+ update!(**args)
1417
+ end
1418
+
1419
+ # Update properties of this object
1420
+ def update!(**args)
1421
+ @add_attachments = args[:add_attachments] if args.key?(:add_attachments)
1422
+ end
1423
+ end
510
1424
  end
511
1425
  end
512
1426
  end