google-api-client 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/api_names.yaml +37747 -36512
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1016 -114
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +426 -22
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +481 -95
  9. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +27 -10
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  12. data/generated/google/apis/admin_reports_v1.rb +2 -2
  13. data/generated/google/apis/adsense_v1_4.rb +1 -1
  14. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  15. data/generated/google/apis/analytics_v3.rb +1 -1
  16. data/generated/google/apis/analyticsreporting_v4.rb +4 -4
  17. data/generated/google/apis/analyticsreporting_v4/classes.rb +428 -428
  18. data/generated/google/apis/analyticsreporting_v4/representations.rb +108 -108
  19. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  20. data/generated/google/apis/androidenterprise_v1/classes.rb +60 -66
  21. data/generated/google/apis/androidenterprise_v1/service.rb +12 -11
  22. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +7 -0
  24. data/generated/google/apis/androidpublisher_v2/representations.rb +1 -0
  25. data/generated/google/apis/androidpublisher_v2/service.rb +1 -1
  26. data/generated/google/apis/appsactivity_v1.rb +3 -3
  27. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  28. data/generated/google/apis/appstate_v1.rb +1 -1
  29. data/generated/google/apis/bigquery_v2.rb +1 -1
  30. data/generated/google/apis/bigquery_v2/classes.rb +34 -8
  31. data/generated/google/apis/bigquery_v2/representations.rb +15 -0
  32. data/generated/google/apis/calendar_v3.rb +1 -1
  33. data/generated/google/apis/calendar_v3/classes.rb +3 -5
  34. data/generated/google/apis/classroom_v1.rb +25 -22
  35. data/generated/google/apis/classroom_v1/classes.rb +910 -1001
  36. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  37. data/generated/google/apis/classroom_v1/service.rb +1064 -1272
  38. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  39. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  40. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  41. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  42. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  43. data/generated/google/apis/cloudbuild_v1/classes.rb +238 -238
  44. data/generated/google/apis/cloudbuild_v1/representations.rb +48 -48
  45. data/generated/google/apis/cloudbuild_v1/service.rb +176 -176
  46. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  47. data/generated/google/apis/clouddebugger_v2/classes.rb +315 -315
  48. data/generated/google/apis/clouddebugger_v2/representations.rb +90 -90
  49. data/generated/google/apis/clouddebugger_v2/service.rb +152 -152
  50. data/generated/google/apis/cloudkms_v1.rb +35 -0
  51. data/generated/google/apis/cloudkms_v1/classes.rb +1039 -0
  52. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  53. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  54. data/generated/google/apis/cloudkms_v1beta1.rb +1 -1
  55. data/generated/google/apis/cloudkms_v1beta1/classes.rb +645 -605
  56. data/generated/google/apis/cloudkms_v1beta1/representations.rb +136 -136
  57. data/generated/google/apis/cloudkms_v1beta1/service.rb +258 -264
  58. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  59. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +677 -456
  61. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +154 -89
  62. data/generated/google/apis/cloudresourcemanager_v1/service.rb +380 -279
  63. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  64. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +247 -114
  65. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +72 -40
  66. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +202 -208
  67. data/generated/google/apis/cloudtrace_v1.rb +4 -4
  68. data/generated/google/apis/cloudtrace_v1/classes.rb +39 -39
  69. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  70. data/generated/google/apis/cloudtrace_v1/service.rb +18 -18
  71. data/generated/google/apis/compute_beta.rb +1 -1
  72. data/generated/google/apis/compute_beta/classes.rb +813 -82
  73. data/generated/google/apis/compute_beta/representations.rb +305 -0
  74. data/generated/google/apis/compute_beta/service.rb +971 -180
  75. data/generated/google/apis/compute_v1.rb +1 -1
  76. data/generated/google/apis/compute_v1/classes.rb +147 -21
  77. data/generated/google/apis/compute_v1/representations.rb +38 -0
  78. data/generated/google/apis/compute_v1/service.rb +347 -65
  79. data/generated/google/apis/content_v2.rb +1 -1
  80. data/generated/google/apis/content_v2/classes.rb +2 -1
  81. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  82. data/generated/google/apis/dataflow_v1b3/classes.rb +3352 -3110
  83. data/generated/google/apis/dataflow_v1b3/representations.rb +812 -730
  84. data/generated/google/apis/dataflow_v1b3/service.rb +264 -183
  85. data/generated/google/apis/dataproc_v1.rb +1 -1
  86. data/generated/google/apis/dataproc_v1/classes.rb +1200 -1164
  87. data/generated/google/apis/dataproc_v1/representations.rb +220 -204
  88. data/generated/google/apis/dataproc_v1/service.rb +299 -299
  89. data/generated/google/apis/datastore_v1.rb +4 -4
  90. data/generated/google/apis/datastore_v1/classes.rb +688 -688
  91. data/generated/google/apis/datastore_v1/representations.rb +167 -167
  92. data/generated/google/apis/datastore_v1/service.rb +68 -68
  93. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  94. data/generated/google/apis/deploymentmanager_v2/classes.rb +13 -3
  95. data/generated/google/apis/dns_v1.rb +1 -1
  96. data/generated/google/apis/dns_v2beta1.rb +1 -1
  97. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  98. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  99. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  100. data/generated/google/apis/drive_v2.rb +1 -1
  101. data/generated/google/apis/drive_v2/classes.rb +487 -15
  102. data/generated/google/apis/drive_v2/representations.rb +120 -0
  103. data/generated/google/apis/drive_v2/service.rb +355 -38
  104. data/generated/google/apis/drive_v3.rb +1 -1
  105. data/generated/google/apis/drive_v3/classes.rb +416 -14
  106. data/generated/google/apis/drive_v3/representations.rb +99 -0
  107. data/generated/google/apis/drive_v3/service.rb +315 -28
  108. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  109. data/generated/google/apis/games_management_v1management.rb +1 -1
  110. data/generated/google/apis/games_v1.rb +1 -1
  111. data/generated/google/apis/genomics_v1.rb +7 -7
  112. data/generated/google/apis/genomics_v1/classes.rb +2301 -2301
  113. data/generated/google/apis/genomics_v1/representations.rb +239 -239
  114. data/generated/google/apis/genomics_v1/service.rb +599 -599
  115. data/generated/google/apis/gmail_v1.rb +2 -2
  116. data/generated/google/apis/gmail_v1/service.rb +18 -1
  117. data/generated/google/apis/groupssettings_v1.rb +1 -1
  118. data/generated/google/apis/iam_v1.rb +1 -1
  119. data/generated/google/apis/iam_v1/classes.rb +440 -440
  120. data/generated/google/apis/iam_v1/representations.rb +96 -96
  121. data/generated/google/apis/iam_v1/service.rb +150 -150
  122. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  123. data/generated/google/apis/language_v1beta1.rb +1 -1
  124. data/generated/google/apis/language_v1beta1/classes.rb +235 -235
  125. data/generated/google/apis/language_v1beta1/representations.rb +73 -73
  126. data/generated/google/apis/language_v1beta1/service.rb +49 -49
  127. data/generated/google/apis/licensing_v1.rb +1 -1
  128. data/generated/google/apis/logging_v2beta1.rb +1 -1
  129. data/generated/google/apis/logging_v2beta1/classes.rb +888 -879
  130. data/generated/google/apis/logging_v2beta1/representations.rb +129 -129
  131. data/generated/google/apis/logging_v2beta1/service.rb +315 -316
  132. data/generated/google/apis/manufacturers_v1/classes.rb +139 -139
  133. data/generated/google/apis/manufacturers_v1/representations.rb +30 -30
  134. data/generated/google/apis/manufacturers_v1/service.rb +32 -32
  135. data/generated/google/apis/monitoring_v3.rb +4 -4
  136. data/generated/google/apis/monitoring_v3/classes.rb +229 -229
  137. data/generated/google/apis/monitoring_v3/representations.rb +45 -45
  138. data/generated/google/apis/monitoring_v3/service.rb +141 -141
  139. data/generated/google/apis/partners_v2.rb +3 -3
  140. data/generated/google/apis/partners_v2/classes.rb +1837 -483
  141. data/generated/google/apis/partners_v2/representations.rb +614 -157
  142. data/generated/google/apis/partners_v2/service.rb +881 -150
  143. data/generated/google/apis/people_v1.rb +1 -1
  144. data/generated/google/apis/people_v1/classes.rb +517 -465
  145. data/generated/google/apis/people_v1/representations.rb +138 -107
  146. data/generated/google/apis/people_v1/service.rb +56 -49
  147. data/generated/google/apis/plus_domains_v1.rb +1 -1
  148. data/generated/google/apis/plus_v1.rb +1 -1
  149. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  150. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +529 -458
  151. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +98 -97
  152. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +494 -370
  153. data/generated/google/apis/pubsub_v1.rb +4 -4
  154. data/generated/google/apis/pubsub_v1/classes.rb +203 -203
  155. data/generated/google/apis/pubsub_v1/representations.rb +65 -65
  156. data/generated/google/apis/pubsub_v1/service.rb +226 -217
  157. data/generated/google/apis/reseller_v1.rb +1 -1
  158. data/generated/google/apis/reseller_v1/classes.rb +213 -61
  159. data/generated/google/apis/reseller_v1/representations.rb +27 -0
  160. data/generated/google/apis/reseller_v1/service.rb +240 -47
  161. data/generated/google/apis/script_v1.rb +14 -14
  162. data/generated/google/apis/script_v1/classes.rb +95 -95
  163. data/generated/google/apis/script_v1/representations.rb +25 -25
  164. data/generated/google/apis/sheets_v4.rb +1 -1
  165. data/generated/google/apis/sheets_v4/classes.rb +4346 -4300
  166. data/generated/google/apis/sheets_v4/representations.rb +853 -837
  167. data/generated/google/apis/sheets_v4/service.rb +32 -32
  168. data/generated/google/apis/slides_v1.rb +1 -1
  169. data/generated/google/apis/slides_v1/classes.rb +804 -748
  170. data/generated/google/apis/slides_v1/representations.rb +204 -187
  171. data/generated/google/apis/slides_v1/service.rb +16 -16
  172. data/generated/google/apis/speech_v1beta1.rb +1 -1
  173. data/generated/google/apis/speech_v1beta1/classes.rb +57 -57
  174. data/generated/google/apis/speech_v1beta1/representations.rb +19 -19
  175. data/generated/google/apis/speech_v1beta1/service.rb +66 -66
  176. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  177. data/generated/google/apis/sqladmin_v1beta4/classes.rb +32 -7
  178. data/generated/google/apis/sqladmin_v1beta4/representations.rb +16 -0
  179. data/generated/google/apis/sqladmin_v1beta4/service.rb +9 -2
  180. data/generated/google/apis/storage_v1.rb +1 -1
  181. data/generated/google/apis/storage_v1/service.rb +10 -7
  182. data/generated/google/apis/vision_v1.rb +1 -1
  183. data/generated/google/apis/vision_v1/classes.rb +1393 -865
  184. data/generated/google/apis/vision_v1/representations.rb +367 -102
  185. data/generated/google/apis/vision_v1/service.rb +4 -4
  186. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  187. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  188. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  189. data/generated/google/apis/youtubereporting_v1/classes.rb +93 -93
  190. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  191. data/generated/google/apis/youtubereporting_v1/service.rb +108 -108
  192. data/lib/google/apis/version.rb +1 -1
  193. metadata +34 -30
@@ -341,9 +341,9 @@ module Google
341
341
  execute_or_queue_command(command, &block)
342
342
  end
343
343
 
344
- # Deletes the binding between the EMM and enterprise. This is now deprecated;
345
- # use this to unenroll customers that were previously enrolled with the 'insert'
346
- # call, then enroll them again with the 'enroll' call.
344
+ # Deletes the binding between the EMM and enterprise. This is now deprecated.
345
+ # Use this method only to unenroll customers that were previously enrolled with
346
+ # the insert call, then enroll them again with the enroll call.
347
347
  # @param [String] enterprise_id
348
348
  # The ID of the enterprise.
349
349
  # @param [String] fields
@@ -656,8 +656,8 @@ module Google
656
656
  # service account authenticated for the request. The notification set may be
657
657
  # empty if no notification are pending.
658
658
  # A notification set returned needs to be acknowledged within 20 seconds by
659
- # calling Enterprises​.AcknowledgeNotificationSet, unless the notification set
660
- # is empty.
659
+ # calling Enterprises.AcknowledgeNotificationSet, unless the notification set is
660
+ # empty.
661
661
  # Notifications that are not acknowledged within the 20 seconds will eventually
662
662
  # be included again in the response to another PullNotificationSet request, and
663
663
  # those that are never acknowledged will ultimately be deleted according to the
@@ -743,7 +743,8 @@ module Google
743
743
  execute_or_queue_command(command, &block)
744
744
  end
745
745
 
746
- # Set the account that will be used to authenticate to the API as the enterprise.
746
+ # Sets the account that will be used to authenticate to the API as the
747
+ # enterprise.
747
748
  # @param [String] enterprise_id
748
749
  # The ID of the enterprise.
749
750
  # @param [Google::Apis::AndroidenterpriseV1::EnterpriseAccount] enterprise_account_object
@@ -858,7 +859,7 @@ module Google
858
859
  execute_or_queue_command(command, &block)
859
860
  end
860
861
 
861
- # Removes an entitlement to an app for a user and uninstalls it.
862
+ # Removes an entitlement to an app for a user.
862
863
  # @param [String] enterprise_id
863
864
  # The ID of the enterprise.
864
865
  # @param [String] user_id
@@ -938,7 +939,7 @@ module Google
938
939
  execute_or_queue_command(command, &block)
939
940
  end
940
941
 
941
- # List of all entitlements for the specified user. Only the ID is set.
942
+ # Lists all entitlements for the specified user. Only the ID is set.
942
943
  # @param [String] enterprise_id
943
944
  # The ID of the enterprise.
944
945
  # @param [String] user_id
@@ -1322,7 +1323,7 @@ module Google
1322
1323
  end
1323
1324
 
1324
1325
  # Requests to install the latest version of an app to a device. If the app is
1325
- # already installed then it is updated to the latest version if necessary. This
1326
+ # already installed, then it is updated to the latest version if necessary. This
1326
1327
  # method supports patch semantics.
1327
1328
  # @param [String] enterprise_id
1328
1329
  # The ID of the enterprise.
@@ -1372,7 +1373,7 @@ module Google
1372
1373
  end
1373
1374
 
1374
1375
  # Requests to install the latest version of an app to a device. If the app is
1375
- # already installed then it is updated to the latest version if necessary.
1376
+ # already installed, then it is updated to the latest version if necessary.
1376
1377
  # @param [String] enterprise_id
1377
1378
  # The ID of the enterprise.
1378
1379
  # @param [String] user_id
@@ -2138,7 +2139,7 @@ module Google
2138
2139
  # approved apps will be returned (using the pagination parameters), including
2139
2140
  # apps that are not available in the store (e.g. unpublished apps).
2140
2141
  # @param [String] token
2141
- # A pagination token is contained in a request’s response when there are more
2142
+ # A pagination token is contained in a request''s response when there are more
2142
2143
  # products. The token can be used in a subsequent request to obtain more
2143
2144
  # products, and so forth. This parameter cannot be used in the initial request.
2144
2145
  # @param [String] fields
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/android-publisher
26
26
  module AndroidpublisherV2
27
27
  VERSION = 'V2'
28
- REVISION = '20170105'
28
+ REVISION = '20170222'
29
29
 
30
30
  # View and manage your Google Play Developer account
31
31
  AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher'
@@ -1583,6 +1583,12 @@ module Google
1583
1583
  # @return [String]
1584
1584
  attr_accessor :start_time_millis
1585
1585
 
1586
+ # The time at which the subscription was canceled by the user, in milliseconds
1587
+ # since the epoch. Only present if cancelReason is 0.
1588
+ # Corresponds to the JSON property `userCancellationTimeMillis`
1589
+ # @return [String]
1590
+ attr_accessor :user_cancellation_time_millis
1591
+
1586
1592
  def initialize(**args)
1587
1593
  update!(**args)
1588
1594
  end
@@ -1599,6 +1605,7 @@ module Google
1599
1605
  @price_amount_micros = args[:price_amount_micros] if args.key?(:price_amount_micros)
1600
1606
  @price_currency_code = args[:price_currency_code] if args.key?(:price_currency_code)
1601
1607
  @start_time_millis = args[:start_time_millis] if args.key?(:start_time_millis)
1608
+ @user_cancellation_time_millis = args[:user_cancellation_time_millis] if args.key?(:user_cancellation_time_millis)
1602
1609
  end
1603
1610
  end
1604
1611
 
@@ -869,6 +869,7 @@ module Google
869
869
  property :price_amount_micros, as: 'priceAmountMicros'
870
870
  property :price_currency_code, as: 'priceCurrencyCode'
871
871
  property :start_time_millis, as: 'startTimeMillis'
872
+ property :user_cancellation_time_millis, as: 'userCancellationTimeMillis'
872
873
  end
873
874
  end
874
875
 
@@ -2474,7 +2474,7 @@ module Google
2474
2474
  execute_or_queue_command(command, &block)
2475
2475
  end
2476
2476
 
2477
- # Returns a list of reviews.
2477
+ # Returns a list of reviews. Only reviews from last week will be returned.
2478
2478
  # @param [String] package_name
2479
2479
  # Unique identifier for the Android app for which we want reviews; for example, "
2480
2480
  # com.spiffygame".
@@ -18,16 +18,16 @@ require 'google/apis/appsactivity_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Google Apps Activity API
21
+ # G Suite Activity API
22
22
  #
23
23
  # Provides a historical view of activity.
24
24
  #
25
25
  # @see https://developers.google.com/google-apps/activity/
26
26
  module AppsactivityV1
27
27
  VERSION = 'V1'
28
- REVISION = '20161202'
28
+ REVISION = '20170215'
29
29
 
30
- # View the activity history of your Google Apps
30
+ # View the activity history of your Google apps
31
31
  AUTH_ACTIVITY = 'https://www.googleapis.com/auth/activity'
32
32
 
33
33
  # View and manage the files in your Google Drive
@@ -20,7 +20,7 @@ require 'google/apis/errors'
20
20
  module Google
21
21
  module Apis
22
22
  module AppsactivityV1
23
- # Google Apps Activity API
23
+ # G Suite Activity API
24
24
  #
25
25
  # Provides a historical view of activity.
26
26
  #
@@ -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 = '20170201'
28
+ REVISION = '20170302'
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://cloud.google.com/bigquery/
26
26
  module BigqueryV2
27
27
  VERSION = 'V2'
28
- REVISION = '20170114'
28
+ REVISION = '20170224'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -1069,10 +1069,10 @@ module Google
1069
1069
 
1070
1070
  # [Experimental] The labels associated with this job. You can use these to
1071
1071
  # organize and group your jobs. Label keys and values can be no longer than 63
1072
- # characters, can only contain letters, numeric characters, underscores and
1073
- # dashes. International characters are allowed. Label values are optional. Label
1074
- # keys must start with a letter and must be unique within a dataset. Both keys
1075
- # and values are additionally constrained to be <= 128 bytes in size.
1072
+ # characters, can only contain lowercase letters, numeric characters,
1073
+ # underscores and dashes. International characters are allowed. Label values are
1074
+ # optional. Label keys must start with a letter and each label in the list must
1075
+ # have a different key.
1076
1076
  # Corresponds to the JSON property `labels`
1077
1077
  # @return [Hash<String,String>]
1078
1078
  attr_accessor :labels
@@ -2472,10 +2472,10 @@ module Google
2472
2472
 
2473
2473
  # [Experimental] The labels associated with this table. You can use these to
2474
2474
  # organize and group your tables. Label keys and values can be no longer than 63
2475
- # characters, can only contain letters, numeric characters, underscores and
2476
- # dashes. International characters are allowed. Label values are optional. Label
2477
- # keys must start with a letter and must be unique within a dataset. Both keys
2478
- # and values are additionally constrained to be <= 128 bytes in size.
2475
+ # characters, can only contain lowercase letters, numeric characters,
2476
+ # underscores and dashes. International characters are allowed. Label values are
2477
+ # optional. Label keys must start with a letter and each label in the list must
2478
+ # have a different key.
2479
2479
  # Corresponds to the JSON property `labels`
2480
2480
  # @return [Hash<String,String>]
2481
2481
  attr_accessor :labels
@@ -2901,6 +2901,11 @@ module Google
2901
2901
  # @return [String]
2902
2902
  attr_accessor :type
2903
2903
 
2904
+ # Additional details for a view.
2905
+ # Corresponds to the JSON property `view`
2906
+ # @return [Google::Apis::BigqueryV2::TableList::Table::View]
2907
+ attr_accessor :view
2908
+
2904
2909
  def initialize(**args)
2905
2910
  update!(**args)
2906
2911
  end
@@ -2913,6 +2918,27 @@ module Google
2913
2918
  @labels = args[:labels] if args.key?(:labels)
2914
2919
  @table_reference = args[:table_reference] if args.key?(:table_reference)
2915
2920
  @type = args[:type] if args.key?(:type)
2921
+ @view = args[:view] if args.key?(:view)
2922
+ end
2923
+
2924
+ # Additional details for a view.
2925
+ class View
2926
+ include Google::Apis::Core::Hashable
2927
+
2928
+ # True if view is defined in legacy SQL dialect, false if in standard SQL.
2929
+ # Corresponds to the JSON property `useLegacySql`
2930
+ # @return [Boolean]
2931
+ attr_accessor :use_legacy_sql
2932
+ alias_method :use_legacy_sql?, :use_legacy_sql
2933
+
2934
+ def initialize(**args)
2935
+ update!(**args)
2936
+ end
2937
+
2938
+ # Update properties of this object
2939
+ def update!(**args)
2940
+ @use_legacy_sql = args[:use_legacy_sql] if args.key?(:use_legacy_sql)
2941
+ end
2916
2942
  end
2917
2943
  end
2918
2944
  end
@@ -315,6 +315,12 @@ module Google
315
315
 
316
316
  class Table
317
317
  class Representation < Google::Apis::Core::JsonRepresentation; end
318
+
319
+ class View
320
+ class Representation < Google::Apis::Core::JsonRepresentation; end
321
+
322
+ include Google::Apis::Core::JsonObjectSupport
323
+ end
318
324
 
319
325
  include Google::Apis::Core::JsonObjectSupport
320
326
  end
@@ -1035,6 +1041,15 @@ module Google
1035
1041
  property :table_reference, as: 'tableReference', class: Google::Apis::BigqueryV2::TableReference, decorator: Google::Apis::BigqueryV2::TableReference::Representation
1036
1042
 
1037
1043
  property :type, as: 'type'
1044
+ property :view, as: 'view', class: Google::Apis::BigqueryV2::TableList::Table::View, decorator: Google::Apis::BigqueryV2::TableList::Table::View::Representation
1045
+
1046
+ end
1047
+
1048
+ class View
1049
+ # @private
1050
+ class Representation < Google::Apis::Core::JsonRepresentation
1051
+ property :use_legacy_sql, as: 'useLegacySql'
1052
+ end
1038
1053
  end
1039
1054
  end
1040
1055
  end
@@ -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 = '20170207'
28
+ REVISION = '20170221'
29
29
 
30
30
  # Manage your calendars
31
31
  AUTH_CALENDAR = 'https://www.googleapis.com/auth/calendar'
@@ -427,8 +427,7 @@ module Google
427
427
  # The method used to deliver the notification. Possible values are:
428
428
  # - "email" - Reminders are sent via email.
429
429
  # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored
430
- # on inserts and updates. SMS reminders are only available for Google Apps for
431
- # Work, Education, and Government customers.
430
+ # on inserts and updates. SMS reminders are only available for G Suite customers.
432
431
  # Corresponds to the JSON property `method`
433
432
  # @return [String]
434
433
  attr_accessor :delivery_method
@@ -1346,9 +1345,8 @@ module Google
1346
1345
 
1347
1346
  # The method used by this reminder. Possible values are:
1348
1347
  # - "email" - Reminders are sent via email.
1349
- # - "sms" - Reminders are sent via SMS. These are only available for Google Apps
1350
- # for Work, Education, and Government customers. Requests to set SMS reminders
1351
- # for other account types are ignored.
1348
+ # - "sms" - Reminders are sent via SMS. These are only available for G Suite
1349
+ # customers. Requests to set SMS reminders for other account types are ignored.
1352
1350
  # - "popup" - Reminders are sent via a UI popup.
1353
1351
  # Corresponds to the JSON property `method`
1354
1352
  # @return [String]
@@ -25,43 +25,46 @@ module Google
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170213'
28
+ REVISION = '20170110'
29
29
 
30
- # View your Google Classroom class rosters
31
- AUTH_CLASSROOM_ROSTERS_READONLY = 'https://www.googleapis.com/auth/classroom.rosters.readonly'
32
-
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'
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'
41
32
 
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'
33
+ # Manage your Google Classroom classes
34
+ AUTH_CLASSROOM_COURSES = 'https://www.googleapis.com/auth/classroom.courses'
47
35
 
48
36
  # View your Google Classroom classes
49
37
  AUTH_CLASSROOM_COURSES_READONLY = 'https://www.googleapis.com/auth/classroom.courses.readonly'
50
38
 
51
- # Manage your Google Classroom classes
52
- AUTH_CLASSROOM_COURSES = 'https://www.googleapis.com/auth/classroom.courses'
53
-
54
39
  # Manage your course work and view your grades in Google Classroom
55
40
  AUTH_CLASSROOM_COURSEWORK_ME = 'https://www.googleapis.com/auth/classroom.coursework.me'
56
41
 
42
+ # View your course work and grades in Google Classroom
43
+ AUTH_CLASSROOM_COURSEWORK_ME_READONLY = 'https://www.googleapis.com/auth/classroom.coursework.me.readonly'
44
+
57
45
  # Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer
58
46
  AUTH_CLASSROOM_COURSEWORK_STUDENTS = 'https://www.googleapis.com/auth/classroom.coursework.students'
59
47
 
60
- # View the profile photos of people in your classes
61
- AUTH_CLASSROOM_PROFILE_PHOTOS = 'https://www.googleapis.com/auth/classroom.profile.photos'
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'
62
50
 
63
51
  # View the email addresses of people in your classes
64
52
  AUTH_CLASSROOM_PROFILE_EMAILS = 'https://www.googleapis.com/auth/classroom.profile.emails'
53
+
54
+ # View the profile photos of people in your classes
55
+ AUTH_CLASSROOM_PROFILE_PHOTOS = 'https://www.googleapis.com/auth/classroom.profile.photos'
56
+
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'
65
68
  end
66
69
  end
67
70
  end
@@ -22,187 +22,118 @@ module Google
22
22
  module Apis
23
23
  module ClassroomV1
24
24
 
25
- # Attachment added to student assignment work.
26
- # When creating attachments, setting the `form` field is not supported.
27
- class Attachment
28
- include Google::Apis::Core::Hashable
29
-
30
- # Representation of a Google Drive file.
31
- # Corresponds to the JSON property `driveFile`
32
- # @return [Google::Apis::ClassroomV1::DriveFile]
33
- attr_accessor :drive_file
34
-
35
- # YouTube video item.
36
- # Corresponds to the JSON property `youTubeVideo`
37
- # @return [Google::Apis::ClassroomV1::YouTubeVideo]
38
- attr_accessor :you_tube_video
39
-
40
- # URL item.
41
- # Corresponds to the JSON property `link`
42
- # @return [Google::Apis::ClassroomV1::Link]
43
- attr_accessor :link
44
-
45
- # Google Forms item.
46
- # Corresponds to the JSON property `form`
47
- # @return [Google::Apis::ClassroomV1::Form]
48
- attr_accessor :form
49
-
50
- def initialize(**args)
51
- update!(**args)
52
- end
53
-
54
- # Update properties of this object
55
- def update!(**args)
56
- @drive_file = args[:drive_file] if args.key?(:drive_file)
57
- @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
58
- @link = args[:link] if args.key?(:link)
59
- @form = args[:form] if args.key?(:form)
60
- end
61
- end
62
-
63
- # Response when listing guardian invitations.
64
- class ListGuardianInvitationsResponse
25
+ # A Course in Classroom.
26
+ class Course
65
27
  include Google::Apis::Core::Hashable
66
28
 
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`
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`
70
35
  # @return [String]
71
- attr_accessor :next_page_token
72
-
73
- # Guardian invitations that matched the list request.
74
- # Corresponds to the JSON property `guardianInvitations`
75
- # @return [Array<Google::Apis::ClassroomV1::GuardianInvitation>]
76
- attr_accessor :guardian_invitations
77
-
78
- def initialize(**args)
79
- update!(**args)
80
- end
36
+ attr_accessor :id
81
37
 
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
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
88
43
 
89
- # Course work created by a teacher for students of the course.
90
- class CourseWork
91
- include Google::Apis::Core::Hashable
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`
47
+ # @return [String]
48
+ attr_accessor :section
92
49
 
93
- # Classroom-assigned identifier of this course work, unique per course.
94
- # Read-only.
95
- # Corresponds to the JSON property `id`
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`
96
54
  # @return [String]
97
- attr_accessor :id
55
+ attr_accessor :description_heading
98
56
 
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.
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.
102
61
  # Corresponds to the JSON property `description`
103
62
  # @return [String]
104
63
  attr_accessor :description
105
64
 
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`
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`
109
68
  # @return [String]
110
- attr_accessor :submission_modification_mode
111
-
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
69
+ attr_accessor :room
121
70
 
122
- # Timestamp of the most recent change to this course work.
123
- # Read-only.
124
- # Corresponds to the JSON property `updateTime`
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`
125
78
  # @return [String]
126
- attr_accessor :update_time
79
+ attr_accessor :owner_id
127
80
 
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`
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`
132
84
  # @return [String]
133
- attr_accessor :title
85
+ attr_accessor :creation_time
134
86
 
135
- # Absolute link to this course work in the Classroom web UI.
136
- # This is only populated if `state` is `PUBLISHED`.
137
- # Read-only.
138
- # Corresponds to the JSON property `alternateLink`
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.
89
+ # Corresponds to the JSON property `updateTime`
139
90
  # @return [String]
140
- attr_accessor :alternate_link
91
+ attr_accessor :update_time
141
92
 
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`
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`
145
96
  # @return [String]
146
- attr_accessor :work_type
147
-
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
97
+ attr_accessor :enrollment_code
153
98
 
154
- # Status of this course work.
155
- # If unspecified, the default state is `DRAFT`.
156
- # Corresponds to the JSON property `state`
99
+ # State of the course. If unspecified, the default state is `PROVISIONED`.
100
+ # Corresponds to the JSON property `courseState`
157
101
  # @return [String]
158
- attr_accessor :state
159
-
160
- # Represents a whole calendar date, e.g. date of birth. The time of day and
161
- # time zone are either specified elsewhere or are not significant. The date
162
- # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
163
- # represent a year and month where the day is not significant, e.g. credit card
164
- # expiration date. The year may be 0 to represent a month and day independent
165
- # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
166
- # and `google.protobuf.Timestamp`.
167
- # Corresponds to the JSON property `dueDate`
168
- # @return [Google::Apis::ClassroomV1::Date]
169
- attr_accessor :due_date
102
+ attr_accessor :course_state
170
103
 
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
104
+ # Absolute link to this course in the Classroom web UI. Read-only.
105
+ # Corresponds to the JSON property `alternateLink`
106
+ # @return [String]
107
+ attr_accessor :alternate_link
175
108
 
176
- # Timestamp when this course work was created.
177
- # Read-only.
178
- # Corresponds to the JSON property `creationTime`
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`
179
113
  # @return [String]
180
- attr_accessor :creation_time
114
+ attr_accessor :teacher_group_email
181
115
 
182
- # Identifier of the course.
183
- # Read-only.
184
- # Corresponds to the JSON property `courseId`
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`
185
119
  # @return [String]
186
- attr_accessor :course_id
120
+ attr_accessor :course_group_email
187
121
 
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
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
194
126
 
195
- # Additional details for assignments.
196
- # Corresponds to the JSON property `assignment`
197
- # @return [Google::Apis::ClassroomV1::Assignment]
198
- attr_accessor :assignment
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
199
131
 
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
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
206
137
 
207
138
  def initialize(**args)
208
139
  update!(**args)
@@ -211,85 +142,71 @@ module Google
211
142
  # Update properties of this object
212
143
  def update!(**args)
213
144
  @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)
214
148
  @description = args[:description] if args.key?(:description)
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)
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)
217
152
  @update_time = args[:update_time] if args.key?(:update_time)
218
- @title = args[:title] if args.key?(:title)
153
+ @enrollment_code = args[:enrollment_code] if args.key?(:enrollment_code)
154
+ @course_state = args[:course_state] if args.key?(:course_state)
219
155
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
220
- @work_type = args[:work_type] if args.key?(:work_type)
221
- @materials = args[:materials] if args.key?(:materials)
222
- @state = args[:state] if args.key?(:state)
223
- @due_date = args[:due_date] if args.key?(:due_date)
224
- @multiple_choice_question = args[:multiple_choice_question] if args.key?(:multiple_choice_question)
225
- @creation_time = args[:creation_time] if args.key?(:creation_time)
226
- @course_id = args[:course_id] if args.key?(:course_id)
227
- @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)
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)
230
161
  end
231
162
  end
232
163
 
233
- # Representation of a Google Drive file.
234
- class DriveFile
164
+ # Representation of a Google Drive folder.
165
+ class DriveFolder
235
166
  include Google::Apis::Core::Hashable
236
167
 
237
- # URL of a thumbnail image of the Drive item.
238
- # Read-only.
239
- # Corresponds to the JSON property `thumbnailUrl`
168
+ # Drive API resource ID.
169
+ # Corresponds to the JSON property `id`
240
170
  # @return [String]
241
- attr_accessor :thumbnail_url
171
+ attr_accessor :id
242
172
 
243
- # Title of the Drive item.
244
- # Read-only.
173
+ # Title of the Drive folder. Read-only.
245
174
  # Corresponds to the JSON property `title`
246
175
  # @return [String]
247
176
  attr_accessor :title
248
177
 
249
- # URL that can be used to access the Drive item.
250
- # Read-only.
178
+ # URL that can be used to access the Drive folder. Read-only.
251
179
  # Corresponds to the JSON property `alternateLink`
252
180
  # @return [String]
253
181
  attr_accessor :alternate_link
254
182
 
255
- # Drive API resource ID.
256
- # Corresponds to the JSON property `id`
257
- # @return [String]
258
- attr_accessor :id
259
-
260
183
  def initialize(**args)
261
184
  update!(**args)
262
185
  end
263
186
 
264
187
  # Update properties of this object
265
188
  def update!(**args)
266
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
189
+ @id = args[:id] if args.key?(:id)
267
190
  @title = args[:title] if args.key?(:title)
268
191
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
269
- @id = args[:id] if args.key?(:id)
270
192
  end
271
193
  end
272
194
 
273
- # Representation of a Google Drive folder.
274
- class DriveFolder
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
275
199
  include Google::Apis::Core::Hashable
276
200
 
277
- # Title of the Drive folder.
278
- # Read-only.
201
+ # Title for this set.
279
202
  # Corresponds to the JSON property `title`
280
203
  # @return [String]
281
204
  attr_accessor :title
282
205
 
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
206
+ # Materials attached to this set.
207
+ # Corresponds to the JSON property `materials`
208
+ # @return [Array<Google::Apis::ClassroomV1::CourseMaterial>]
209
+ attr_accessor :materials
293
210
 
294
211
  def initialize(**args)
295
212
  update!(**args)
@@ -298,25 +215,33 @@ module Google
298
215
  # Update properties of this object
299
216
  def update!(**args)
300
217
  @title = args[:title] if args.key?(:title)
301
- @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
302
- @id = args[:id] if args.key?(:id)
218
+ @materials = args[:materials] if args.key?(:materials)
303
219
  end
304
220
  end
305
221
 
306
- # Response when listing course aliases.
307
- class ListCourseAliasesResponse
222
+ # A material attached to a course as part of a material set.
223
+ class CourseMaterial
308
224
  include Google::Apis::Core::Hashable
309
225
 
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
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
315
230
 
316
- # The course aliases.
317
- # Corresponds to the JSON property `aliases`
318
- # @return [Array<Google::Apis::ClassroomV1::CourseAlias>]
319
- attr_accessor :aliases
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
240
+
241
+ # Google Forms item.
242
+ # Corresponds to the JSON property `form`
243
+ # @return [Google::Apis::ClassroomV1::Form]
244
+ attr_accessor :form
320
245
 
321
246
  def initialize(**args)
322
247
  update!(**args)
@@ -324,19 +249,36 @@ module Google
324
249
 
325
250
  # Update properties of this object
326
251
  def update!(**args)
327
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
328
- @aliases = args[:aliases] if args.key?(:aliases)
329
- end
330
- end
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)
256
+ end
257
+ end
331
258
 
332
- # Student work for a short answer question.
333
- class ShortAnswerSubmission
259
+ # Representation of a Google Drive file.
260
+ class DriveFile
334
261
  include Google::Apis::Core::Hashable
335
262
 
336
- # Student response to a short-answer question.
337
- # Corresponds to the JSON property `answer`
263
+ # Drive API resource ID.
264
+ # Corresponds to the JSON property `id`
338
265
  # @return [String]
339
- attr_accessor :answer
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`
280
+ # @return [String]
281
+ attr_accessor :thumbnail_url
340
282
 
341
283
  def initialize(**args)
342
284
  update!(**args)
@@ -344,33 +286,36 @@ module Google
344
286
 
345
287
  # Update properties of this object
346
288
  def update!(**args)
347
- @answer = args[:answer] if args.key?(:answer)
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)
348
293
  end
349
294
  end
350
295
 
351
- # A material attached to a course as part of a material set.
352
- class CourseMaterial
296
+ # YouTube video item.
297
+ class YouTubeVideo
353
298
  include Google::Apis::Core::Hashable
354
299
 
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
300
+ # YouTube API resource ID.
301
+ # Corresponds to the JSON property `id`
302
+ # @return [String]
303
+ attr_accessor :id
359
304
 
360
- # YouTube video item.
361
- # Corresponds to the JSON property `youTubeVideo`
362
- # @return [Google::Apis::ClassroomV1::YouTubeVideo]
363
- attr_accessor :you_tube_video
305
+ # Title of the YouTube video. Read-only.
306
+ # Corresponds to the JSON property `title`
307
+ # @return [String]
308
+ attr_accessor :title
364
309
 
365
- # URL item.
366
- # Corresponds to the JSON property `link`
367
- # @return [Google::Apis::ClassroomV1::Link]
368
- attr_accessor :link
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
369
314
 
370
- # Google Forms item.
371
- # Corresponds to the JSON property `form`
372
- # @return [Google::Apis::ClassroomV1::Form]
373
- attr_accessor :form
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
374
319
 
375
320
  def initialize(**args)
376
321
  update!(**args)
@@ -378,21 +323,32 @@ module Google
378
323
 
379
324
  # Update properties of this object
380
325
  def update!(**args)
381
- @drive_file = args[:drive_file] if args.key?(:drive_file)
382
- @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
383
- @link = args[:link] if args.key?(:link)
384
- @form = args[:form] if args.key?(:form)
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)
385
330
  end
386
331
  end
387
332
 
388
- # Student work for a multiple-choice question.
389
- class MultipleChoiceSubmission
333
+ # URL item.
334
+ class Link
390
335
  include Google::Apis::Core::Hashable
391
336
 
392
- # Student's select choice.
393
- # Corresponds to the JSON property `answer`
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`
394
340
  # @return [String]
395
- attr_accessor :answer
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`
350
+ # @return [String]
351
+ attr_accessor :thumbnail_url
396
352
 
397
353
  def initialize(**args)
398
354
  update!(**args)
@@ -400,92 +356,81 @@ module Google
400
356
 
401
357
  # Update properties of this object
402
358
  def update!(**args)
403
- @answer = args[:answer] if args.key?(:answer)
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)
404
362
  end
405
363
  end
406
364
 
407
- # URL item.
408
- class Link
365
+ # Google Forms item.
366
+ class Form
409
367
  include Google::Apis::Core::Hashable
410
368
 
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`
369
+ # URL of the form.
370
+ # Corresponds to the JSON property `formUrl`
414
371
  # @return [String]
415
- attr_accessor :url
372
+ attr_accessor :form_url
416
373
 
417
- # URL of a thumbnail image of the target URL.
418
- # Read-only.
419
- # Corresponds to the JSON property `thumbnailUrl`
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`
420
377
  # @return [String]
421
- attr_accessor :thumbnail_url
378
+ attr_accessor :response_url
422
379
 
423
- # Title of the target of the URL.
424
- # Read-only.
380
+ # Title of the Form. Read-only.
425
381
  # Corresponds to the JSON property `title`
426
382
  # @return [String]
427
383
  attr_accessor :title
428
384
 
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
+
429
390
  def initialize(**args)
430
391
  update!(**args)
431
392
  end
432
393
 
433
394
  # Update properties of this object
434
395
  def update!(**args)
435
- @url = args[:url] if args.key?(:url)
436
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
396
+ @form_url = args[:form_url] if args.key?(:form_url)
397
+ @response_url = args[:response_url] if args.key?(:response_url)
437
398
  @title = args[:title] if args.key?(:title)
399
+ @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
438
400
  end
439
401
  end
440
402
 
441
- # Request to modify the attachments of a student submission.
442
- class ModifyAttachmentsRequest
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
443
409
  include Google::Apis::Core::Hashable
444
410
 
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
-
452
411
  def initialize(**args)
453
412
  update!(**args)
454
413
  end
455
414
 
456
415
  # Update properties of this object
457
416
  def update!(**args)
458
- @add_attachments = args[:add_attachments] if args.key?(:add_attachments)
459
417
  end
460
418
  end
461
419
 
462
- # Represents a time of day. The date and time zone are either not significant
463
- # or are specified elsewhere. An API may choose to allow leap seconds. Related
464
- # types are google.type.Date and `google.protobuf.Timestamp`.
465
- class TimeOfDay
420
+ # Response when listing courses.
421
+ class ListCoursesResponse
466
422
  include Google::Apis::Core::Hashable
467
423
 
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
472
-
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
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
483
428
 
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
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
489
434
 
490
435
  def initialize(**args)
491
436
  update!(**args)
@@ -493,41 +438,57 @@ module Google
493
438
 
494
439
  # Update properties of this object
495
440
  def update!(**args)
496
- @nanos = args[:nanos] if args.key?(:nanos)
497
- @hours = args[:hours] if args.key?(:hours)
498
- @minutes = args[:minutes] if args.key?(:minutes)
499
- @seconds = args[:seconds] if args.key?(:seconds)
441
+ @courses = args[:courses] if args.key?(:courses)
442
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
500
443
  end
501
444
  end
502
445
 
503
- # Google Forms item.
504
- class Form
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
505
458
  include Google::Apis::Core::Hashable
506
459
 
507
- # URL of a thumbnail image of the Form.
508
- # Read-only.
509
- # Corresponds to the JSON property `thumbnailUrl`
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`
510
465
  # @return [String]
511
- attr_accessor :thumbnail_url
466
+ attr_accessor :alias
512
467
 
513
- # URL of the form.
514
- # Corresponds to the JSON property `formUrl`
515
- # @return [String]
516
- attr_accessor :form_url
468
+ def initialize(**args)
469
+ update!(**args)
470
+ end
517
471
 
518
- # Title of the Form.
519
- # Read-only.
520
- # Corresponds to the JSON property `title`
521
- # @return [String]
522
- attr_accessor :title
472
+ # Update properties of this object
473
+ def update!(**args)
474
+ @alias = args[:alias] if args.key?(:alias)
475
+ end
476
+ end
523
477
 
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`
478
+ # Response when listing course aliases.
479
+ class ListCourseAliasesResponse
480
+ include Google::Apis::Core::Hashable
481
+
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`
529
490
  # @return [String]
530
- attr_accessor :response_url
491
+ attr_accessor :next_page_token
531
492
 
532
493
  def initialize(**args)
533
494
  update!(**args)
@@ -535,21 +496,25 @@ module Google
535
496
 
536
497
  # Update properties of this object
537
498
  def update!(**args)
538
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
539
- @form_url = args[:form_url] if args.key?(:form_url)
540
- @title = args[:title] if args.key?(:title)
541
- @response_url = args[:response_url] if args.key?(:response_url)
499
+ @aliases = args[:aliases] if args.key?(:aliases)
500
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
542
501
  end
543
502
  end
544
503
 
545
- # Additional details for multiple-choice questions.
546
- class MultipleChoiceQuestion
504
+ # Response when listing guardian invitations.
505
+ class ListGuardianInvitationsResponse
547
506
  include Google::Apis::Core::Hashable
548
507
 
549
- # Possible choices.
550
- # Corresponds to the JSON property `choices`
551
- # @return [Array<String>]
552
- attr_accessor :choices
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
512
+
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`
516
+ # @return [String]
517
+ attr_accessor :next_page_token
553
518
 
554
519
  def initialize(**args)
555
520
  update!(**args)
@@ -557,25 +522,41 @@ module Google
557
522
 
558
523
  # Update properties of this object
559
524
  def update!(**args)
560
- @choices = args[:choices] if args.key?(:choices)
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)
561
527
  end
562
528
  end
563
529
 
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
530
+ # An invitation to become the guardian of a specified user, sent to a specified
531
+ # email address.
532
+ class GuardianInvitation
568
533
  include Google::Apis::Core::Hashable
569
534
 
570
- # Materials attached to this set.
571
- # Corresponds to the JSON property `materials`
572
- # @return [Array<Google::Apis::ClassroomV1::CourseMaterial>]
573
- attr_accessor :materials
535
+ # ID of the student (in standard format)
536
+ # Corresponds to the JSON property `studentId`
537
+ # @return [String]
538
+ attr_accessor :student_id
574
539
 
575
- # Title for this set.
576
- # Corresponds to the JSON property `title`
540
+ # Unique identifier for this invitation. Read-only.
541
+ # Corresponds to the JSON property `invitationId`
577
542
  # @return [String]
578
- attr_accessor :title
543
+ attr_accessor :invitation_id
544
+
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
550
+
551
+ # The state that this invitation is in.
552
+ # Corresponds to the JSON property `state`
553
+ # @return [String]
554
+ attr_accessor :state
555
+
556
+ # The time that this invitation was created. Read-only.
557
+ # Corresponds to the JSON property `creationTime`
558
+ # @return [String]
559
+ attr_accessor :creation_time
579
560
 
580
561
  def initialize(**args)
581
562
  update!(**args)
@@ -583,170 +564,222 @@ module Google
583
564
 
584
565
  # Update properties of this object
585
566
  def update!(**args)
586
- @materials = args[:materials] if args.key?(:materials)
587
- @title = args[:title] if args.key?(:title)
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)
570
+ @state = args[:state] if args.key?(:state)
571
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
588
572
  end
589
573
  end
590
574
 
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
575
+ # Global information for a user.
576
+ class UserProfile
596
577
  include Google::Apis::Core::Hashable
597
578
 
598
- # Classroom-assigned Identifier for the student submission.
599
- # This is unique among submissions for the relevant course work.
600
- # Read-only.
579
+ # Identifier of the user. Read-only.
601
580
  # Corresponds to the JSON property `id`
602
581
  # @return [String]
603
582
  attr_accessor :id
604
583
 
605
- # Type of course work this submission is for.
606
- # Read-only.
607
- # Corresponds to the JSON property `courseWorkType`
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`
608
591
  # @return [String]
609
- attr_accessor :course_work_type
592
+ attr_accessor :email_address
610
593
 
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
594
+ # URL of user's profile photo. Read-only.
595
+ # Corresponds to the JSON property `photoUrl`
596
+ # @return [String]
597
+ attr_accessor :photo_url
617
598
 
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
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
627
603
 
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`
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ 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)
615
+ end
616
+ end
617
+
618
+ # Details of the user's name.
619
+ class Name
620
+ include Google::Apis::Core::Hashable
621
+
622
+ # The user's first name. Read-only.
623
+ # Corresponds to the JSON property `givenName`
632
624
  # @return [String]
633
- attr_accessor :update_time
625
+ attr_accessor :given_name
634
626
 
635
- # Absolute link to the submission in the Classroom web UI.
627
+ # The user's last name. Read-only.
628
+ # Corresponds to the JSON property `familyName`
629
+ # @return [String]
630
+ attr_accessor :family_name
631
+
632
+ # The user's full name formed by concatenating the first and last name values.
636
633
  # Read-only.
637
- # Corresponds to the JSON property `alternateLink`
634
+ # Corresponds to the JSON property `fullName`
638
635
  # @return [String]
639
- attr_accessor :alternate_link
636
+ attr_accessor :full_name
640
637
 
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
638
+ def initialize(**args)
639
+ update!(**args)
640
+ end
647
641
 
648
- # Identifier for the student that owns this submission.
649
- # Read-only.
642
+ # Update properties of this object
643
+ 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)
647
+ end
648
+ end
649
+
650
+ # Global user permission description.
651
+ class GlobalPermission
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # Permission value.
655
+ # Corresponds to the JSON property `permission`
656
+ # @return [String]
657
+ attr_accessor :permission
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @permission = args[:permission] if args.key?(:permission)
666
+ end
667
+ end
668
+
669
+ # Teacher of a course.
670
+ class Teacher
671
+ include Google::Apis::Core::Hashable
672
+
673
+ # Identifier of the course. Read-only.
674
+ # Corresponds to the JSON property `courseId`
675
+ # @return [String]
676
+ attr_accessor :course_id
677
+
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
650
682
  # Corresponds to the JSON property `userId`
651
683
  # @return [String]
652
684
  attr_accessor :user_id
653
685
 
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
686
+ # Global information for a user.
687
+ # Corresponds to the JSON property `profile`
688
+ # @return [Google::Apis::ClassroomV1::UserProfile]
689
+ attr_accessor :profile
658
690
 
659
- # State of this submission.
660
- # Read-only.
661
- # Corresponds to the JSON property `state`
662
- # @return [String]
663
- attr_accessor :state
691
+ def initialize(**args)
692
+ update!(**args)
693
+ end
664
694
 
665
- # Student work for an assignment.
666
- # Corresponds to the JSON property `assignmentSubmission`
667
- # @return [Google::Apis::ClassroomV1::AssignmentSubmission]
668
- attr_accessor :assignment_submission
695
+ # Update properties of this object
696
+ def update!(**args)
697
+ @course_id = args[:course_id] if args.key?(:course_id)
698
+ @user_id = args[:user_id] if args.key?(:user_id)
699
+ @profile = args[:profile] if args.key?(:profile)
700
+ end
701
+ end
669
702
 
670
- # Creation time of this submission.
671
- # This may be unset if the student has not accessed this item.
672
- # Read-only.
673
- # Corresponds to the JSON property `creationTime`
703
+ # Response when listing teachers.
704
+ class ListTeachersResponse
705
+ include Google::Apis::Core::Hashable
706
+
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
711
+
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`
674
715
  # @return [String]
675
- attr_accessor :creation_time
716
+ attr_accessor :next_page_token
676
717
 
677
- # Identifier of the course.
678
- # Read-only.
718
+ def initialize(**args)
719
+ update!(**args)
720
+ end
721
+
722
+ # Update properties of this object
723
+ 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
+ end
727
+ end
728
+
729
+ # Student in a course.
730
+ class Student
731
+ include Google::Apis::Core::Hashable
732
+
733
+ # Identifier of the course. Read-only.
679
734
  # Corresponds to the JSON property `courseId`
680
735
  # @return [String]
681
736
  attr_accessor :course_id
682
737
 
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
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
687
745
 
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
746
+ # Global information for a user.
747
+ # Corresponds to the JSON property `profile`
748
+ # @return [Google::Apis::ClassroomV1::UserProfile]
749
+ attr_accessor :profile
694
750
 
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
751
+ # Representation of a Google Drive folder.
752
+ # Corresponds to the JSON property `studentWorkFolder`
753
+ # @return [Google::Apis::ClassroomV1::DriveFolder]
754
+ attr_accessor :student_work_folder
700
755
 
701
756
  def initialize(**args)
702
757
  update!(**args)
703
758
  end
704
759
 
705
760
  # Update properties of this object
706
- def update!(**args)
707
- @id = args[:id] if args.key?(:id)
708
- @course_work_type = args[:course_work_type] if args.key?(:course_work_type)
709
- @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)
716
- @state = args[:state] if args.key?(:state)
717
- @assignment_submission = args[:assignment_submission] if args.key?(:assignment_submission)
718
- @creation_time = args[:creation_time] if args.key?(:creation_time)
761
+ def update!(**args)
719
762
  @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)
763
+ @user_id = args[:user_id] if args.key?(:user_id)
764
+ @profile = args[:profile] if args.key?(:profile)
765
+ @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
723
766
  end
724
767
  end
725
768
 
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
769
+ # Response when listing students.
770
+ class ListStudentsResponse
739
771
  include Google::Apis::Core::Hashable
740
772
 
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`
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
+ # Token identifying the next page of results to return. If empty, no further
779
+ # results are available.
780
+ # Corresponds to the JSON property `nextPageToken`
748
781
  # @return [String]
749
- attr_accessor :alias
782
+ attr_accessor :next_page_token
750
783
 
751
784
  def initialize(**args)
752
785
  update!(**args)
@@ -754,7 +787,8 @@ module Google
754
787
 
755
788
  # Update properties of this object
756
789
  def update!(**args)
757
- @alias = args[:alias] if args.key?(:alias)
790
+ @students = args[:students] if args.key?(:students)
791
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
758
792
  end
759
793
  end
760
794
 
@@ -762,8 +796,8 @@ module Google
762
796
  class ListGuardiansResponse
763
797
  include Google::Apis::Core::Hashable
764
798
 
765
- # Guardians on this page of results that met the criteria specified in
766
- # the request.
799
+ # Guardians on this page of results that met the criteria specified in the
800
+ # request.
767
801
  # Corresponds to the JSON property `guardians`
768
802
  # @return [Array<Google::Apis::ClassroomV1::Guardian>]
769
803
  attr_accessor :guardians
@@ -785,22 +819,11 @@ module Google
785
819
  end
786
820
  end
787
821
 
788
- # Association between a student and a guardian of that student. The guardian
789
- # may receive information about the student's course work.
822
+ # Association between a student and a guardian of that student. The guardian may
823
+ # receive information about the student's course work.
790
824
  class Guardian
791
825
  include Google::Apis::Core::Hashable
792
826
 
793
- # Global information for a user.
794
- # Corresponds to the JSON property `guardianProfile`
795
- # @return [Google::Apis::ClassroomV1::UserProfile]
796
- attr_accessor :guardian_profile
797
-
798
- # The email address to which the initial guardian invitation was sent.
799
- # This field is only visible to domain administrators.
800
- # Corresponds to the JSON property `invitedEmailAddress`
801
- # @return [String]
802
- attr_accessor :invited_email_address
803
-
804
827
  # Identifier for the student to whom the guardian relationship applies.
805
828
  # Corresponds to the JSON property `studentId`
806
829
  # @return [String]
@@ -811,43 +834,16 @@ module Google
811
834
  # @return [String]
812
835
  attr_accessor :guardian_id
813
836
 
814
- def initialize(**args)
815
- update!(**args)
816
- end
817
-
818
- # Update properties of this object
819
- def update!(**args)
820
- @guardian_profile = args[:guardian_profile] if args.key?(:guardian_profile)
821
- @invited_email_address = args[:invited_email_address] if args.key?(:invited_email_address)
822
- @student_id = args[:student_id] if args.key?(:student_id)
823
- @guardian_id = args[:guardian_id] if args.key?(:guardian_id)
824
- end
825
- end
826
-
827
- # Teacher of a course.
828
- class Teacher
829
- include Google::Apis::Core::Hashable
830
-
831
- # Identifier of the course.
832
- # Read-only.
833
- # Corresponds to the JSON property `courseId`
834
- # @return [String]
835
- attr_accessor :course_id
836
-
837
837
  # Global information for a user.
838
- # Corresponds to the JSON property `profile`
838
+ # Corresponds to the JSON property `guardianProfile`
839
839
  # @return [Google::Apis::ClassroomV1::UserProfile]
840
- attr_accessor :profile
840
+ attr_accessor :guardian_profile
841
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`
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`
849
845
  # @return [String]
850
- attr_accessor :user_id
846
+ attr_accessor :invited_email_address
851
847
 
852
848
  def initialize(**args)
853
849
  update!(**args)
@@ -855,101 +851,39 @@ module Google
855
851
 
856
852
  # Update properties of this object
857
853
  def update!(**args)
858
- @course_id = args[:course_id] if args.key?(:course_id)
859
- @profile = args[:profile] if args.key?(:profile)
860
- @user_id = args[:user_id] if args.key?(:user_id)
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)
861
858
  end
862
859
  end
863
860
 
864
- # Global information for a user.
865
- class UserProfile
861
+ # An invitation to join a course.
862
+ class Invitation
866
863
  include Google::Apis::Core::Hashable
867
864
 
868
- # Email address of the user.
869
- # Read-only.
870
- # Corresponds to the JSON property `emailAddress`
871
- # @return [String]
872
- attr_accessor :email_address
873
-
874
- # Global permissions of the user.
875
- # Read-only.
876
- # Corresponds to the JSON property `permissions`
877
- # @return [Array<Google::Apis::ClassroomV1::GlobalPermission>]
878
- attr_accessor :permissions
879
-
880
- # Identifier of the user.
881
- # Read-only.
865
+ # Identifier assigned by Classroom. Read-only.
882
866
  # Corresponds to the JSON property `id`
883
867
  # @return [String]
884
868
  attr_accessor :id
885
869
 
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`
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`
894
875
  # @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
914
-
915
- def initialize(**args)
916
- update!(**args)
917
- end
918
-
919
- # Update properties of this object
920
- def update!(**args)
921
- end
922
- end
923
-
924
- # Student in a course.
925
- class Student
926
- include Google::Apis::Core::Hashable
876
+ attr_accessor :user_id
927
877
 
928
- # Identifier of the course.
929
- # Read-only.
878
+ # Identifier of the course to invite the user to.
930
879
  # Corresponds to the JSON property `courseId`
931
880
  # @return [String]
932
881
  attr_accessor :course_id
933
882
 
934
- # Global information for a user.
935
- # Corresponds to the JSON property `profile`
936
- # @return [Google::Apis::ClassroomV1::UserProfile]
937
- attr_accessor :profile
938
-
939
- # Representation of a Google Drive folder.
940
- # Corresponds to the JSON property `studentWorkFolder`
941
- # @return [Google::Apis::ClassroomV1::DriveFolder]
942
- attr_accessor :student_work_folder
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`
883
+ # Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.
884
+ # Corresponds to the JSON property `role`
951
885
  # @return [String]
952
- attr_accessor :user_id
886
+ attr_accessor :role
953
887
 
954
888
  def initialize(**args)
955
889
  update!(**args)
@@ -957,175 +891,145 @@ module Google
957
891
 
958
892
  # Update properties of this object
959
893
  def update!(**args)
960
- @course_id = args[:course_id] if args.key?(:course_id)
961
- @profile = args[:profile] if args.key?(:profile)
962
- @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
894
+ @id = args[:id] if args.key?(:id)
963
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)
964
898
  end
965
899
  end
966
900
 
967
- # Response when listing teachers.
968
- class ListTeachersResponse
901
+ # Response when listing invitations.
902
+ class ListInvitationsResponse
969
903
  include Google::Apis::Core::Hashable
970
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
909
+
971
910
  # Token identifying the next page of results to return. If empty, no further
972
911
  # results are available.
973
912
  # Corresponds to the JSON property `nextPageToken`
974
913
  # @return [String]
975
914
  attr_accessor :next_page_token
976
915
 
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
-
982
916
  def initialize(**args)
983
917
  update!(**args)
984
918
  end
985
919
 
986
920
  # Update properties of this object
987
921
  def update!(**args)
922
+ @invitations = args[:invitations] if args.key?(:invitations)
988
923
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
989
- @teachers = args[:teachers] if args.key?(:teachers)
990
924
  end
991
925
  end
992
926
 
993
- # A Course in Classroom.
994
- class Course
927
+ # Course work created by a teacher for students of the course.
928
+ class CourseWork
995
929
  include Google::Apis::Core::Hashable
996
930
 
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.
931
+ # Identifier of the course. Read-only.
932
+ # Corresponds to the JSON property `courseId`
933
+ # @return [String]
934
+ attr_accessor :course_id
935
+
936
+ # Classroom-assigned identifier of this course work, unique per course. Read-
937
+ # only.
1005
938
  # Corresponds to the JSON property `id`
1006
939
  # @return [String]
1007
940
  attr_accessor :id
1008
941
 
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.
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`
945
+ # @return [String]
946
+ attr_accessor :title
947
+
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.
1015
950
  # Corresponds to the JSON property `description`
1016
951
  # @return [String]
1017
952
  attr_accessor :description
1018
953
 
1019
- # Time of the most recent update to this course.
1020
- # Specifying this field in a course update mask results in an error.
1021
- # Read-only.
1022
- # Corresponds to the JSON property `updateTime`
1023
- # @return [String]
1024
- attr_accessor :update_time
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
1025
958
 
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`
959
+ # Status of this course work. If unspecified, the default state is `DRAFT`.
960
+ # Corresponds to the JSON property `state`
1031
961
  # @return [String]
1032
- attr_accessor :section
962
+ attr_accessor :state
1033
963
 
1034
- # Absolute link to this course in the Classroom web UI.
1035
- # Read-only.
964
+ # Absolute link to this course work in the Classroom web UI. This is only
965
+ # populated if `state` is `PUBLISHED`. Read-only.
1036
966
  # Corresponds to the JSON property `alternateLink`
1037
967
  # @return [String]
1038
968
  attr_accessor :alternate_link
1039
969
 
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
1046
-
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
1053
-
1054
- # The identifier of the owner of a course.
1055
- # When specified as a parameter of a
1056
- # create course request, this
1057
- # field is required.
1058
- # The identifier can be one of the following:
1059
- # * the numeric identifier for the user
1060
- # * the email address of the user
1061
- # * the string literal `"me"`, indicating the requesting user
1062
- # This must be set in a create request. Specifying this field in a course
1063
- # update mask results in an `INVALID_ARGUMENT` error.
1064
- # Corresponds to the JSON property `ownerId`
970
+ # Timestamp when this course work was created. Read-only.
971
+ # Corresponds to the JSON property `creationTime`
1065
972
  # @return [String]
1066
- attr_accessor :owner_id
973
+ attr_accessor :creation_time
1067
974
 
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`
975
+ # Timestamp of the most recent change to this course work. Read-only.
976
+ # Corresponds to the JSON property `updateTime`
1073
977
  # @return [String]
1074
- attr_accessor :description_heading
978
+ attr_accessor :update_time
1075
979
 
1076
- # The email address of a Google group containing all members of the course.
1077
- # This group does not accept email and can only be used for permissions.
1078
- # Read-only.
1079
- # Corresponds to the JSON property `courseGroupEmail`
1080
- # @return [String]
1081
- attr_accessor :course_group_email
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
1082
990
 
1083
- # State of the course.
1084
- # If unspecified, the default state is `PROVISIONED`.
1085
- # Corresponds to the JSON property `courseState`
1086
- # @return [String]
1087
- attr_accessor :course_state
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
1088
997
 
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`
1094
- # @return [String]
1095
- attr_accessor :room
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
1096
1003
 
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`
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`
1102
1007
  # @return [String]
1103
- attr_accessor :name
1008
+ attr_accessor :work_type
1104
1009
 
1105
- # Creation time of the course.
1106
- # Specifying this field in a course update mask results in an error.
1107
- # Read-only.
1108
- # Corresponds to the JSON property `creationTime`
1109
- # @return [String]
1110
- attr_accessor :creation_time
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
1111
1017
 
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`
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`
1116
1021
  # @return [String]
1117
- attr_accessor :enrollment_code
1118
-
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
1022
+ attr_accessor :submission_modification_mode
1123
1023
 
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
1024
+ # Additional details for assignments.
1025
+ # Corresponds to the JSON property `assignment`
1026
+ # @return [Google::Apis::ClassroomV1::Assignment]
1027
+ attr_accessor :assignment
1028
+
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
1129
1033
 
1130
1034
  def initialize(**args)
1131
1035
  update!(**args)
@@ -1133,71 +1037,77 @@ module Google
1133
1037
 
1134
1038
  # Update properties of this object
1135
1039
  def update!(**args)
1040
+ @course_id = args[:course_id] if args.key?(:course_id)
1136
1041
  @id = args[:id] if args.key?(:id)
1042
+ @title = args[:title] if args.key?(:title)
1137
1043
  @description = args[:description] if args.key?(:description)
1138
- @update_time = args[:update_time] if args.key?(:update_time)
1139
- @section = args[:section] if args.key?(:section)
1044
+ @materials = args[:materials] if args.key?(:materials)
1045
+ @state = args[:state] if args.key?(:state)
1140
1046
  @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1141
- @teacher_group_email = args[:teacher_group_email] if args.key?(:teacher_group_email)
1142
- @guardians_enabled = args[:guardians_enabled] if args.key?(:guardians_enabled)
1143
- @owner_id = args[:owner_id] if args.key?(:owner_id)
1144
- @description_heading = args[:description_heading] if args.key?(:description_heading)
1145
- @course_group_email = args[:course_group_email] if args.key?(:course_group_email)
1146
- @course_state = args[:course_state] if args.key?(:course_state)
1147
- @room = args[:room] if args.key?(:room)
1148
- @name = args[:name] if args.key?(:name)
1149
1047
  @creation_time = args[:creation_time] if args.key?(:creation_time)
1150
- @enrollment_code = args[:enrollment_code] if args.key?(:enrollment_code)
1151
- @teacher_folder = args[:teacher_folder] if args.key?(:teacher_folder)
1152
- @course_material_sets = args[:course_material_sets] if args.key?(:course_material_sets)
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)
1153
1057
  end
1154
1058
  end
1155
1059
 
1156
- # Request to return a student submission.
1157
- class ReturnStudentSubmissionRequest
1060
+ # Material attached to course work. When creating attachments, setting the `form`
1061
+ # field is not supported.
1062
+ class Material
1158
1063
  include Google::Apis::Core::Hashable
1159
1064
 
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
+
1160
1085
  def initialize(**args)
1161
1086
  update!(**args)
1162
1087
  end
1163
1088
 
1164
1089
  # Update properties of this object
1165
1090
  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)
1166
1095
  end
1167
1096
  end
1168
1097
 
1169
- # An invitation to become the guardian of a specified user, sent to a specified
1170
- # email address.
1171
- class GuardianInvitation
1098
+ # Drive file that is used as material for course work.
1099
+ class SharedDriveFile
1172
1100
  include Google::Apis::Core::Hashable
1173
1101
 
1174
- # The time that this invitation was created.
1175
- # Read-only.
1176
- # Corresponds to the JSON property `creationTime`
1177
- # @return [String]
1178
- attr_accessor :creation_time
1179
-
1180
- # Unique identifier for this invitation.
1181
- # Read-only.
1182
- # Corresponds to the JSON property `invitationId`
1183
- # @return [String]
1184
- attr_accessor :invitation_id
1185
-
1186
- # The state that this invitation is in.
1187
- # Corresponds to the JSON property `state`
1188
- # @return [String]
1189
- attr_accessor :state
1190
-
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
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
1196
1106
 
1197
- # ID of the student (in standard format)
1198
- # Corresponds to the JSON property `studentId`
1107
+ # Mechanism by which students access the Drive item.
1108
+ # Corresponds to the JSON property `shareMode`
1199
1109
  # @return [String]
1200
- attr_accessor :student_id
1110
+ attr_accessor :share_mode
1201
1111
 
1202
1112
  def initialize(**args)
1203
1113
  update!(**args)
@@ -1205,53 +1115,76 @@ module Google
1205
1115
 
1206
1116
  # Update properties of this object
1207
1117
  def update!(**args)
1208
- @creation_time = args[:creation_time] if args.key?(:creation_time)
1209
- @invitation_id = args[:invitation_id] if args.key?(:invitation_id)
1210
- @state = args[:state] if args.key?(:state)
1211
- @invited_email_address = args[:invited_email_address] if args.key?(:invited_email_address)
1212
- @student_id = args[:student_id] if args.key?(:student_id)
1118
+ @drive_file = args[:drive_file] if args.key?(:drive_file)
1119
+ @share_mode = args[:share_mode] if args.key?(:share_mode)
1213
1120
  end
1214
1121
  end
1215
1122
 
1216
- # Request to turn in a student submission.
1217
- class TurnInStudentSubmissionRequest
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
1218
1131
  include Google::Apis::Core::Hashable
1219
1132
 
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
1137
+
1138
+ # Month of year. Must be from 1 to 12.
1139
+ # Corresponds to the JSON property `month`
1140
+ # @return [Fixnum]
1141
+ attr_accessor :month
1142
+
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
1148
+
1220
1149
  def initialize(**args)
1221
1150
  update!(**args)
1222
1151
  end
1223
1152
 
1224
1153
  # Update properties of this object
1225
1154
  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)
1226
1158
  end
1227
1159
  end
1228
1160
 
1229
- # YouTube video item.
1230
- class YouTubeVideo
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
1231
1165
  include Google::Apis::Core::Hashable
1232
1166
 
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
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
1238
1172
 
1239
- # Title of the YouTube video.
1240
- # Read-only.
1241
- # Corresponds to the JSON property `title`
1242
- # @return [String]
1243
- attr_accessor :title
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
1244
1177
 
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
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
1250
1183
 
1251
- # YouTube API resource ID.
1252
- # Corresponds to the JSON property `id`
1253
- # @return [String]
1254
- attr_accessor :id
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
1255
1188
 
1256
1189
  def initialize(**args)
1257
1190
  update!(**args)
@@ -1259,29 +1192,48 @@ module Google
1259
1192
 
1260
1193
  # Update properties of this object
1261
1194
  def update!(**args)
1262
- @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
1263
- @title = args[:title] if args.key?(:title)
1264
- @alternate_link = args[:alternate_link] if args.key?(:alternate_link)
1265
- @id = args[:id] if args.key?(:id)
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)
1266
1199
  end
1267
1200
  end
1268
1201
 
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
1202
+ # Additional details for assignments.
1203
+ class Assignment
1204
+ include Google::Apis::Core::Hashable
1205
+
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
1210
+
1211
+ def initialize(**args)
1212
+ update!(**args)
1213
+ end
1214
+
1215
+ # Update properties of this object
1216
+ def update!(**args)
1217
+ @student_work_folder = args[:student_work_folder] if args.key?(:student_work_folder)
1218
+ end
1219
+ end
1220
+
1221
+ # Additional details for multiple-choice questions.
1222
+ class MultipleChoiceQuestion
1277
1223
  include Google::Apis::Core::Hashable
1278
1224
 
1225
+ # Possible choices.
1226
+ # Corresponds to the JSON property `choices`
1227
+ # @return [Array<String>]
1228
+ attr_accessor :choices
1229
+
1279
1230
  def initialize(**args)
1280
1231
  update!(**args)
1281
1232
  end
1282
1233
 
1283
1234
  # Update properties of this object
1284
1235
  def update!(**args)
1236
+ @choices = args[:choices] if args.key?(:choices)
1285
1237
  end
1286
1238
  end
1287
1239
 
@@ -1289,41 +1241,123 @@ module Google
1289
1241
  class ListCourseWorkResponse
1290
1242
  include Google::Apis::Core::Hashable
1291
1243
 
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
+
1292
1249
  # Token identifying the next page of results to return. If empty, no further
1293
1250
  # results are available.
1294
1251
  # Corresponds to the JSON property `nextPageToken`
1295
1252
  # @return [String]
1296
1253
  attr_accessor :next_page_token
1297
1254
 
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
-
1303
1255
  def initialize(**args)
1304
1256
  update!(**args)
1305
1257
  end
1306
1258
 
1307
1259
  # Update properties of this object
1308
1260
  def update!(**args)
1309
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1310
1261
  @course_work = args[:course_work] if args.key?(:course_work)
1262
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1311
1263
  end
1312
1264
  end
1313
1265
 
1314
- # Drive file that is used as material for course work.
1315
- class SharedDriveFile
1316
- include Google::Apis::Core::Hashable
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
1346
+
1347
+ # Student work for an assignment.
1348
+ # Corresponds to the JSON property `assignmentSubmission`
1349
+ # @return [Google::Apis::ClassroomV1::AssignmentSubmission]
1350
+ attr_accessor :assignment_submission
1317
1351
 
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
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
1322
1356
 
1323
- # Mechanism by which students access the Drive item.
1324
- # Corresponds to the JSON property `shareMode`
1325
- # @return [String]
1326
- attr_accessor :share_mode
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
1327
1361
 
1328
1362
  def initialize(**args)
1329
1363
  update!(**args)
@@ -1331,19 +1365,37 @@ module Google
1331
1365
 
1332
1366
  # Update properties of this object
1333
1367
  def update!(**args)
1334
- @drive_file = args[:drive_file] if args.key?(:drive_file)
1335
- @share_mode = args[:share_mode] if args.key?(:share_mode)
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)
1336
1384
  end
1337
1385
  end
1338
1386
 
1339
- # Global user permission description.
1340
- class GlobalPermission
1387
+ # Student work for an assignment.
1388
+ class AssignmentSubmission
1341
1389
  include Google::Apis::Core::Hashable
1342
1390
 
1343
- # Permission value.
1344
- # Corresponds to the JSON property `permission`
1345
- # @return [String]
1346
- attr_accessor :permission
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
1347
1399
 
1348
1400
  def initialize(**args)
1349
1401
  update!(**args)
@@ -1351,30 +1403,30 @@ module Google
1351
1403
 
1352
1404
  # Update properties of this object
1353
1405
  def update!(**args)
1354
- @permission = args[:permission] if args.key?(:permission)
1406
+ @attachments = args[:attachments] if args.key?(:attachments)
1355
1407
  end
1356
1408
  end
1357
1409
 
1358
- # Material attached to course work.
1359
- # When creating attachments, setting the `form` field is not supported.
1360
- class Material
1410
+ # Attachment added to student assignment work. When creating attachments,
1411
+ # setting the `form` field is not supported.
1412
+ class Attachment
1361
1413
  include Google::Apis::Core::Hashable
1362
1414
 
1363
- # Drive file that is used as material for course work.
1415
+ # Representation of a Google Drive file.
1364
1416
  # Corresponds to the JSON property `driveFile`
1365
- # @return [Google::Apis::ClassroomV1::SharedDriveFile]
1417
+ # @return [Google::Apis::ClassroomV1::DriveFile]
1366
1418
  attr_accessor :drive_file
1367
1419
 
1420
+ # YouTube video item.
1421
+ # Corresponds to the JSON property `youTubeVideo`
1422
+ # @return [Google::Apis::ClassroomV1::YouTubeVideo]
1423
+ attr_accessor :you_tube_video
1424
+
1368
1425
  # URL item.
1369
1426
  # Corresponds to the JSON property `link`
1370
1427
  # @return [Google::Apis::ClassroomV1::Link]
1371
1428
  attr_accessor :link
1372
1429
 
1373
- # YouTube video item.
1374
- # Corresponds to the JSON property `youtubeVideo`
1375
- # @return [Google::Apis::ClassroomV1::YouTubeVideo]
1376
- attr_accessor :youtube_video
1377
-
1378
1430
  # Google Forms item.
1379
1431
  # Corresponds to the JSON property `form`
1380
1432
  # @return [Google::Apis::ClassroomV1::Form]
@@ -1387,26 +1439,20 @@ module Google
1387
1439
  # Update properties of this object
1388
1440
  def update!(**args)
1389
1441
  @drive_file = args[:drive_file] if args.key?(:drive_file)
1442
+ @you_tube_video = args[:you_tube_video] if args.key?(:you_tube_video)
1390
1443
  @link = args[:link] if args.key?(:link)
1391
- @youtube_video = args[:youtube_video] if args.key?(:youtube_video)
1392
1444
  @form = args[:form] if args.key?(:form)
1393
1445
  end
1394
1446
  end
1395
1447
 
1396
- # Student work for an assignment.
1397
- class AssignmentSubmission
1448
+ # Student work for a short answer question.
1449
+ class ShortAnswerSubmission
1398
1450
  include Google::Apis::Core::Hashable
1399
1451
 
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
1452
+ # Student response to a short-answer question.
1453
+ # Corresponds to the JSON property `answer`
1454
+ # @return [String]
1455
+ attr_accessor :answer
1410
1456
 
1411
1457
  def initialize(**args)
1412
1458
  update!(**args)
@@ -1414,36 +1460,18 @@ module Google
1414
1460
 
1415
1461
  # Update properties of this object
1416
1462
  def update!(**args)
1417
- @attachments = args[:attachments] if args.key?(:attachments)
1463
+ @answer = args[:answer] if args.key?(:answer)
1418
1464
  end
1419
1465
  end
1420
1466
 
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
1467
+ # Student work for a multiple-choice question.
1468
+ class MultipleChoiceSubmission
1429
1469
  include Google::Apis::Core::Hashable
1430
1470
 
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
1471
+ # Student's select choice.
1472
+ # Corresponds to the JSON property `answer`
1473
+ # @return [String]
1474
+ attr_accessor :answer
1447
1475
 
1448
1476
  def initialize(**args)
1449
1477
  update!(**args)
@@ -1451,34 +1479,18 @@ module Google
1451
1479
 
1452
1480
  # Update properties of this object
1453
1481
  def update!(**args)
1454
- @month = args[:month] if args.key?(:month)
1455
- @year = args[:year] if args.key?(:year)
1456
- @day = args[:day] if args.key?(:day)
1482
+ @answer = args[:answer] if args.key?(:answer)
1457
1483
  end
1458
1484
  end
1459
1485
 
1460
- # Additional details for assignments.
1461
- class Assignment
1486
+ # Response when listing student submissions.
1487
+ class ListStudentSubmissionsResponse
1462
1488
  include Google::Apis::Core::Hashable
1463
1489
 
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
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
1482
1494
 
1483
1495
  # Token identifying the next page of results to return. If empty, no further
1484
1496
  # results are available.
@@ -1486,167 +1498,65 @@ module Google
1486
1498
  # @return [String]
1487
1499
  attr_accessor :next_page_token
1488
1500
 
1489
- # Courses that match the list request.
1490
- # Corresponds to the JSON property `courses`
1491
- # @return [Array<Google::Apis::ClassroomV1::Course>]
1492
- attr_accessor :courses
1493
-
1494
1501
  def initialize(**args)
1495
1502
  update!(**args)
1496
1503
  end
1497
1504
 
1498
1505
  # Update properties of this object
1499
1506
  def update!(**args)
1507
+ @student_submissions = args[:student_submissions] if args.key?(:student_submissions)
1500
1508
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1501
- @courses = args[:courses] if args.key?(:courses)
1502
- end
1503
- end
1504
-
1505
- # An invitation to join a course.
1506
- class Invitation
1507
- include Google::Apis::Core::Hashable
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
-
1536
- def initialize(**args)
1537
- update!(**args)
1538
- end
1539
-
1540
- # Update properties of this object
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)
1546
1509
  end
1547
1510
  end
1548
1511
 
1549
- # Response when listing student submissions.
1550
- class ListStudentSubmissionsResponse
1512
+ # Request to turn in a student submission.
1513
+ class TurnInStudentSubmissionRequest
1551
1514
  include Google::Apis::Core::Hashable
1552
1515
 
1553
- # Token identifying the next page of results to return. If empty, no further
1554
- # results are available.
1555
- # Corresponds to the JSON property `nextPageToken`
1556
- # @return [String]
1557
- attr_accessor :next_page_token
1558
-
1559
- # Student work that matches the request.
1560
- # Corresponds to the JSON property `studentSubmissions`
1561
- # @return [Array<Google::Apis::ClassroomV1::StudentSubmission>]
1562
- attr_accessor :student_submissions
1563
-
1564
1516
  def initialize(**args)
1565
1517
  update!(**args)
1566
1518
  end
1567
1519
 
1568
1520
  # Update properties of this object
1569
1521
  def update!(**args)
1570
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1571
- @student_submissions = args[:student_submissions] if args.key?(:student_submissions)
1572
1522
  end
1573
1523
  end
1574
1524
 
1575
- # Details of the user's name.
1576
- class Name
1525
+ # Request to reclaim a student submission.
1526
+ class ReclaimStudentSubmissionRequest
1577
1527
  include Google::Apis::Core::Hashable
1578
1528
 
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
1529
  def initialize(**args)
1599
1530
  update!(**args)
1600
1531
  end
1601
1532
 
1602
1533
  # Update properties of this object
1603
1534
  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
1535
  end
1608
1536
  end
1609
1537
 
1610
- # Response when listing invitations.
1611
- class ListInvitationsResponse
1538
+ # Request to return a student submission.
1539
+ class ReturnStudentSubmissionRequest
1612
1540
  include Google::Apis::Core::Hashable
1613
1541
 
1614
- # Token identifying the next page of results to return. If empty, no further
1615
- # results are available.
1616
- # Corresponds to the JSON property `nextPageToken`
1617
- # @return [String]
1618
- attr_accessor :next_page_token
1619
-
1620
- # Invitations that match the list request.
1621
- # Corresponds to the JSON property `invitations`
1622
- # @return [Array<Google::Apis::ClassroomV1::Invitation>]
1623
- attr_accessor :invitations
1624
-
1625
1542
  def initialize(**args)
1626
1543
  update!(**args)
1627
1544
  end
1628
1545
 
1629
1546
  # Update properties of this object
1630
1547
  def update!(**args)
1631
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1632
- @invitations = args[:invitations] if args.key?(:invitations)
1633
1548
  end
1634
1549
  end
1635
1550
 
1636
- # Response when listing students.
1637
- class ListStudentsResponse
1551
+ # Request to modify the attachments of a student submission.
1552
+ class ModifyAttachmentsRequest
1638
1553
  include Google::Apis::Core::Hashable
1639
1554
 
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
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
1650
1560
 
1651
1561
  def initialize(**args)
1652
1562
  update!(**args)
@@ -1654,8 +1564,7 @@ module Google
1654
1564
 
1655
1565
  # Update properties of this object
1656
1566
  def update!(**args)
1657
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1658
- @students = args[:students] if args.key?(:students)
1567
+ @add_attachments = args[:add_attachments] if args.key?(:add_attachments)
1659
1568
  end
1660
1569
  end
1661
1570
  end