google-api-client 0.14.4 → 0.14.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  4. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  5. data/generated/google/apis/androidmanagement_v1/classes.rb +2 -2
  6. data/generated/google/apis/appengine_v1.rb +1 -1
  7. data/generated/google/apis/appengine_v1/classes.rb +111 -0
  8. data/generated/google/apis/appengine_v1/representations.rb +59 -0
  9. data/generated/google/apis/appengine_v1/service.rb +220 -0
  10. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  11. data/generated/google/apis/classroom_v1.rb +7 -1
  12. data/generated/google/apis/classroom_v1/classes.rb +361 -0
  13. data/generated/google/apis/classroom_v1/representations.rb +161 -0
  14. data/generated/google/apis/classroom_v1/service.rb +426 -0
  15. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  16. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +3 -3
  17. data/generated/google/apis/cloudiot_v1.rb +38 -0
  18. data/generated/google/apis/cloudiot_v1/classes.rb +1197 -0
  19. data/generated/google/apis/cloudiot_v1/representations.rb +473 -0
  20. data/generated/google/apis/cloudiot_v1/service.rb +657 -0
  21. data/generated/google/apis/cloudiot_v1beta1.rb +38 -0
  22. data/generated/google/apis/cloudiot_v1beta1/classes.rb +1064 -0
  23. data/generated/google/apis/cloudiot_v1beta1/representations.rb +442 -0
  24. data/generated/google/apis/cloudiot_v1beta1/service.rb +725 -0
  25. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  26. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +4 -4
  27. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  28. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  29. data/generated/google/apis/cloudtrace_v2/classes.rb +1 -1
  30. data/generated/google/apis/cloudtrace_v2/service.rb +1 -1
  31. data/generated/google/apis/container_v1.rb +1 -1
  32. data/generated/google/apis/container_v1/classes.rb +34 -4
  33. data/generated/google/apis/container_v1/representations.rb +15 -0
  34. data/generated/google/apis/container_v1beta1.rb +1 -1
  35. data/generated/google/apis/container_v1beta1/classes.rb +34 -4
  36. data/generated/google/apis/container_v1beta1/representations.rb +15 -0
  37. data/generated/google/apis/content_v2.rb +1 -1
  38. data/generated/google/apis/content_v2/classes.rb +91 -9
  39. data/generated/google/apis/content_v2/representations.rb +20 -0
  40. data/generated/google/apis/content_v2/service.rb +1 -2
  41. data/generated/google/apis/content_v2sandbox.rb +1 -1
  42. data/generated/google/apis/content_v2sandbox/classes.rb +90 -8
  43. data/generated/google/apis/content_v2sandbox/representations.rb +20 -0
  44. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  45. data/generated/google/apis/dataflow_v1b3/classes.rb +53 -3
  46. data/generated/google/apis/dataflow_v1b3/representations.rb +16 -0
  47. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  48. data/generated/google/apis/dataproc_v1beta2/classes.rb +461 -0
  49. data/generated/google/apis/dataproc_v1beta2/representations.rb +194 -0
  50. data/generated/google/apis/dataproc_v1beta2/service.rb +452 -0
  51. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  52. data/generated/google/apis/deploymentmanager_alpha/classes.rb +30 -1
  53. data/generated/google/apis/deploymentmanager_alpha/representations.rb +8 -0
  54. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  55. data/generated/google/apis/deploymentmanager_v2/classes.rb +2 -1
  56. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  57. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +2 -1
  58. data/generated/google/apis/dlp_v2beta1.rb +1 -1
  59. data/generated/google/apis/dlp_v2beta1/classes.rb +2 -2
  60. data/generated/google/apis/firebaserules_v1.rb +1 -1
  61. data/generated/google/apis/firebaserules_v1/classes.rb +44 -0
  62. data/generated/google/apis/firebaserules_v1/representations.rb +17 -0
  63. data/generated/google/apis/firebaserules_v1/service.rb +35 -0
  64. data/generated/google/apis/fitness_v1.rb +1 -1
  65. data/generated/google/apis/fitness_v1/classes.rb +3 -3
  66. data/generated/google/apis/fitness_v1/service.rb +4 -4
  67. data/generated/google/apis/iam_v1.rb +1 -1
  68. data/generated/google/apis/iam_v1/classes.rb +14 -14
  69. data/generated/google/apis/iam_v1/service.rb +29 -29
  70. data/generated/google/apis/kgsearch_v1.rb +1 -1
  71. data/generated/google/apis/logging_v2.rb +1 -1
  72. data/generated/google/apis/logging_v2/classes.rb +11 -9
  73. data/generated/google/apis/logging_v2beta1.rb +1 -1
  74. data/generated/google/apis/logging_v2beta1/classes.rb +11 -9
  75. data/generated/google/apis/ml_v1.rb +1 -1
  76. data/generated/google/apis/ml_v1/classes.rb +5 -4
  77. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  78. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  79. data/generated/google/apis/pubsub_v1.rb +1 -1
  80. data/generated/google/apis/pubsub_v1/classes.rb +2 -1
  81. data/generated/google/apis/script_v1.rb +2 -2
  82. data/generated/google/apis/script_v1/service.rb +1 -1
  83. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  84. data/generated/google/apis/servicecontrol_v1/classes.rb +19 -23
  85. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -1
  86. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  87. data/generated/google/apis/servicemanagement_v1/classes.rb +106 -0
  88. data/generated/google/apis/servicemanagement_v1/representations.rb +32 -0
  89. data/generated/google/apis/serviceuser_v1.rb +1 -1
  90. data/generated/google/apis/serviceuser_v1/classes.rb +92 -92
  91. data/generated/google/apis/serviceuser_v1/representations.rb +27 -15
  92. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  93. data/generated/google/apis/streetviewpublish_v1/service.rb +7 -0
  94. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  95. data/generated/google/apis/toolresults_v1beta3/classes.rb +2 -2
  96. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  97. data/generated/google/apis/youtube_partner_v1/classes.rb +53 -0
  98. data/generated/google/apis/youtube_partner_v1/representations.rb +29 -0
  99. data/generated/google/apis/youtube_partner_v1/service.rb +37 -0
  100. data/lib/google/apis/version.rb +1 -1
  101. metadata +10 -2
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/bigquery/
27
27
  module BigquerydatatransferV1
28
28
  VERSION = 'V1'
29
- REVISION = '20170917'
29
+ REVISION = '20170925'
30
30
 
31
31
  # View and manage your data in Google BigQuery
32
32
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -25,7 +25,13 @@ module Google
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170803'
28
+ REVISION = '20170926'
29
+
30
+ # View and manage announcements in Google Classroom
31
+ AUTH_CLASSROOM_ANNOUNCEMENTS = 'https://www.googleapis.com/auth/classroom.announcements'
32
+
33
+ # View announcements in Google Classroom
34
+ AUTH_CLASSROOM_ANNOUNCEMENTS_READONLY = 'https://www.googleapis.com/auth/classroom.announcements.readonly'
29
35
 
30
36
  # Manage your Google Classroom classes
31
37
  AUTH_CLASSROOM_COURSES = 'https://www.googleapis.com/auth/classroom.courses'
@@ -22,6 +22,104 @@ module Google
22
22
  module Apis
23
23
  module ClassroomV1
24
24
 
25
+ # Announcement created by a teacher for students of the course
26
+ class Announcement
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Absolute link to this announcement in the Classroom web UI.
30
+ # This is only populated if `state` is `PUBLISHED`.
31
+ # Read-only.
32
+ # Corresponds to the JSON property `alternateLink`
33
+ # @return [String]
34
+ attr_accessor :alternate_link
35
+
36
+ # Assignee mode of the announcement.
37
+ # If unspecified, the default value is `ALL_STUDENTS`.
38
+ # Corresponds to the JSON property `assigneeMode`
39
+ # @return [String]
40
+ attr_accessor :assignee_mode
41
+
42
+ # Identifier of the course.
43
+ # Read-only.
44
+ # Corresponds to the JSON property `courseId`
45
+ # @return [String]
46
+ attr_accessor :course_id
47
+
48
+ # Timestamp when this announcement was created.
49
+ # Read-only.
50
+ # Corresponds to the JSON property `creationTime`
51
+ # @return [String]
52
+ attr_accessor :creation_time
53
+
54
+ # Identifier for the user that created the announcement.
55
+ # Read-only.
56
+ # Corresponds to the JSON property `creatorUserId`
57
+ # @return [String]
58
+ attr_accessor :creator_user_id
59
+
60
+ # Classroom-assigned identifier of this announcement, unique per course.
61
+ # Read-only.
62
+ # Corresponds to the JSON property `id`
63
+ # @return [String]
64
+ attr_accessor :id
65
+
66
+ # Assignee details about a coursework/announcement.
67
+ # This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.
68
+ # Corresponds to the JSON property `individualStudentsOptions`
69
+ # @return [Google::Apis::ClassroomV1::IndividualStudentsOptions]
70
+ attr_accessor :individual_students_options
71
+
72
+ # Additional materials.
73
+ # Announcements must have no more than 20 material items.
74
+ # Corresponds to the JSON property `materials`
75
+ # @return [Array<Google::Apis::ClassroomV1::Material>]
76
+ attr_accessor :materials
77
+
78
+ # Optional timestamp when this announcement is scheduled to be published.
79
+ # Corresponds to the JSON property `scheduledTime`
80
+ # @return [String]
81
+ attr_accessor :scheduled_time
82
+
83
+ # Status of this announcement.
84
+ # If unspecified, the default state is `DRAFT`.
85
+ # Corresponds to the JSON property `state`
86
+ # @return [String]
87
+ attr_accessor :state
88
+
89
+ # Description of this announcement.
90
+ # The text must be a valid UTF-8 string containing no more
91
+ # than 30,000 characters.
92
+ # Corresponds to the JSON property `text`
93
+ # @return [String]
94
+ attr_accessor :text
95
+
96
+ # Timestamp of the most recent change to this announcement.
97
+ # Read-only.
98
+ # Corresponds to the JSON property `updateTime`
99
+ # @return [String]
100
+ attr_accessor :update_time
101
+
102
+ def initialize(**args)
103
+ update!(**args)
104
+ end
105
+
106
+ # Update properties of this object
107
+ def update!(**args)
108
+ @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
109
+ @assignee_mode = args[:assignee_mode] if args.key?(:assignee_mode)
110
+ @course_id = args[:course_id] if args.key?(:course_id)
111
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
112
+ @creator_user_id = args[:creator_user_id] if args.key?(:creator_user_id)
113
+ @id = args[:id] if args.key?(:id)
114
+ @individual_students_options = args[:individual_students_options] if args.key?(:individual_students_options)
115
+ @materials = args[:materials] if args.key?(:materials)
116
+ @scheduled_time = args[:scheduled_time] if args.key?(:scheduled_time)
117
+ @state = args[:state] if args.key?(:state)
118
+ @text = args[:text] if args.key?(:text)
119
+ @update_time = args[:update_time] if args.key?(:update_time)
120
+ end
121
+ end
122
+
25
123
  # Additional details for assignments.
26
124
  class Assignment
27
125
  include Google::Apis::Core::Hashable
@@ -104,6 +202,30 @@ module Google
104
202
  end
105
203
  end
106
204
 
205
+ # A reference to a Cloud Pub/Sub topic.
206
+ # To register for notifications, the owner of the topic must grant
207
+ # `classroom-notifications@system.gserviceaccount.com` the
208
+ # `projects.topics.publish` permission.
209
+ class CloudPubsubTopic
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # The `name` field of a Cloud Pub/Sub
213
+ # [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#
214
+ # Topic).
215
+ # Corresponds to the JSON property `topicName`
216
+ # @return [String]
217
+ attr_accessor :topic_name
218
+
219
+ def initialize(**args)
220
+ update!(**args)
221
+ end
222
+
223
+ # Update properties of this object
224
+ def update!(**args)
225
+ @topic_name = args[:topic_name] if args.key?(:topic_name)
226
+ end
227
+ end
228
+
107
229
  # A Course in Classroom.
108
230
  class Course
109
231
  include Google::Apis::Core::Hashable
@@ -375,6 +497,25 @@ module Google
375
497
  end
376
498
  end
377
499
 
500
+ # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
501
+ class CourseRosterChangesInfo
502
+ include Google::Apis::Core::Hashable
503
+
504
+ # The `course_id` of the course to subscribe to roster changes for.
505
+ # Corresponds to the JSON property `courseId`
506
+ # @return [String]
507
+ attr_accessor :course_id
508
+
509
+ def initialize(**args)
510
+ update!(**args)
511
+ end
512
+
513
+ # Update properties of this object
514
+ def update!(**args)
515
+ @course_id = args[:course_id] if args.key?(:course_id)
516
+ end
517
+ end
518
+
378
519
  # Course work created by a teacher for students of the course.
379
520
  class CourseWork
380
521
  include Google::Apis::Core::Hashable
@@ -386,6 +527,12 @@ module Google
386
527
  # @return [String]
387
528
  attr_accessor :alternate_link
388
529
 
530
+ # Assignee mode of the coursework.
531
+ # If unspecified, the default value is `ALL_STUDENTS`.
532
+ # Corresponds to the JSON property `assigneeMode`
533
+ # @return [String]
534
+ attr_accessor :assignee_mode
535
+
389
536
  # Additional details for assignments.
390
537
  # Corresponds to the JSON property `assignment`
391
538
  # @return [Google::Apis::ClassroomV1::Assignment]
@@ -413,6 +560,12 @@ module Google
413
560
  # @return [String]
414
561
  attr_accessor :creation_time
415
562
 
563
+ # Identifier for the user that created the coursework.
564
+ # Read-only.
565
+ # Corresponds to the JSON property `creatorUserId`
566
+ # @return [String]
567
+ attr_accessor :creator_user_id
568
+
416
569
  # Optional description of this course work.
417
570
  # If set, the description must be a valid UTF-8 string containing no more
418
571
  # than 30,000 characters.
@@ -444,6 +597,12 @@ module Google
444
597
  # @return [String]
445
598
  attr_accessor :id
446
599
 
600
+ # Assignee details about a coursework/announcement.
601
+ # This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.
602
+ # Corresponds to the JSON property `individualStudentsOptions`
603
+ # @return [Google::Apis::ClassroomV1::IndividualStudentsOptions]
604
+ attr_accessor :individual_students_options
605
+
447
606
  # Additional materials.
448
607
  # CourseWork must have no more than 20 material items.
449
608
  # Corresponds to the JSON property `materials`
@@ -505,14 +664,17 @@ module Google
505
664
  # Update properties of this object
506
665
  def update!(**args)
507
666
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
667
+ @assignee_mode = args[:assignee_mode] if args.key?(:assignee_mode)
508
668
  @assignment = args[:assignment] if args.key?(:assignment)
509
669
  @associated_with_developer = args[:associated_with_developer] if args.key?(:associated_with_developer)
510
670
  @course_id = args[:course_id] if args.key?(:course_id)
511
671
  @creation_time = args[:creation_time] if args.key?(:creation_time)
672
+ @creator_user_id = args[:creator_user_id] if args.key?(:creator_user_id)
512
673
  @description = args[:description] if args.key?(:description)
513
674
  @due_date = args[:due_date] if args.key?(:due_date)
514
675
  @due_time = args[:due_time] if args.key?(:due_time)
515
676
  @id = args[:id] if args.key?(:id)
677
+ @individual_students_options = args[:individual_students_options] if args.key?(:individual_students_options)
516
678
  @materials = args[:materials] if args.key?(:materials)
517
679
  @max_points = args[:max_points] if args.key?(:max_points)
518
680
  @multiple_choice_question = args[:multiple_choice_question] if args.key?(:multiple_choice_question)
@@ -656,6 +818,32 @@ module Google
656
818
  end
657
819
  end
658
820
 
821
+ # A class of notifications that an application can register to receive.
822
+ # For example: "all roster changes for a domain".
823
+ class Feed
824
+ include Google::Apis::Core::Hashable
825
+
826
+ # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
827
+ # Corresponds to the JSON property `courseRosterChangesInfo`
828
+ # @return [Google::Apis::ClassroomV1::CourseRosterChangesInfo]
829
+ attr_accessor :course_roster_changes_info
830
+
831
+ # The type of feed.
832
+ # Corresponds to the JSON property `feedType`
833
+ # @return [String]
834
+ attr_accessor :feed_type
835
+
836
+ def initialize(**args)
837
+ update!(**args)
838
+ end
839
+
840
+ # Update properties of this object
841
+ def update!(**args)
842
+ @course_roster_changes_info = args[:course_roster_changes_info] if args.key?(:course_roster_changes_info)
843
+ @feed_type = args[:feed_type] if args.key?(:feed_type)
844
+ end
845
+ end
846
+
659
847
  # Google Forms item.
660
848
  class Form
661
849
  include Google::Apis::Core::Hashable
@@ -847,6 +1035,27 @@ module Google
847
1035
  end
848
1036
  end
849
1037
 
1038
+ # Assignee details about a coursework/announcement.
1039
+ # This field is set if and only if `assigneeMode` is `INDIVIDUAL_STUDENTS`.
1040
+ class IndividualStudentsOptions
1041
+ include Google::Apis::Core::Hashable
1042
+
1043
+ # Identifiers for the students that have access to the
1044
+ # coursework/announcement.
1045
+ # Corresponds to the JSON property `studentIds`
1046
+ # @return [Array<String>]
1047
+ attr_accessor :student_ids
1048
+
1049
+ def initialize(**args)
1050
+ update!(**args)
1051
+ end
1052
+
1053
+ # Update properties of this object
1054
+ def update!(**args)
1055
+ @student_ids = args[:student_ids] if args.key?(:student_ids)
1056
+ end
1057
+ end
1058
+
850
1059
  # An invitation to join a course.
851
1060
  class Invitation
852
1061
  include Google::Apis::Core::Hashable
@@ -925,6 +1134,32 @@ module Google
925
1134
  end
926
1135
  end
927
1136
 
1137
+ # Response when listing course work.
1138
+ class ListAnnouncementsResponse
1139
+ include Google::Apis::Core::Hashable
1140
+
1141
+ # Announcement items that match the request.
1142
+ # Corresponds to the JSON property `announcements`
1143
+ # @return [Array<Google::Apis::ClassroomV1::Announcement>]
1144
+ attr_accessor :announcements
1145
+
1146
+ # Token identifying the next page of results to return. If empty, no further
1147
+ # results are available.
1148
+ # Corresponds to the JSON property `nextPageToken`
1149
+ # @return [String]
1150
+ attr_accessor :next_page_token
1151
+
1152
+ def initialize(**args)
1153
+ update!(**args)
1154
+ end
1155
+
1156
+ # Update properties of this object
1157
+ def update!(**args)
1158
+ @announcements = args[:announcements] if args.key?(:announcements)
1159
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1160
+ end
1161
+ end
1162
+
928
1163
  # Response when listing course aliases.
929
1164
  class ListCourseAliasesResponse
930
1165
  include Google::Apis::Core::Hashable
@@ -1198,6 +1433,33 @@ module Google
1198
1433
  end
1199
1434
  end
1200
1435
 
1436
+ # Request to modify assignee mode and options of an announcement.
1437
+ class ModifyAnnouncementAssigneesRequest
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ # Mode of the announcement describing whether it will be accessible by all
1441
+ # students or specified individual students.
1442
+ # Corresponds to the JSON property `assigneeMode`
1443
+ # @return [String]
1444
+ attr_accessor :assignee_mode
1445
+
1446
+ # Contains fields to add or remove students from a course work or announcement
1447
+ # where the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`.
1448
+ # Corresponds to the JSON property `modifyIndividualStudentsOptions`
1449
+ # @return [Google::Apis::ClassroomV1::ModifyIndividualStudentsOptions]
1450
+ attr_accessor :modify_individual_students_options
1451
+
1452
+ def initialize(**args)
1453
+ update!(**args)
1454
+ end
1455
+
1456
+ # Update properties of this object
1457
+ def update!(**args)
1458
+ @assignee_mode = args[:assignee_mode] if args.key?(:assignee_mode)
1459
+ @modify_individual_students_options = args[:modify_individual_students_options] if args.key?(:modify_individual_students_options)
1460
+ end
1461
+ end
1462
+
1201
1463
  # Request to modify the attachments of a student submission.
1202
1464
  class ModifyAttachmentsRequest
1203
1465
  include Google::Apis::Core::Hashable
@@ -1219,6 +1481,61 @@ module Google
1219
1481
  end
1220
1482
  end
1221
1483
 
1484
+ # Request to modify assignee mode and options of a coursework.
1485
+ class ModifyCourseWorkAssigneesRequest
1486
+ include Google::Apis::Core::Hashable
1487
+
1488
+ # Mode of the coursework describing whether it will be assigned to all
1489
+ # students or specified individual students.
1490
+ # Corresponds to the JSON property `assigneeMode`
1491
+ # @return [String]
1492
+ attr_accessor :assignee_mode
1493
+
1494
+ # Contains fields to add or remove students from a course work or announcement
1495
+ # where the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`.
1496
+ # Corresponds to the JSON property `modifyIndividualStudentsOptions`
1497
+ # @return [Google::Apis::ClassroomV1::ModifyIndividualStudentsOptions]
1498
+ attr_accessor :modify_individual_students_options
1499
+
1500
+ def initialize(**args)
1501
+ update!(**args)
1502
+ end
1503
+
1504
+ # Update properties of this object
1505
+ def update!(**args)
1506
+ @assignee_mode = args[:assignee_mode] if args.key?(:assignee_mode)
1507
+ @modify_individual_students_options = args[:modify_individual_students_options] if args.key?(:modify_individual_students_options)
1508
+ end
1509
+ end
1510
+
1511
+ # Contains fields to add or remove students from a course work or announcement
1512
+ # where the `assigneeMode` is set to `INDIVIDUAL_STUDENTS`.
1513
+ class ModifyIndividualStudentsOptions
1514
+ include Google::Apis::Core::Hashable
1515
+
1516
+ # Ids of students to be added as having access to this
1517
+ # coursework/announcement.
1518
+ # Corresponds to the JSON property `addStudentIds`
1519
+ # @return [Array<String>]
1520
+ attr_accessor :add_student_ids
1521
+
1522
+ # Ids of students to be removed from having access to this
1523
+ # coursework/announcement.
1524
+ # Corresponds to the JSON property `removeStudentIds`
1525
+ # @return [Array<String>]
1526
+ attr_accessor :remove_student_ids
1527
+
1528
+ def initialize(**args)
1529
+ update!(**args)
1530
+ end
1531
+
1532
+ # Update properties of this object
1533
+ def update!(**args)
1534
+ @add_student_ids = args[:add_student_ids] if args.key?(:add_student_ids)
1535
+ @remove_student_ids = args[:remove_student_ids] if args.key?(:remove_student_ids)
1536
+ end
1537
+ end
1538
+
1222
1539
  # Additional details for multiple-choice questions.
1223
1540
  class MultipleChoiceQuestion
1224
1541
  include Google::Apis::Core::Hashable
@@ -1305,6 +1622,50 @@ module Google
1305
1622
  end
1306
1623
  end
1307
1624
 
1625
+ # An instruction to Classroom to send notifications from the `feed` to the
1626
+ # provided `destination`.
1627
+ class Registration
1628
+ include Google::Apis::Core::Hashable
1629
+
1630
+ # A reference to a Cloud Pub/Sub topic.
1631
+ # To register for notifications, the owner of the topic must grant
1632
+ # `classroom-notifications@system.gserviceaccount.com` the
1633
+ # `projects.topics.publish` permission.
1634
+ # Corresponds to the JSON property `cloudPubsubTopic`
1635
+ # @return [Google::Apis::ClassroomV1::CloudPubsubTopic]
1636
+ attr_accessor :cloud_pubsub_topic
1637
+
1638
+ # The time until which the `Registration` is effective.
1639
+ # This is a read-only field assigned by the server.
1640
+ # Corresponds to the JSON property `expiryTime`
1641
+ # @return [String]
1642
+ attr_accessor :expiry_time
1643
+
1644
+ # A class of notifications that an application can register to receive.
1645
+ # For example: "all roster changes for a domain".
1646
+ # Corresponds to the JSON property `feed`
1647
+ # @return [Google::Apis::ClassroomV1::Feed]
1648
+ attr_accessor :feed
1649
+
1650
+ # A server-generated unique identifier for this `Registration`.
1651
+ # Read-only.
1652
+ # Corresponds to the JSON property `registrationId`
1653
+ # @return [String]
1654
+ attr_accessor :registration_id
1655
+
1656
+ def initialize(**args)
1657
+ update!(**args)
1658
+ end
1659
+
1660
+ # Update properties of this object
1661
+ def update!(**args)
1662
+ @cloud_pubsub_topic = args[:cloud_pubsub_topic] if args.key?(:cloud_pubsub_topic)
1663
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
1664
+ @feed = args[:feed] if args.key?(:feed)
1665
+ @registration_id = args[:registration_id] if args.key?(:registration_id)
1666
+ end
1667
+ end
1668
+
1308
1669
  # Request to return a student submission.
1309
1670
  class ReturnStudentSubmissionRequest
1310
1671
  include Google::Apis::Core::Hashable