google-api-client 0.9.pre1 → 0.9.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +4 -3
  4. data/api_names.yaml +42 -0
  5. data/api_names_out.yaml +977 -651
  6. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  7. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  8. data/generated/google/apis/adsense_v1_4.rb +1 -1
  9. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  10. data/generated/google/apis/androidenterprise_v1/classes.rb +31 -24
  11. data/generated/google/apis/androidenterprise_v1/service.rb +11 -6
  12. data/generated/google/apis/androidenterprise_v1.rb +2 -1
  13. data/generated/google/apis/appstate_v1.rb +1 -1
  14. data/generated/google/apis/autoscaler_v1beta2.rb +1 -1
  15. data/generated/google/apis/bigquery_v2/classes.rb +34 -0
  16. data/generated/google/apis/bigquery_v2/representations.rb +14 -0
  17. data/generated/google/apis/bigquery_v2/service.rb +2 -2
  18. data/generated/google/apis/bigquery_v2.rb +1 -1
  19. data/generated/google/apis/calendar_v3/classes.rb +8 -0
  20. data/generated/google/apis/calendar_v3/representations.rb +1 -0
  21. data/generated/google/apis/calendar_v3.rb +1 -1
  22. data/generated/google/apis/civicinfo_v2/classes.rb +61 -0
  23. data/generated/google/apis/civicinfo_v2/representations.rb +8 -0
  24. data/generated/google/apis/civicinfo_v2.rb +1 -1
  25. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  26. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  27. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  28. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  29. data/generated/google/apis/cloudmonitoring_v2beta2.rb +4 -1
  30. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +20 -19
  31. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +34 -34
  32. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +2 -5
  33. data/generated/google/apis/compute_v1/classes.rb +2638 -1136
  34. data/generated/google/apis/compute_v1/representations.rb +580 -0
  35. data/generated/google/apis/compute_v1/service.rb +2448 -305
  36. data/generated/google/apis/compute_v1.rb +1 -1
  37. data/generated/google/apis/container_v1/classes.rb +438 -0
  38. data/generated/google/apis/container_v1/representations.rb +163 -0
  39. data/generated/google/apis/container_v1/service.rb +346 -0
  40. data/generated/google/apis/container_v1.rb +35 -0
  41. data/generated/google/apis/container_v1beta1.rb +1 -1
  42. data/generated/google/apis/content_v2/service.rb +48 -12
  43. data/generated/google/apis/content_v2.rb +1 -1
  44. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +13 -9
  45. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +110 -15
  46. data/generated/google/apis/deploymentmanager_v2beta2.rb +1 -1
  47. data/generated/google/apis/discovery_v1/classes.rb +7 -0
  48. data/generated/google/apis/discovery_v1/representations.rb +1 -0
  49. data/generated/google/apis/dns_v1/service.rb +4 -1
  50. data/generated/google/apis/dns_v1.rb +1 -1
  51. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  52. data/generated/google/apis/drive_v2.rb +1 -1
  53. data/generated/google/apis/fitness_v1/classes.rb +65 -2
  54. data/generated/google/apis/fitness_v1/representations.rb +27 -0
  55. data/generated/google/apis/fitness_v1.rb +1 -1
  56. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  57. data/generated/google/apis/games_v1.rb +1 -1
  58. data/generated/google/apis/genomics_v1/classes.rb +2287 -0
  59. data/generated/google/apis/genomics_v1/representations.rb +796 -0
  60. data/generated/google/apis/genomics_v1/service.rb +1520 -0
  61. data/generated/google/apis/genomics_v1.rb +47 -0
  62. data/generated/google/apis/genomics_v1beta2/service.rb +36 -0
  63. data/generated/google/apis/genomics_v1beta2.rb +1 -1
  64. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  65. data/generated/google/apis/mapsengine_v1.rb +1 -1
  66. data/generated/google/apis/oauth2_v2.rb +1 -1
  67. data/generated/google/apis/plus_domains_v1.rb +1 -1
  68. data/generated/google/apis/plus_v1.rb +1 -1
  69. data/generated/google/apis/prediction_v1_6/classes.rb +1 -1
  70. data/generated/google/apis/pubsub_v1beta2/classes.rb +42 -42
  71. data/generated/google/apis/pubsub_v1beta2/service.rb +26 -22
  72. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  73. data/generated/google/apis/replicapool_v1beta2/classes.rb +10 -0
  74. data/generated/google/apis/replicapool_v1beta2/representations.rb +1 -0
  75. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  76. data/generated/google/apis/resourceviews_v1beta2.rb +1 -1
  77. data/generated/google/apis/storage_v1/classes.rb +4 -2
  78. data/generated/google/apis/storage_v1.rb +1 -1
  79. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  80. data/generated/google/apis/youtube_v3/classes.rb +3 -3
  81. data/generated/google/apis/youtube_v3/representations.rb +1 -1
  82. data/generated/google/apis/youtube_v3/service.rb +78 -0
  83. data/generated/google/apis/youtube_v3.rb +1 -1
  84. data/google-api-client.gemspec +0 -1
  85. data/lib/google/api_client/auth/installed_app.rb +6 -4
  86. data/lib/google/api_client/auth/key_utils.rb +93 -0
  87. data/lib/google/apis/core/api_command.rb +12 -5
  88. data/lib/google/apis/core/http_command.rb +17 -7
  89. data/lib/google/apis/core/json_representation.rb +6 -2
  90. data/lib/google/apis/errors.rb +9 -2
  91. data/lib/google/apis/version.rb +1 -1
  92. data/script/generate +4 -3
  93. data/spec/google/apis/core/http_command_spec.rb +20 -0
  94. data/spec/google/apis/core/json_representation_spec.rb +1 -1
  95. metadata +15 -16
@@ -0,0 +1,190 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ClassroomV1beta1
24
+
25
+ class Course
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+ end
28
+
29
+ class Empty
30
+ class Representation < Google::Apis::Core::JsonRepresentation; end
31
+ end
32
+
33
+ class ListCoursesResponse
34
+ class Representation < Google::Apis::Core::JsonRepresentation; end
35
+ end
36
+
37
+ class CourseAlias
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+ end
40
+
41
+ class ListCourseAliasesResponse
42
+ class Representation < Google::Apis::Core::JsonRepresentation; end
43
+ end
44
+
45
+ class UserProfile
46
+ class Representation < Google::Apis::Core::JsonRepresentation; end
47
+ end
48
+
49
+ class Name
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+ end
52
+
53
+ class GlobalPermission
54
+ class Representation < Google::Apis::Core::JsonRepresentation; end
55
+ end
56
+
57
+ class Teacher
58
+ class Representation < Google::Apis::Core::JsonRepresentation; end
59
+ end
60
+
61
+ class ListTeachersResponse
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+ end
64
+
65
+ class Student
66
+ class Representation < Google::Apis::Core::JsonRepresentation; end
67
+ end
68
+
69
+ class ListStudentsResponse
70
+ class Representation < Google::Apis::Core::JsonRepresentation; end
71
+ end
72
+
73
+ class Course
74
+ # @private
75
+ class Representation < Google::Apis::Core::JsonRepresentation
76
+ property :id, as: 'id'
77
+ property :name, as: 'name'
78
+ property :section, as: 'section'
79
+ property :description_heading, as: 'descriptionHeading'
80
+ property :description, as: 'description'
81
+ property :room, as: 'room'
82
+ property :primary_teacher_id, as: 'primaryTeacherId'
83
+ property :creation_time, as: 'creationTime'
84
+ property :update_time, as: 'updateTime'
85
+ property :enrollment_code, as: 'enrollmentCode'
86
+ property :course_state, as: 'courseState'
87
+ property :web_link, as: 'webLink'
88
+ end
89
+ end
90
+
91
+ class Empty
92
+ # @private
93
+ class Representation < Google::Apis::Core::JsonRepresentation
94
+ end
95
+ end
96
+
97
+ class ListCoursesResponse
98
+ # @private
99
+ class Representation < Google::Apis::Core::JsonRepresentation
100
+ collection :courses, as: 'courses', class: Google::Apis::ClassroomV1beta1::Course, decorator: Google::Apis::ClassroomV1beta1::Course::Representation
101
+
102
+ property :next_page_token, as: 'nextPageToken'
103
+ end
104
+ end
105
+
106
+ class CourseAlias
107
+ # @private
108
+ class Representation < Google::Apis::Core::JsonRepresentation
109
+ property :alias, as: 'alias'
110
+ end
111
+ end
112
+
113
+ class ListCourseAliasesResponse
114
+ # @private
115
+ class Representation < Google::Apis::Core::JsonRepresentation
116
+ collection :aliases, as: 'aliases', class: Google::Apis::ClassroomV1beta1::CourseAlias, decorator: Google::Apis::ClassroomV1beta1::CourseAlias::Representation
117
+
118
+ property :next_page_token, as: 'nextPageToken'
119
+ end
120
+ end
121
+
122
+ class UserProfile
123
+ # @private
124
+ class Representation < Google::Apis::Core::JsonRepresentation
125
+ property :id, as: 'id'
126
+ property :name, as: 'name', class: Google::Apis::ClassroomV1beta1::Name, decorator: Google::Apis::ClassroomV1beta1::Name::Representation
127
+
128
+ property :email_address, as: 'emailAddress'
129
+ property :photo_url, as: 'photoUrl'
130
+ collection :permissions, as: 'permissions', class: Google::Apis::ClassroomV1beta1::GlobalPermission, decorator: Google::Apis::ClassroomV1beta1::GlobalPermission::Representation
131
+
132
+ end
133
+ end
134
+
135
+ class Name
136
+ # @private
137
+ class Representation < Google::Apis::Core::JsonRepresentation
138
+ property :given_name, as: 'givenName'
139
+ property :family_name, as: 'familyName'
140
+ property :full_name, as: 'fullName'
141
+ end
142
+ end
143
+
144
+ class GlobalPermission
145
+ # @private
146
+ class Representation < Google::Apis::Core::JsonRepresentation
147
+ property :permission, as: 'permission'
148
+ end
149
+ end
150
+
151
+ class Teacher
152
+ # @private
153
+ class Representation < Google::Apis::Core::JsonRepresentation
154
+ property :course_id, as: 'courseId'
155
+ property :user_id, as: 'userId'
156
+ property :profile, as: 'profile', class: Google::Apis::ClassroomV1beta1::UserProfile, decorator: Google::Apis::ClassroomV1beta1::UserProfile::Representation
157
+
158
+ end
159
+ end
160
+
161
+ class ListTeachersResponse
162
+ # @private
163
+ class Representation < Google::Apis::Core::JsonRepresentation
164
+ collection :teachers, as: 'teachers', class: Google::Apis::ClassroomV1beta1::Teacher, decorator: Google::Apis::ClassroomV1beta1::Teacher::Representation
165
+
166
+ property :next_page_token, as: 'nextPageToken'
167
+ end
168
+ end
169
+
170
+ class Student
171
+ # @private
172
+ class Representation < Google::Apis::Core::JsonRepresentation
173
+ property :course_id, as: 'courseId'
174
+ property :user_id, as: 'userId'
175
+ property :profile, as: 'profile', class: Google::Apis::ClassroomV1beta1::UserProfile, decorator: Google::Apis::ClassroomV1beta1::UserProfile::Representation
176
+
177
+ end
178
+ end
179
+
180
+ class ListStudentsResponse
181
+ # @private
182
+ class Representation < Google::Apis::Core::JsonRepresentation
183
+ collection :students, as: 'students', class: Google::Apis::ClassroomV1beta1::Student, decorator: Google::Apis::ClassroomV1beta1::Student::Representation
184
+
185
+ property :next_page_token, as: 'nextPageToken'
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,791 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module ClassroomV1beta1
23
+ # Google Classroom API
24
+ #
25
+ # Google Classroom API
26
+ #
27
+ # @example
28
+ # require 'google/apis/classroom_v1beta1'
29
+ #
30
+ # Classroom = Google::Apis::ClassroomV1beta1 # Alias the module
31
+ # service = Classroom::ClassroomService.new
32
+ #
33
+ # @see
34
+ class ClassroomService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://classroom.googleapis.com/', '')
47
+ end
48
+
49
+ # Creates a course. The user specified as the primary teacher in `
50
+ # primary_teacher_id` is the owner of the created course and added as a teacher.
51
+ # This method returns the following error codes: * `PERMISSION_DENIED` if the
52
+ # requesting user is not permitted to create courses. * `NOT_FOUND` if the
53
+ # primary teacher is not a valid user. * `ALREADY_EXISTS` if an alias was
54
+ # specified and already exists.
55
+ # @param [Google::Apis::ClassroomV1beta1::Course] course_object
56
+ # @param [String] fields
57
+ # Selector specifying which fields to include in a partial response.
58
+ # @param [String] quota_user
59
+ # Available to use for quota purposes for server-side applications. Can be any
60
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
61
+ # @param [Google::Apis::RequestOptions] options
62
+ # Request-specific options
63
+ #
64
+ # @yield [result, err] Result & error if block supplied
65
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Course] parsed result object
66
+ # @yieldparam err [StandardError] error object if request failed
67
+ #
68
+ # @return [Google::Apis::ClassroomV1beta1::Course]
69
+ #
70
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
71
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
72
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
73
+ def create_course(course_object = nil, fields: nil, quota_user: nil, options: nil, &block)
74
+ path = 'v1beta1/courses'
75
+ command = make_simple_command(:post, path, options)
76
+ command.request_representation = Google::Apis::ClassroomV1beta1::Course::Representation
77
+ command.request_object = course_object
78
+ command.response_representation = Google::Apis::ClassroomV1beta1::Course::Representation
79
+ command.response_class = Google::Apis::ClassroomV1beta1::Course
80
+ command.query['fields'] = fields unless fields.nil?
81
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
82
+ execute_or_queue_command(command, &block)
83
+ end
84
+
85
+ # Returns a course. This method returns the following error codes: * `
86
+ # PERMISSION_DENIED` if the requesting user is not permitted to access the
87
+ # requested course. * `NOT_FOUND` if no course exists with the requested ID.
88
+ # @param [String] id
89
+ # Identifier of the course to return. This may either be the Classroom-assigned
90
+ # identifier or an [alias][google.classroom.v1beta1.CourseAlias].
91
+ # @param [String] fields
92
+ # Selector specifying which fields to include in a partial response.
93
+ # @param [String] quota_user
94
+ # Available to use for quota purposes for server-side applications. Can be any
95
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
96
+ # @param [Google::Apis::RequestOptions] options
97
+ # Request-specific options
98
+ #
99
+ # @yield [result, err] Result & error if block supplied
100
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Course] parsed result object
101
+ # @yieldparam err [StandardError] error object if request failed
102
+ #
103
+ # @return [Google::Apis::ClassroomV1beta1::Course]
104
+ #
105
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
106
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
107
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
108
+ def get_course(id, fields: nil, quota_user: nil, options: nil, &block)
109
+ path = 'v1beta1/courses/{id}'
110
+ command = make_simple_command(:get, path, options)
111
+ command.response_representation = Google::Apis::ClassroomV1beta1::Course::Representation
112
+ command.response_class = Google::Apis::ClassroomV1beta1::Course
113
+ command.params['id'] = id unless id.nil?
114
+ command.query['fields'] = fields unless fields.nil?
115
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
116
+ execute_or_queue_command(command, &block)
117
+ end
118
+
119
+ # Updates a course. This method returns the following error codes: * `
120
+ # PERMISSION_DENIED` if the requesting user is not permitted to modify the
121
+ # requested course. * `NOT_FOUND` if no course exists with the requested ID.
122
+ # @param [String] id
123
+ # Identifier of the course to update. This may either be the Classroom-assigned
124
+ # identifier or an [alias][google.classroom.v1beta1.CourseAlias].
125
+ # @param [Google::Apis::ClassroomV1beta1::Course] course_object
126
+ # @param [String] fields
127
+ # Selector specifying which fields to include in a partial response.
128
+ # @param [String] quota_user
129
+ # Available to use for quota purposes for server-side applications. Can be any
130
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
131
+ # @param [Google::Apis::RequestOptions] options
132
+ # Request-specific options
133
+ #
134
+ # @yield [result, err] Result & error if block supplied
135
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Course] parsed result object
136
+ # @yieldparam err [StandardError] error object if request failed
137
+ #
138
+ # @return [Google::Apis::ClassroomV1beta1::Course]
139
+ #
140
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
141
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
142
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
143
+ def update_course(id, course_object = nil, fields: nil, quota_user: nil, options: nil, &block)
144
+ path = 'v1beta1/courses/{id}'
145
+ command = make_simple_command(:put, path, options)
146
+ command.request_representation = Google::Apis::ClassroomV1beta1::Course::Representation
147
+ command.request_object = course_object
148
+ command.response_representation = Google::Apis::ClassroomV1beta1::Course::Representation
149
+ command.response_class = Google::Apis::ClassroomV1beta1::Course
150
+ command.params['id'] = id unless id.nil?
151
+ command.query['fields'] = fields unless fields.nil?
152
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
153
+ execute_or_queue_command(command, &block)
154
+ end
155
+
156
+ # Updates one or more fields a course. This method returns the following error
157
+ # codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify
158
+ # the requested course. * `NOT_FOUND` if no course exists with the requested ID.
159
+ # * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or if
160
+ # no update mask is supplied.
161
+ # @param [String] id
162
+ # Identifier of the course to update. This may either be the Classroom-assigned
163
+ # identifier or an [alias][google.classroom.v1beta1.CourseAlias].
164
+ # @param [Google::Apis::ClassroomV1beta1::Course] course_object
165
+ # @param [String] update_mask
166
+ # Mask which identifies which fields on the course to update. This field is
167
+ # required to do an update. The update will fail if invalid fields are specified.
168
+ # Valid fields are listed below: * `name` * `section` * `descriptionHeading` * `
169
+ # description` * `room` * `courseState` When set in a query parameter, this
170
+ # should be specified as `updateMask=,,...`
171
+ # @param [String] fields
172
+ # Selector specifying which fields to include in a partial response.
173
+ # @param [String] quota_user
174
+ # Available to use for quota purposes for server-side applications. Can be any
175
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
176
+ # @param [Google::Apis::RequestOptions] options
177
+ # Request-specific options
178
+ #
179
+ # @yield [result, err] Result & error if block supplied
180
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Course] parsed result object
181
+ # @yieldparam err [StandardError] error object if request failed
182
+ #
183
+ # @return [Google::Apis::ClassroomV1beta1::Course]
184
+ #
185
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
186
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
187
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
188
+ def patch_course(id, course_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
189
+ path = 'v1beta1/courses/{id}'
190
+ command = make_simple_command(:patch, path, options)
191
+ command.request_representation = Google::Apis::ClassroomV1beta1::Course::Representation
192
+ command.request_object = course_object
193
+ command.response_representation = Google::Apis::ClassroomV1beta1::Course::Representation
194
+ command.response_class = Google::Apis::ClassroomV1beta1::Course
195
+ command.params['id'] = id unless id.nil?
196
+ command.query['updateMask'] = update_mask unless update_mask.nil?
197
+ command.query['fields'] = fields unless fields.nil?
198
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
199
+ execute_or_queue_command(command, &block)
200
+ end
201
+
202
+ # Deletes a course. This method returns the following error codes: * `
203
+ # PERMISSION_DENIED` if the requesting user is not permitted to delete the
204
+ # requested course. * `NOT_FOUND` if no course exists with the requested ID.
205
+ # @param [String] id
206
+ # Identifier of the course to delete. This may either be the Classroom-assigned
207
+ # identifier or an [alias][google.classroom.v1beta1.CourseAlias].
208
+ # @param [String] fields
209
+ # Selector specifying which fields to include in a partial response.
210
+ # @param [String] quota_user
211
+ # Available to use for quota purposes for server-side applications. Can be any
212
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
213
+ # @param [Google::Apis::RequestOptions] options
214
+ # Request-specific options
215
+ #
216
+ # @yield [result, err] Result & error if block supplied
217
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Empty] parsed result object
218
+ # @yieldparam err [StandardError] error object if request failed
219
+ #
220
+ # @return [Google::Apis::ClassroomV1beta1::Empty]
221
+ #
222
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
223
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
224
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
225
+ def delete_course(id, fields: nil, quota_user: nil, options: nil, &block)
226
+ path = 'v1beta1/courses/{id}'
227
+ command = make_simple_command(:delete, path, options)
228
+ command.response_representation = Google::Apis::ClassroomV1beta1::Empty::Representation
229
+ command.response_class = Google::Apis::ClassroomV1beta1::Empty
230
+ command.params['id'] = id unless id.nil?
231
+ command.query['fields'] = fields unless fields.nil?
232
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
233
+ execute_or_queue_command(command, &block)
234
+ end
235
+
236
+ # Returns a list of courses that the requesting user is permitted to view,
237
+ # restricted to those that match the request. This method returns the following
238
+ # error codes: * `INVALID_ARGUMENT` if the query argument is malformed. * `
239
+ # NOT_FOUND` if any users specified in the query arguments do not exist.
240
+ # @param [String] student_id
241
+ # Restricts returned courses to those having a student with the specified
242
+ # identifier, or an alias that identifies a student. The following aliases are
243
+ # supported: * the e-mail address of the user * the string literal `"me"`,
244
+ # indicating that the requesting user
245
+ # @param [String] teacher_id
246
+ # Restricts returned courses to those having a teacher with the specified
247
+ # identifier, or an alias that identifies a teacher. The following aliases are
248
+ # supported: * the e-mail address of the user * the string literal `"me"`,
249
+ # indicating that the requesting user
250
+ # @param [Fixnum] page_size
251
+ # Maximum number of items to return. Zero or unspecified indicates that the
252
+ # server may assign a maximum. The server may return fewer than the specified
253
+ # number of results.
254
+ # @param [String] page_token
255
+ # [nextPageToken][google.classroom.v1beta1.ListCoursesResponse.next_page_token]
256
+ # value returned from a previous [list][google.classroom.v1beta1.Courses.
257
+ # ListCourses] call, indicating that the subsequent page of results should be
258
+ # returned. The [list][google.classroom.v1beta1.Courses.ListCourses] request
259
+ # must be identical to the one which resulted in this token.
260
+ # @param [String] fields
261
+ # Selector specifying which fields to include in a partial response.
262
+ # @param [String] quota_user
263
+ # Available to use for quota purposes for server-side applications. Can be any
264
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
265
+ # @param [Google::Apis::RequestOptions] options
266
+ # Request-specific options
267
+ #
268
+ # @yield [result, err] Result & error if block supplied
269
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::ListCoursesResponse] parsed result object
270
+ # @yieldparam err [StandardError] error object if request failed
271
+ #
272
+ # @return [Google::Apis::ClassroomV1beta1::ListCoursesResponse]
273
+ #
274
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
275
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
276
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
277
+ def list_courses(student_id: nil, teacher_id: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
278
+ path = 'v1beta1/courses'
279
+ command = make_simple_command(:get, path, options)
280
+ command.response_representation = Google::Apis::ClassroomV1beta1::ListCoursesResponse::Representation
281
+ command.response_class = Google::Apis::ClassroomV1beta1::ListCoursesResponse
282
+ command.query['studentId'] = student_id unless student_id.nil?
283
+ command.query['teacherId'] = teacher_id unless teacher_id.nil?
284
+ command.query['pageSize'] = page_size unless page_size.nil?
285
+ command.query['pageToken'] = page_token unless page_token.nil?
286
+ command.query['fields'] = fields unless fields.nil?
287
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
288
+ execute_or_queue_command(command, &block)
289
+ end
290
+
291
+ # Creates an alias to a course. This method returns the following error codes: *
292
+ # `PERMISSION_DENIED` if the requesting user is not permitted to create the
293
+ # alias. * `NOT_FOUND` if the course does not exist. * `ALREADY_EXISTS` if the
294
+ # alias already exists.
295
+ # @param [String] course_id
296
+ # The identifier of the course to alias. This may either be the Classroom-
297
+ # assigned identifier or an [alias][google.classroom.v1beta1.CourseAlias].
298
+ # @param [Google::Apis::ClassroomV1beta1::CourseAlias] course_alias_object
299
+ # @param [String] fields
300
+ # Selector specifying which fields to include in a partial response.
301
+ # @param [String] quota_user
302
+ # Available to use for quota purposes for server-side applications. Can be any
303
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
304
+ # @param [Google::Apis::RequestOptions] options
305
+ # Request-specific options
306
+ #
307
+ # @yield [result, err] Result & error if block supplied
308
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::CourseAlias] parsed result object
309
+ # @yieldparam err [StandardError] error object if request failed
310
+ #
311
+ # @return [Google::Apis::ClassroomV1beta1::CourseAlias]
312
+ #
313
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
314
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
315
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
316
+ def create_course_alias(course_id, course_alias_object = nil, fields: nil, quota_user: nil, options: nil, &block)
317
+ path = 'v1beta1/courses/{courseId}/aliases'
318
+ command = make_simple_command(:post, path, options)
319
+ command.request_representation = Google::Apis::ClassroomV1beta1::CourseAlias::Representation
320
+ command.request_object = course_alias_object
321
+ command.response_representation = Google::Apis::ClassroomV1beta1::CourseAlias::Representation
322
+ command.response_class = Google::Apis::ClassroomV1beta1::CourseAlias
323
+ command.params['courseId'] = course_id unless course_id.nil?
324
+ command.query['fields'] = fields unless fields.nil?
325
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
326
+ execute_or_queue_command(command, &block)
327
+ end
328
+
329
+ # Deletes an alias of a course. This method returns the following error codes: *
330
+ # `PERMISSION_DENIED` if the requesting user is not permitted to remove the
331
+ # alias. * `NOT_FOUND` if the alias does not exist.
332
+ # @param [String] course_id
333
+ # The identifier of the course whose alias should be deleted. This may either be
334
+ # the Classroom-assigned identifier or an [alias][google.classroom.v1beta1.
335
+ # CourseAlias].
336
+ # @param [String] alias_
337
+ # The alias to delete. This may not be the Classroom-assigned identifier.
338
+ # @param [String] fields
339
+ # Selector specifying which fields to include in a partial response.
340
+ # @param [String] quota_user
341
+ # Available to use for quota purposes for server-side applications. Can be any
342
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
343
+ # @param [Google::Apis::RequestOptions] options
344
+ # Request-specific options
345
+ #
346
+ # @yield [result, err] Result & error if block supplied
347
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Empty] parsed result object
348
+ # @yieldparam err [StandardError] error object if request failed
349
+ #
350
+ # @return [Google::Apis::ClassroomV1beta1::Empty]
351
+ #
352
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
353
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
354
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
355
+ def delete_course_alias(course_id, alias_, fields: nil, quota_user: nil, options: nil, &block)
356
+ path = 'v1beta1/courses/{courseId}/aliases/{alias}'
357
+ command = make_simple_command(:delete, path, options)
358
+ command.response_representation = Google::Apis::ClassroomV1beta1::Empty::Representation
359
+ command.response_class = Google::Apis::ClassroomV1beta1::Empty
360
+ command.params['courseId'] = course_id unless course_id.nil?
361
+ command.params['alias'] = alias_ unless alias_.nil?
362
+ command.query['fields'] = fields unless fields.nil?
363
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
364
+ execute_or_queue_command(command, &block)
365
+ end
366
+
367
+ # Lists the aliases of a course. This method returns the following error codes: *
368
+ # `PERMISSION_DENIED` if the requesting user is not permitted to access the
369
+ # course. * `NOT_FOUND` if the course does not exist.
370
+ # @param [String] course_id
371
+ # The identifier of the course. This may either be the Classroom-assigned
372
+ # identifier or an [alias][google.classroom.v1beta1.CourseAlias].
373
+ # @param [Fixnum] page_size
374
+ # Maximum number of items to return. Zero or unspecified indicates that the
375
+ # server may assign a maximum. The server may return fewer than the specified
376
+ # number of results.
377
+ # @param [String] page_token
378
+ # [nextPageToken][google.classroom.v1beta1.ListCourseAliasesResponse.
379
+ # next_page_token] value returned from a previous [list][google.classroom.
380
+ # v1beta1.Courses.ListCourseAliases] call, indicating that the subsequent page
381
+ # of results should be returned. The [list][google.classroom.v1beta1.Courses.
382
+ # ListCourseAliases] request must be identical to the one which resulted in this
383
+ # token.
384
+ # @param [String] fields
385
+ # Selector specifying which fields to include in a partial response.
386
+ # @param [String] quota_user
387
+ # Available to use for quota purposes for server-side applications. Can be any
388
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
389
+ # @param [Google::Apis::RequestOptions] options
390
+ # Request-specific options
391
+ #
392
+ # @yield [result, err] Result & error if block supplied
393
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::ListCourseAliasesResponse] parsed result object
394
+ # @yieldparam err [StandardError] error object if request failed
395
+ #
396
+ # @return [Google::Apis::ClassroomV1beta1::ListCourseAliasesResponse]
397
+ #
398
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
399
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
400
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
401
+ def list_course_aliases(course_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
402
+ path = 'v1beta1/courses/{courseId}/aliases'
403
+ command = make_simple_command(:get, path, options)
404
+ command.response_representation = Google::Apis::ClassroomV1beta1::ListCourseAliasesResponse::Representation
405
+ command.response_class = Google::Apis::ClassroomV1beta1::ListCourseAliasesResponse
406
+ command.params['courseId'] = course_id unless course_id.nil?
407
+ command.query['pageSize'] = page_size unless page_size.nil?
408
+ command.query['pageToken'] = page_token unless page_token.nil?
409
+ command.query['fields'] = fields unless fields.nil?
410
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
411
+ execute_or_queue_command(command, &block)
412
+ end
413
+
414
+ # Creates a teacher of a course. This method returns the following error codes: *
415
+ # `PERMISSION_DENIED` if the requesting user is not permitted to create
416
+ # teachers in this course. * `NOT_FOUND` if the requested course ID does not
417
+ # exist. * `ALREADY_EXISTS` if the user is already a teacher or student in the
418
+ # course.
419
+ # @param [String] course_id
420
+ # Unique identifier of the course. This may either be the Classroom-assigned
421
+ # identifier or an alias.
422
+ # @param [Google::Apis::ClassroomV1beta1::Teacher] teacher_object
423
+ # @param [String] fields
424
+ # Selector specifying which fields to include in a partial response.
425
+ # @param [String] quota_user
426
+ # Available to use for quota purposes for server-side applications. Can be any
427
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
428
+ # @param [Google::Apis::RequestOptions] options
429
+ # Request-specific options
430
+ #
431
+ # @yield [result, err] Result & error if block supplied
432
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Teacher] parsed result object
433
+ # @yieldparam err [StandardError] error object if request failed
434
+ #
435
+ # @return [Google::Apis::ClassroomV1beta1::Teacher]
436
+ #
437
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
438
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
439
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
440
+ def create_course_teacher(course_id, teacher_object = nil, fields: nil, quota_user: nil, options: nil, &block)
441
+ path = 'v1beta1/courses/{courseId}/teachers'
442
+ command = make_simple_command(:post, path, options)
443
+ command.request_representation = Google::Apis::ClassroomV1beta1::Teacher::Representation
444
+ command.request_object = teacher_object
445
+ command.response_representation = Google::Apis::ClassroomV1beta1::Teacher::Representation
446
+ command.response_class = Google::Apis::ClassroomV1beta1::Teacher
447
+ command.params['courseId'] = course_id unless course_id.nil?
448
+ command.query['fields'] = fields unless fields.nil?
449
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
450
+ execute_or_queue_command(command, &block)
451
+ end
452
+
453
+ # Returns a teacher of a course. This method returns the following error codes: *
454
+ # `PERMISSION_DENIED` if the requesting user is not permitted to view teachers
455
+ # of this course. * `NOT_FOUND` if no teacher of this course has the requested
456
+ # ID or if the course does not exist.
457
+ # @param [String] course_id
458
+ # Unique identifier of the course. This may either be the Classroom-assigned
459
+ # identifier or an alias.
460
+ # @param [String] user_id
461
+ # Identifier of the teacher to return, or an alias the identifies the user. the
462
+ # following aliases are supported: * the e-mail address of the user * the string
463
+ # literal `"me"`, indicating that the requesting user
464
+ # @param [String] fields
465
+ # Selector specifying which fields to include in a partial response.
466
+ # @param [String] quota_user
467
+ # Available to use for quota purposes for server-side applications. Can be any
468
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
469
+ # @param [Google::Apis::RequestOptions] options
470
+ # Request-specific options
471
+ #
472
+ # @yield [result, err] Result & error if block supplied
473
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Teacher] parsed result object
474
+ # @yieldparam err [StandardError] error object if request failed
475
+ #
476
+ # @return [Google::Apis::ClassroomV1beta1::Teacher]
477
+ #
478
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
479
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
480
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
481
+ def get_course_teacher(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
482
+ path = 'v1beta1/courses/{courseId}/teachers/{userId}'
483
+ command = make_simple_command(:get, path, options)
484
+ command.response_representation = Google::Apis::ClassroomV1beta1::Teacher::Representation
485
+ command.response_class = Google::Apis::ClassroomV1beta1::Teacher
486
+ command.params['courseId'] = course_id unless course_id.nil?
487
+ command.params['userId'] = user_id unless user_id.nil?
488
+ command.query['fields'] = fields unless fields.nil?
489
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
490
+ execute_or_queue_command(command, &block)
491
+ end
492
+
493
+ # Deletes a teacher of a course. This method returns the following error codes: *
494
+ # `PERMISSION_DENIED` if the requesting user is not permitted to delete
495
+ # teachers of this course. * `NOT_FOUND` if no teacher of this course has the
496
+ # requested ID or if the course does not exist. * `FAILED_PRECONDITION` if the
497
+ # requested ID belongs to the primary teacher of this course.
498
+ # @param [String] course_id
499
+ # Unique identifier of the course. This may either be the Classroom-assigned
500
+ # identifier or an alias.
501
+ # @param [String] user_id
502
+ # Identifier of the teacher to delete, or an alias the identifies the user. the
503
+ # following aliases are supported: * the e-mail address of the user * the string
504
+ # literal `"me"`, indicating that the requesting user
505
+ # @param [String] fields
506
+ # Selector specifying which fields to include in a partial response.
507
+ # @param [String] quota_user
508
+ # Available to use for quota purposes for server-side applications. Can be any
509
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
510
+ # @param [Google::Apis::RequestOptions] options
511
+ # Request-specific options
512
+ #
513
+ # @yield [result, err] Result & error if block supplied
514
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Empty] parsed result object
515
+ # @yieldparam err [StandardError] error object if request failed
516
+ #
517
+ # @return [Google::Apis::ClassroomV1beta1::Empty]
518
+ #
519
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
520
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
521
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
522
+ def delete_course_teacher(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
523
+ path = 'v1beta1/courses/{courseId}/teachers/{userId}'
524
+ command = make_simple_command(:delete, path, options)
525
+ command.response_representation = Google::Apis::ClassroomV1beta1::Empty::Representation
526
+ command.response_class = Google::Apis::ClassroomV1beta1::Empty
527
+ command.params['courseId'] = course_id unless course_id.nil?
528
+ command.params['userId'] = user_id unless user_id.nil?
529
+ command.query['fields'] = fields unless fields.nil?
530
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
531
+ execute_or_queue_command(command, &block)
532
+ end
533
+
534
+ # Returns a list of teachers of this course that the requester is permitted to
535
+ # view. Fails with `NOT_FOUND` if the course does not exist.
536
+ # @param [String] course_id
537
+ # Unique identifier of the course. This may either be the Classroom-assigned
538
+ # identifier or an alias.
539
+ # @param [Fixnum] page_size
540
+ # Maximum number of items to return. Zero means no maximum. The server may
541
+ # return fewer than the specified number of results.
542
+ # @param [String] page_token
543
+ # [nextPageToken][google.classroom.v1beta1.ListTeachersResponse.next_page_token]
544
+ # value returned from a previous [list][google.classroom.v1beta1.Users.
545
+ # ListTeachers] call, indicating that the subsequent page of results should be
546
+ # returned. The [list][google.classroom.v1beta1.Users.ListTeachers] request must
547
+ # be identical to the one which resulted in this token.
548
+ # @param [String] fields
549
+ # Selector specifying which fields to include in a partial response.
550
+ # @param [String] quota_user
551
+ # Available to use for quota purposes for server-side applications. Can be any
552
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
553
+ # @param [Google::Apis::RequestOptions] options
554
+ # Request-specific options
555
+ #
556
+ # @yield [result, err] Result & error if block supplied
557
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::ListTeachersResponse] parsed result object
558
+ # @yieldparam err [StandardError] error object if request failed
559
+ #
560
+ # @return [Google::Apis::ClassroomV1beta1::ListTeachersResponse]
561
+ #
562
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
563
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
564
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
565
+ def list_course_teachers(course_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
566
+ path = 'v1beta1/courses/{courseId}/teachers'
567
+ command = make_simple_command(:get, path, options)
568
+ command.response_representation = Google::Apis::ClassroomV1beta1::ListTeachersResponse::Representation
569
+ command.response_class = Google::Apis::ClassroomV1beta1::ListTeachersResponse
570
+ command.params['courseId'] = course_id unless course_id.nil?
571
+ command.query['pageSize'] = page_size unless page_size.nil?
572
+ command.query['pageToken'] = page_token unless page_token.nil?
573
+ command.query['fields'] = fields unless fields.nil?
574
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
575
+ execute_or_queue_command(command, &block)
576
+ end
577
+
578
+ # Adds a user as a student of a course. This method returns the following error
579
+ # codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create
580
+ # students in this course. * `NOT_FOUND` if the requested course ID does not
581
+ # exist. * `ALREADY_EXISTS` if the user is already a student or student in the
582
+ # course.
583
+ # @param [String] course_id
584
+ # Identifier of the course to create the student in. This may either be the
585
+ # Classroom-assigned identifier or an alias.
586
+ # @param [Google::Apis::ClassroomV1beta1::Student] student_object
587
+ # @param [String] enrollment_code
588
+ # Enrollment code of the course to create the student in. This is required if [
589
+ # userId][google.classroom.v1beta1.Student.user_id] corresponds to the
590
+ # requesting user; this may be omitted if the requesting user has administrative
591
+ # permissions to create students for any user.
592
+ # @param [String] fields
593
+ # Selector specifying which fields to include in a partial response.
594
+ # @param [String] quota_user
595
+ # Available to use for quota purposes for server-side applications. Can be any
596
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
597
+ # @param [Google::Apis::RequestOptions] options
598
+ # Request-specific options
599
+ #
600
+ # @yield [result, err] Result & error if block supplied
601
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Student] parsed result object
602
+ # @yieldparam err [StandardError] error object if request failed
603
+ #
604
+ # @return [Google::Apis::ClassroomV1beta1::Student]
605
+ #
606
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
607
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
608
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
609
+ def create_course_student(course_id, student_object = nil, enrollment_code: nil, fields: nil, quota_user: nil, options: nil, &block)
610
+ path = 'v1beta1/courses/{courseId}/students'
611
+ command = make_simple_command(:post, path, options)
612
+ command.request_representation = Google::Apis::ClassroomV1beta1::Student::Representation
613
+ command.request_object = student_object
614
+ command.response_representation = Google::Apis::ClassroomV1beta1::Student::Representation
615
+ command.response_class = Google::Apis::ClassroomV1beta1::Student
616
+ command.params['courseId'] = course_id unless course_id.nil?
617
+ command.query['enrollmentCode'] = enrollment_code unless enrollment_code.nil?
618
+ command.query['fields'] = fields unless fields.nil?
619
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
620
+ execute_or_queue_command(command, &block)
621
+ end
622
+
623
+ # Returns a student of a course. This method returns the following error codes: *
624
+ # `PERMISSION_DENIED` if the requesting user is not permitted to view students
625
+ # of this course. * `NOT_FOUND` if no student of this course has the requested
626
+ # ID or if the course does not exist.
627
+ # @param [String] course_id
628
+ # Unique identifier of the course. This may either be the Classroom-assigned
629
+ # identifier or an alias.
630
+ # @param [String] user_id
631
+ # Identifier of the student to return, or an alias the identifies the user. The
632
+ # following aliases are supported: * the e-mail address of the user * the string
633
+ # literal `"me"`, indicating that the requesting user
634
+ # @param [String] fields
635
+ # Selector specifying which fields to include in a partial response.
636
+ # @param [String] quota_user
637
+ # Available to use for quota purposes for server-side applications. Can be any
638
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
639
+ # @param [Google::Apis::RequestOptions] options
640
+ # Request-specific options
641
+ #
642
+ # @yield [result, err] Result & error if block supplied
643
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Student] parsed result object
644
+ # @yieldparam err [StandardError] error object if request failed
645
+ #
646
+ # @return [Google::Apis::ClassroomV1beta1::Student]
647
+ #
648
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
649
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
650
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
651
+ def get_course_student(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
652
+ path = 'v1beta1/courses/{courseId}/students/{userId}'
653
+ command = make_simple_command(:get, path, options)
654
+ command.response_representation = Google::Apis::ClassroomV1beta1::Student::Representation
655
+ command.response_class = Google::Apis::ClassroomV1beta1::Student
656
+ command.params['courseId'] = course_id unless course_id.nil?
657
+ command.params['userId'] = user_id unless user_id.nil?
658
+ command.query['fields'] = fields unless fields.nil?
659
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
660
+ execute_or_queue_command(command, &block)
661
+ end
662
+
663
+ # Deletes a student of a course. This method returns the following error codes: *
664
+ # `PERMISSION_DENIED` if the requesting user is not permitted to delete
665
+ # students of this course. * `NOT_FOUND` if no student of this course has the
666
+ # requested ID or if the course does not exist.
667
+ # @param [String] course_id
668
+ # Unique identifier of the course. This may either be the Classroom-assigned
669
+ # identifier or an alias.
670
+ # @param [String] user_id
671
+ # Identifier of the student to delete, or an alias the identifies the user. The
672
+ # following aliases are supported: * the e-mail address of the user * the string
673
+ # literal `"me"`, indicating that the requesting user
674
+ # @param [String] fields
675
+ # Selector specifying which fields to include in a partial response.
676
+ # @param [String] quota_user
677
+ # Available to use for quota purposes for server-side applications. Can be any
678
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
679
+ # @param [Google::Apis::RequestOptions] options
680
+ # Request-specific options
681
+ #
682
+ # @yield [result, err] Result & error if block supplied
683
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::Empty] parsed result object
684
+ # @yieldparam err [StandardError] error object if request failed
685
+ #
686
+ # @return [Google::Apis::ClassroomV1beta1::Empty]
687
+ #
688
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
689
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
690
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
691
+ def delete_course_student(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
692
+ path = 'v1beta1/courses/{courseId}/students/{userId}'
693
+ command = make_simple_command(:delete, path, options)
694
+ command.response_representation = Google::Apis::ClassroomV1beta1::Empty::Representation
695
+ command.response_class = Google::Apis::ClassroomV1beta1::Empty
696
+ command.params['courseId'] = course_id unless course_id.nil?
697
+ command.params['userId'] = user_id unless user_id.nil?
698
+ command.query['fields'] = fields unless fields.nil?
699
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
700
+ execute_or_queue_command(command, &block)
701
+ end
702
+
703
+ # Returns a list of students of this course that the requester is permitted to
704
+ # view. Fails with `NOT_FOUND` if the course does not exist.
705
+ # @param [String] course_id
706
+ # Unique identifier of the course. This may either be the Classroom-assigned
707
+ # identifier or an alias.
708
+ # @param [Fixnum] page_size
709
+ # Maximum number of items to return. Zero means no maximum. The server may
710
+ # return fewer than the specified number of results.
711
+ # @param [String] page_token
712
+ # [nextPageToken][google.classroom.v1beta1.ListStudentsResponse.next_page_token]
713
+ # value returned from a previous [list][google.classroom.v1beta1.Users.
714
+ # ListStudents] call, indicating that the subsequent page of results should be
715
+ # returned. The [list][google.classroom.v1beta1.Users.ListStudents] request must
716
+ # be identical to the one which resulted in this token.
717
+ # @param [String] fields
718
+ # Selector specifying which fields to include in a partial response.
719
+ # @param [String] quota_user
720
+ # Available to use for quota purposes for server-side applications. Can be any
721
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
722
+ # @param [Google::Apis::RequestOptions] options
723
+ # Request-specific options
724
+ #
725
+ # @yield [result, err] Result & error if block supplied
726
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::ListStudentsResponse] parsed result object
727
+ # @yieldparam err [StandardError] error object if request failed
728
+ #
729
+ # @return [Google::Apis::ClassroomV1beta1::ListStudentsResponse]
730
+ #
731
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
732
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
733
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
734
+ def list_course_students(course_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
735
+ path = 'v1beta1/courses/{courseId}/students'
736
+ command = make_simple_command(:get, path, options)
737
+ command.response_representation = Google::Apis::ClassroomV1beta1::ListStudentsResponse::Representation
738
+ command.response_class = Google::Apis::ClassroomV1beta1::ListStudentsResponse
739
+ command.params['courseId'] = course_id unless course_id.nil?
740
+ command.query['pageSize'] = page_size unless page_size.nil?
741
+ command.query['pageToken'] = page_token unless page_token.nil?
742
+ command.query['fields'] = fields unless fields.nil?
743
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
744
+ execute_or_queue_command(command, &block)
745
+ end
746
+
747
+ # Returns a user profile. This method returns the following error codes: * `
748
+ # PERMISSION_DENIED` if the requesting user is not permitted to access this user
749
+ # profile. * `NOT_FOUND` if the profile does not exist.
750
+ # @param [String] user_id
751
+ # Identifier of the profile to return, or an alias the identifies the user. The
752
+ # following aliases are supported: * the e-mail address of the user * the string
753
+ # literal `"me"`, indicating the requesting user
754
+ # @param [String] fields
755
+ # Selector specifying which fields to include in a partial response.
756
+ # @param [String] quota_user
757
+ # Available to use for quota purposes for server-side applications. Can be any
758
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
759
+ # @param [Google::Apis::RequestOptions] options
760
+ # Request-specific options
761
+ #
762
+ # @yield [result, err] Result & error if block supplied
763
+ # @yieldparam result [Google::Apis::ClassroomV1beta1::UserProfile] parsed result object
764
+ # @yieldparam err [StandardError] error object if request failed
765
+ #
766
+ # @return [Google::Apis::ClassroomV1beta1::UserProfile]
767
+ #
768
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
769
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
770
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
771
+ def get_user_profile(user_id, fields: nil, quota_user: nil, options: nil, &block)
772
+ path = 'v1beta1/userProfiles/{userId}'
773
+ command = make_simple_command(:get, path, options)
774
+ command.response_representation = Google::Apis::ClassroomV1beta1::UserProfile::Representation
775
+ command.response_class = Google::Apis::ClassroomV1beta1::UserProfile
776
+ command.params['userId'] = user_id unless user_id.nil?
777
+ command.query['fields'] = fields unless fields.nil?
778
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
779
+ execute_or_queue_command(command, &block)
780
+ end
781
+
782
+ protected
783
+
784
+ def apply_command_defaults(command)
785
+ command.query['key'] = key unless key.nil?
786
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
787
+ end
788
+ end
789
+ end
790
+ end
791
+ end