google-api-client 0.9.28 → 0.10.0

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