google-api-client 0.8.7 → 0.9.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,89 @@
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/admin_directory_v1/service.rb'
16
+ require 'google/apis/admin_directory_v1/classes.rb'
17
+ require 'google/apis/admin_directory_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Admin Directory API
22
+ #
23
+ # The Admin SDK Directory API lets you view and manage enterprise resources such
24
+ # as users and groups, administrative notifications, security features, and more.
25
+ #
26
+ # @see https://developers.google.com/admin-sdk/directory/
27
+ module AdminDirectoryV1
28
+ VERSION = 'DirectoryV1'
29
+ REVISION = '20150326'
30
+
31
+ # View and manage your Chrome OS devices' metadata
32
+ AUTH_ADMIN_DIRECTORY_DEVICE_CHROMEOS = 'https://www.googleapis.com/auth/admin.directory.device.chromeos'
33
+
34
+ # View your Chrome OS devices' metadata
35
+ AUTH_ADMIN_DIRECTORY_DEVICE_CHROMEOS_READONLY = 'https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly'
36
+
37
+ # View and manage your mobile devices' metadata
38
+ AUTH_ADMIN_DIRECTORY_DEVICE_MOBILE = 'https://www.googleapis.com/auth/admin.directory.device.mobile'
39
+
40
+ # Manage your mobile devices by performing administrative tasks
41
+ AUTH_ADMIN_DIRECTORY_DEVICE_MOBILE_ACTION = 'https://www.googleapis.com/auth/admin.directory.device.mobile.action'
42
+
43
+ # View your mobile devices' metadata
44
+ AUTH_ADMIN_DIRECTORY_DEVICE_MOBILE_READONLY = 'https://www.googleapis.com/auth/admin.directory.device.mobile.readonly'
45
+
46
+ # View and manage the provisioning of groups on your domain
47
+ AUTH_ADMIN_DIRECTORY_GROUP = 'https://www.googleapis.com/auth/admin.directory.group'
48
+
49
+ # View and manage group subscriptions on your domain
50
+ AUTH_ADMIN_DIRECTORY_GROUP_MEMBER = 'https://www.googleapis.com/auth/admin.directory.group.member'
51
+
52
+ # View group subscriptions on your domain
53
+ AUTH_ADMIN_DIRECTORY_GROUP_MEMBER_READONLY = 'https://www.googleapis.com/auth/admin.directory.group.member.readonly'
54
+
55
+ # View groups on your domain
56
+ AUTH_ADMIN_DIRECTORY_GROUP_READONLY = 'https://www.googleapis.com/auth/admin.directory.group.readonly'
57
+
58
+ # View and manage notifications received on your domain
59
+ AUTH_ADMIN_DIRECTORY_NOTIFICATIONS = 'https://www.googleapis.com/auth/admin.directory.notifications'
60
+
61
+ # View and manage organization units on your domain
62
+ AUTH_ADMIN_DIRECTORY_ORGUNIT = 'https://www.googleapis.com/auth/admin.directory.orgunit'
63
+
64
+ # View organization units on your domain
65
+ AUTH_ADMIN_DIRECTORY_ORGUNIT_READONLY = 'https://www.googleapis.com/auth/admin.directory.orgunit.readonly'
66
+
67
+ # View and manage the provisioning of users on your domain
68
+ AUTH_ADMIN_DIRECTORY_USER = 'https://www.googleapis.com/auth/admin.directory.user'
69
+
70
+ # View and manage user aliases on your domain
71
+ AUTH_ADMIN_DIRECTORY_USER_ALIAS = 'https://www.googleapis.com/auth/admin.directory.user.alias'
72
+
73
+ # View user aliases on your domain
74
+ AUTH_ADMIN_DIRECTORY_USER_ALIAS_READONLY = 'https://www.googleapis.com/auth/admin.directory.user.alias.readonly'
75
+
76
+ # View users on your domain
77
+ AUTH_ADMIN_DIRECTORY_USER_READONLY = 'https://www.googleapis.com/auth/admin.directory.user.readonly'
78
+
79
+ # Manage data access permissions for users on your domain
80
+ AUTH_ADMIN_DIRECTORY_USER_SECURITY = 'https://www.googleapis.com/auth/admin.directory.user.security'
81
+
82
+ # View and manage the provisioning of user schemas on your domain
83
+ AUTH_ADMIN_DIRECTORY_USERSCHEMA = 'https://www.googleapis.com/auth/admin.directory.userschema'
84
+
85
+ # View user schemas on your domain
86
+ AUTH_ADMIN_DIRECTORY_USERSCHEMA_READONLY = 'https://www.googleapis.com/auth/admin.directory.userschema.readonly'
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,2389 @@
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 AdminDirectoryV1
24
+
25
+ # JSON template for Alias object in Directory API.
26
+ class Alias
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # A alias email
30
+ # Corresponds to the JSON property `alias`
31
+ # @return [String]
32
+ attr_accessor :alias
33
+
34
+ # ETag of the resource.
35
+ # Corresponds to the JSON property `etag`
36
+ # @return [String]
37
+ attr_accessor :etag
38
+
39
+ # Unique id of the group (Read-only) Unique id of the user (Read-only)
40
+ # Corresponds to the JSON property `id`
41
+ # @return [String]
42
+ attr_accessor :id
43
+
44
+ # Kind of resource this is.
45
+ # Corresponds to the JSON property `kind`
46
+ # @return [String]
47
+ attr_accessor :kind
48
+
49
+ # Group's primary email (Read-only) User's primary email (Read-only)
50
+ # Corresponds to the JSON property `primaryEmail`
51
+ # @return [String]
52
+ attr_accessor :primary_email
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @alias = args[:alias] unless args[:alias].nil?
61
+ @etag = args[:etag] unless args[:etag].nil?
62
+ @id = args[:id] unless args[:id].nil?
63
+ @kind = args[:kind] unless args[:kind].nil?
64
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
65
+ end
66
+ end
67
+
68
+ # JSON response template to list aliases in Directory API.
69
+ class Aliases
70
+ include Google::Apis::Core::Hashable
71
+
72
+ # List of alias objects.
73
+ # Corresponds to the JSON property `aliases`
74
+ # @return [Array<Google::Apis::AdminDirectoryV1::Alias>]
75
+ attr_accessor :aliases
76
+
77
+ # ETag of the resource.
78
+ # Corresponds to the JSON property `etag`
79
+ # @return [String]
80
+ attr_accessor :etag
81
+
82
+ # Kind of resource this is.
83
+ # Corresponds to the JSON property `kind`
84
+ # @return [String]
85
+ attr_accessor :kind
86
+
87
+ def initialize(**args)
88
+ update!(**args)
89
+ end
90
+
91
+ # Update properties of this object
92
+ def update!(**args)
93
+ @aliases = args[:aliases] unless args[:aliases].nil?
94
+ @etag = args[:etag] unless args[:etag].nil?
95
+ @kind = args[:kind] unless args[:kind].nil?
96
+ end
97
+ end
98
+
99
+ # The template that returns individual ASP (Access Code) data.
100
+ class Asp
101
+ include Google::Apis::Core::Hashable
102
+
103
+ # The unique ID of the ASP.
104
+ # Corresponds to the JSON property `codeId`
105
+ # @return [Fixnum]
106
+ attr_accessor :code_id
107
+
108
+ # The time when the ASP was created. Expressed in Unix time format.
109
+ # Corresponds to the JSON property `creationTime`
110
+ # @return [String]
111
+ attr_accessor :creation_time
112
+
113
+ # ETag of the ASP.
114
+ # Corresponds to the JSON property `etag`
115
+ # @return [String]
116
+ attr_accessor :etag
117
+
118
+ # The type of the API resource. This is always admin#directory#asp.
119
+ # Corresponds to the JSON property `kind`
120
+ # @return [String]
121
+ attr_accessor :kind
122
+
123
+ # The time when the ASP was last used. Expressed in Unix time format.
124
+ # Corresponds to the JSON property `lastTimeUsed`
125
+ # @return [String]
126
+ attr_accessor :last_time_used
127
+
128
+ # The name of the application that the user, represented by their userId,
129
+ # entered when the ASP was created.
130
+ # Corresponds to the JSON property `name`
131
+ # @return [String]
132
+ attr_accessor :name
133
+
134
+ # The unique ID of the user who issued the ASP.
135
+ # Corresponds to the JSON property `userKey`
136
+ # @return [String]
137
+ attr_accessor :user_key
138
+
139
+ def initialize(**args)
140
+ update!(**args)
141
+ end
142
+
143
+ # Update properties of this object
144
+ def update!(**args)
145
+ @code_id = args[:code_id] unless args[:code_id].nil?
146
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
147
+ @etag = args[:etag] unless args[:etag].nil?
148
+ @kind = args[:kind] unless args[:kind].nil?
149
+ @last_time_used = args[:last_time_used] unless args[:last_time_used].nil?
150
+ @name = args[:name] unless args[:name].nil?
151
+ @user_key = args[:user_key] unless args[:user_key].nil?
152
+ end
153
+ end
154
+
155
+ #
156
+ class Asps
157
+ include Google::Apis::Core::Hashable
158
+
159
+ # ETag of the resource.
160
+ # Corresponds to the JSON property `etag`
161
+ # @return [String]
162
+ attr_accessor :etag
163
+
164
+ # A list of ASP resources.
165
+ # Corresponds to the JSON property `items`
166
+ # @return [Array<Google::Apis::AdminDirectoryV1::Asp>]
167
+ attr_accessor :items
168
+
169
+ # The type of the API resource. This is always admin#directory#aspList.
170
+ # Corresponds to the JSON property `kind`
171
+ # @return [String]
172
+ attr_accessor :kind
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @etag = args[:etag] unless args[:etag].nil?
181
+ @items = args[:items] unless args[:items].nil?
182
+ @kind = args[:kind] unless args[:kind].nil?
183
+ end
184
+ end
185
+
186
+ # An notification channel used to watch for resource changes.
187
+ class Channel
188
+ include Google::Apis::Core::Hashable
189
+
190
+ # The address where notifications are delivered for this channel.
191
+ # Corresponds to the JSON property `address`
192
+ # @return [String]
193
+ attr_accessor :address
194
+
195
+ # Date and time of notification channel expiration, expressed as a Unix
196
+ # timestamp, in milliseconds. Optional.
197
+ # Corresponds to the JSON property `expiration`
198
+ # @return [String]
199
+ attr_accessor :expiration
200
+
201
+ # A UUID or similar unique string that identifies this channel.
202
+ # Corresponds to the JSON property `id`
203
+ # @return [String]
204
+ attr_accessor :id
205
+
206
+ # Identifies this as a notification channel used to watch for changes to a
207
+ # resource. Value: the fixed string "api#channel".
208
+ # Corresponds to the JSON property `kind`
209
+ # @return [String]
210
+ attr_accessor :kind
211
+
212
+ # Additional parameters controlling delivery channel behavior. Optional.
213
+ # Corresponds to the JSON property `params`
214
+ # @return [Hash<String,String>]
215
+ attr_accessor :params
216
+
217
+ # A Boolean value to indicate whether payload is wanted. Optional.
218
+ # Corresponds to the JSON property `payload`
219
+ # @return [Boolean]
220
+ attr_accessor :payload
221
+ alias_method :payload?, :payload
222
+
223
+ # An opaque ID that identifies the resource being watched on this channel.
224
+ # Stable across different API versions.
225
+ # Corresponds to the JSON property `resourceId`
226
+ # @return [String]
227
+ attr_accessor :resource_id
228
+
229
+ # A version-specific identifier for the watched resource.
230
+ # Corresponds to the JSON property `resourceUri`
231
+ # @return [String]
232
+ attr_accessor :resource_uri
233
+
234
+ # An arbitrary string delivered to the target address with each notification
235
+ # delivered over this channel. Optional.
236
+ # Corresponds to the JSON property `token`
237
+ # @return [String]
238
+ attr_accessor :token
239
+
240
+ # The type of delivery mechanism used for this channel.
241
+ # Corresponds to the JSON property `type`
242
+ # @return [String]
243
+ attr_accessor :type
244
+
245
+ def initialize(**args)
246
+ update!(**args)
247
+ end
248
+
249
+ # Update properties of this object
250
+ def update!(**args)
251
+ @address = args[:address] unless args[:address].nil?
252
+ @expiration = args[:expiration] unless args[:expiration].nil?
253
+ @id = args[:id] unless args[:id].nil?
254
+ @kind = args[:kind] unless args[:kind].nil?
255
+ @params = args[:params] unless args[:params].nil?
256
+ @payload = args[:payload] unless args[:payload].nil?
257
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
258
+ @resource_uri = args[:resource_uri] unless args[:resource_uri].nil?
259
+ @token = args[:token] unless args[:token].nil?
260
+ @type = args[:type] unless args[:type].nil?
261
+ end
262
+ end
263
+
264
+ # JSON template for Chrome Os Device resource in Directory API.
265
+ class ChromeOsDevice
266
+ include Google::Apis::Core::Hashable
267
+
268
+ # List of active time ranges (Read-only)
269
+ # Corresponds to the JSON property `activeTimeRanges`
270
+ # @return [Array<Google::Apis::AdminDirectoryV1::ChromeOsDevice::ActiveTimeRange>]
271
+ attr_accessor :active_time_ranges
272
+
273
+ # AssetId specified during enrollment or through later annotation
274
+ # Corresponds to the JSON property `annotatedAssetId`
275
+ # @return [String]
276
+ attr_accessor :annotated_asset_id
277
+
278
+ # Address or location of the device as noted by the administrator
279
+ # Corresponds to the JSON property `annotatedLocation`
280
+ # @return [String]
281
+ attr_accessor :annotated_location
282
+
283
+ # User of the device
284
+ # Corresponds to the JSON property `annotatedUser`
285
+ # @return [String]
286
+ attr_accessor :annotated_user
287
+
288
+ # Chromebook boot mode (Read-only)
289
+ # Corresponds to the JSON property `bootMode`
290
+ # @return [String]
291
+ attr_accessor :boot_mode
292
+
293
+ # Unique identifier of Chrome OS Device (Read-only)
294
+ # Corresponds to the JSON property `deviceId`
295
+ # @return [String]
296
+ attr_accessor :device_id
297
+
298
+ # ETag of the resource.
299
+ # Corresponds to the JSON property `etag`
300
+ # @return [String]
301
+ attr_accessor :etag
302
+
303
+ # Chromebook Mac Address on ethernet network interface (Read-only)
304
+ # Corresponds to the JSON property `ethernetMacAddress`
305
+ # @return [String]
306
+ attr_accessor :ethernet_mac_address
307
+
308
+ # Chromebook firmware version (Read-only)
309
+ # Corresponds to the JSON property `firmwareVersion`
310
+ # @return [String]
311
+ attr_accessor :firmware_version
312
+
313
+ # Kind of resource this is.
314
+ # Corresponds to the JSON property `kind`
315
+ # @return [String]
316
+ attr_accessor :kind
317
+
318
+ # Date and time the device was last enrolled (Read-only)
319
+ # Corresponds to the JSON property `lastEnrollmentTime`
320
+ # @return [DateTime]
321
+ attr_accessor :last_enrollment_time
322
+
323
+ # Date and time the device was last synchronized with the policy settings in the
324
+ # Google Apps administrator control panel (Read-only)
325
+ # Corresponds to the JSON property `lastSync`
326
+ # @return [DateTime]
327
+ attr_accessor :last_sync
328
+
329
+ # Chromebook Mac Address on wifi network interface (Read-only)
330
+ # Corresponds to the JSON property `macAddress`
331
+ # @return [String]
332
+ attr_accessor :mac_address
333
+
334
+ # Mobile Equipment identifier for the 3G mobile card in the Chromebook (Read-
335
+ # only)
336
+ # Corresponds to the JSON property `meid`
337
+ # @return [String]
338
+ attr_accessor :meid
339
+
340
+ # Chromebook Model (Read-only)
341
+ # Corresponds to the JSON property `model`
342
+ # @return [String]
343
+ attr_accessor :model
344
+
345
+ # Notes added by the administrator
346
+ # Corresponds to the JSON property `notes`
347
+ # @return [String]
348
+ attr_accessor :notes
349
+
350
+ # Chromebook order number (Read-only)
351
+ # Corresponds to the JSON property `orderNumber`
352
+ # @return [String]
353
+ attr_accessor :order_number
354
+
355
+ # OrgUnit of the device
356
+ # Corresponds to the JSON property `orgUnitPath`
357
+ # @return [String]
358
+ attr_accessor :org_unit_path
359
+
360
+ # Chromebook Os Version (Read-only)
361
+ # Corresponds to the JSON property `osVersion`
362
+ # @return [String]
363
+ attr_accessor :os_version
364
+
365
+ # Chromebook platform version (Read-only)
366
+ # Corresponds to the JSON property `platformVersion`
367
+ # @return [String]
368
+ attr_accessor :platform_version
369
+
370
+ # List of recent device users, in descending order by last login time (Read-only)
371
+ # Corresponds to the JSON property `recentUsers`
372
+ # @return [Array<Google::Apis::AdminDirectoryV1::ChromeOsDevice::RecentUser>]
373
+ attr_accessor :recent_users
374
+
375
+ # Chromebook serial number (Read-only)
376
+ # Corresponds to the JSON property `serialNumber`
377
+ # @return [String]
378
+ attr_accessor :serial_number
379
+
380
+ # status of the device (Read-only)
381
+ # Corresponds to the JSON property `status`
382
+ # @return [String]
383
+ attr_accessor :status
384
+
385
+ # Final date the device will be supported (Read-only)
386
+ # Corresponds to the JSON property `supportEndDate`
387
+ # @return [DateTime]
388
+ attr_accessor :support_end_date
389
+
390
+ # Will Chromebook auto renew after support end date (Read-only)
391
+ # Corresponds to the JSON property `willAutoRenew`
392
+ # @return [Boolean]
393
+ attr_accessor :will_auto_renew
394
+ alias_method :will_auto_renew?, :will_auto_renew
395
+
396
+ def initialize(**args)
397
+ update!(**args)
398
+ end
399
+
400
+ # Update properties of this object
401
+ def update!(**args)
402
+ @active_time_ranges = args[:active_time_ranges] unless args[:active_time_ranges].nil?
403
+ @annotated_asset_id = args[:annotated_asset_id] unless args[:annotated_asset_id].nil?
404
+ @annotated_location = args[:annotated_location] unless args[:annotated_location].nil?
405
+ @annotated_user = args[:annotated_user] unless args[:annotated_user].nil?
406
+ @boot_mode = args[:boot_mode] unless args[:boot_mode].nil?
407
+ @device_id = args[:device_id] unless args[:device_id].nil?
408
+ @etag = args[:etag] unless args[:etag].nil?
409
+ @ethernet_mac_address = args[:ethernet_mac_address] unless args[:ethernet_mac_address].nil?
410
+ @firmware_version = args[:firmware_version] unless args[:firmware_version].nil?
411
+ @kind = args[:kind] unless args[:kind].nil?
412
+ @last_enrollment_time = args[:last_enrollment_time] unless args[:last_enrollment_time].nil?
413
+ @last_sync = args[:last_sync] unless args[:last_sync].nil?
414
+ @mac_address = args[:mac_address] unless args[:mac_address].nil?
415
+ @meid = args[:meid] unless args[:meid].nil?
416
+ @model = args[:model] unless args[:model].nil?
417
+ @notes = args[:notes] unless args[:notes].nil?
418
+ @order_number = args[:order_number] unless args[:order_number].nil?
419
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
420
+ @os_version = args[:os_version] unless args[:os_version].nil?
421
+ @platform_version = args[:platform_version] unless args[:platform_version].nil?
422
+ @recent_users = args[:recent_users] unless args[:recent_users].nil?
423
+ @serial_number = args[:serial_number] unless args[:serial_number].nil?
424
+ @status = args[:status] unless args[:status].nil?
425
+ @support_end_date = args[:support_end_date] unless args[:support_end_date].nil?
426
+ @will_auto_renew = args[:will_auto_renew] unless args[:will_auto_renew].nil?
427
+ end
428
+
429
+ #
430
+ class ActiveTimeRange
431
+ include Google::Apis::Core::Hashable
432
+
433
+ # Duration in milliseconds
434
+ # Corresponds to the JSON property `activeTime`
435
+ # @return [Fixnum]
436
+ attr_accessor :active_time
437
+
438
+ # Date of usage
439
+ # Corresponds to the JSON property `date`
440
+ # @return [Date]
441
+ attr_accessor :date
442
+
443
+ def initialize(**args)
444
+ update!(**args)
445
+ end
446
+
447
+ # Update properties of this object
448
+ def update!(**args)
449
+ @active_time = args[:active_time] unless args[:active_time].nil?
450
+ @date = args[:date] unless args[:date].nil?
451
+ end
452
+ end
453
+
454
+ #
455
+ class RecentUser
456
+ include Google::Apis::Core::Hashable
457
+
458
+ # Email address of the user. Present only if the user type is managed
459
+ # Corresponds to the JSON property `email`
460
+ # @return [String]
461
+ attr_accessor :email
462
+
463
+ # The type of the user
464
+ # Corresponds to the JSON property `type`
465
+ # @return [String]
466
+ attr_accessor :type
467
+
468
+ def initialize(**args)
469
+ update!(**args)
470
+ end
471
+
472
+ # Update properties of this object
473
+ def update!(**args)
474
+ @email = args[:email] unless args[:email].nil?
475
+ @type = args[:type] unless args[:type].nil?
476
+ end
477
+ end
478
+ end
479
+
480
+ # JSON response template for List Chrome OS Devices operation in Directory API.
481
+ class ChromeOsDevices
482
+ include Google::Apis::Core::Hashable
483
+
484
+ # List of Chrome OS Device objects.
485
+ # Corresponds to the JSON property `chromeosdevices`
486
+ # @return [Array<Google::Apis::AdminDirectoryV1::ChromeOsDevice>]
487
+ attr_accessor :chromeosdevices
488
+
489
+ # ETag of the resource.
490
+ # Corresponds to the JSON property `etag`
491
+ # @return [String]
492
+ attr_accessor :etag
493
+
494
+ # Kind of resource this is.
495
+ # Corresponds to the JSON property `kind`
496
+ # @return [String]
497
+ attr_accessor :kind
498
+
499
+ # Token used to access next page of this result.
500
+ # Corresponds to the JSON property `nextPageToken`
501
+ # @return [String]
502
+ attr_accessor :next_page_token
503
+
504
+ def initialize(**args)
505
+ update!(**args)
506
+ end
507
+
508
+ # Update properties of this object
509
+ def update!(**args)
510
+ @chromeosdevices = args[:chromeosdevices] unless args[:chromeosdevices].nil?
511
+ @etag = args[:etag] unless args[:etag].nil?
512
+ @kind = args[:kind] unless args[:kind].nil?
513
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
514
+ end
515
+ end
516
+
517
+ # JSON template for Group resource in Directory API.
518
+ class Group
519
+ include Google::Apis::Core::Hashable
520
+
521
+ # Is the group created by admin (Read-only) *
522
+ # Corresponds to the JSON property `adminCreated`
523
+ # @return [Boolean]
524
+ attr_accessor :admin_created
525
+ alias_method :admin_created?, :admin_created
526
+
527
+ # List of aliases (Read-only)
528
+ # Corresponds to the JSON property `aliases`
529
+ # @return [Array<String>]
530
+ attr_accessor :aliases
531
+
532
+ # Description of the group
533
+ # Corresponds to the JSON property `description`
534
+ # @return [String]
535
+ attr_accessor :description
536
+
537
+ # Group direct members count
538
+ # Corresponds to the JSON property `directMembersCount`
539
+ # @return [String]
540
+ attr_accessor :direct_members_count
541
+
542
+ # Email of Group
543
+ # Corresponds to the JSON property `email`
544
+ # @return [String]
545
+ attr_accessor :email
546
+
547
+ # ETag of the resource.
548
+ # Corresponds to the JSON property `etag`
549
+ # @return [String]
550
+ attr_accessor :etag
551
+
552
+ # Unique identifier of Group (Read-only)
553
+ # Corresponds to the JSON property `id`
554
+ # @return [String]
555
+ attr_accessor :id
556
+
557
+ # Kind of resource this is.
558
+ # Corresponds to the JSON property `kind`
559
+ # @return [String]
560
+ attr_accessor :kind
561
+
562
+ # Group name
563
+ # Corresponds to the JSON property `name`
564
+ # @return [String]
565
+ attr_accessor :name
566
+
567
+ # List of non editable aliases (Read-only)
568
+ # Corresponds to the JSON property `nonEditableAliases`
569
+ # @return [Array<String>]
570
+ attr_accessor :non_editable_aliases
571
+
572
+ def initialize(**args)
573
+ update!(**args)
574
+ end
575
+
576
+ # Update properties of this object
577
+ def update!(**args)
578
+ @admin_created = args[:admin_created] unless args[:admin_created].nil?
579
+ @aliases = args[:aliases] unless args[:aliases].nil?
580
+ @description = args[:description] unless args[:description].nil?
581
+ @direct_members_count = args[:direct_members_count] unless args[:direct_members_count].nil?
582
+ @email = args[:email] unless args[:email].nil?
583
+ @etag = args[:etag] unless args[:etag].nil?
584
+ @id = args[:id] unless args[:id].nil?
585
+ @kind = args[:kind] unless args[:kind].nil?
586
+ @name = args[:name] unless args[:name].nil?
587
+ @non_editable_aliases = args[:non_editable_aliases] unless args[:non_editable_aliases].nil?
588
+ end
589
+ end
590
+
591
+ # JSON response template for List Groups operation in Directory API.
592
+ class Groups
593
+ include Google::Apis::Core::Hashable
594
+
595
+ # ETag of the resource.
596
+ # Corresponds to the JSON property `etag`
597
+ # @return [String]
598
+ attr_accessor :etag
599
+
600
+ # List of group objects.
601
+ # Corresponds to the JSON property `groups`
602
+ # @return [Array<Google::Apis::AdminDirectoryV1::Group>]
603
+ attr_accessor :groups
604
+
605
+ # Kind of resource this is.
606
+ # Corresponds to the JSON property `kind`
607
+ # @return [String]
608
+ attr_accessor :kind
609
+
610
+ # Token used to access next page of this result.
611
+ # Corresponds to the JSON property `nextPageToken`
612
+ # @return [String]
613
+ attr_accessor :next_page_token
614
+
615
+ def initialize(**args)
616
+ update!(**args)
617
+ end
618
+
619
+ # Update properties of this object
620
+ def update!(**args)
621
+ @etag = args[:etag] unless args[:etag].nil?
622
+ @groups = args[:groups] unless args[:groups].nil?
623
+ @kind = args[:kind] unless args[:kind].nil?
624
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
625
+ end
626
+ end
627
+
628
+ # JSON template for Member resource in Directory API.
629
+ class Member
630
+ include Google::Apis::Core::Hashable
631
+
632
+ # Email of member (Read-only)
633
+ # Corresponds to the JSON property `email`
634
+ # @return [String]
635
+ attr_accessor :email
636
+
637
+ # ETag of the resource.
638
+ # Corresponds to the JSON property `etag`
639
+ # @return [String]
640
+ attr_accessor :etag
641
+
642
+ # Unique identifier of customer member (Read-only) Unique identifier of group (
643
+ # Read-only) Unique identifier of member (Read-only)
644
+ # Corresponds to the JSON property `id`
645
+ # @return [String]
646
+ attr_accessor :id
647
+
648
+ # Kind of resource this is.
649
+ # Corresponds to the JSON property `kind`
650
+ # @return [String]
651
+ attr_accessor :kind
652
+
653
+ # Role of member
654
+ # Corresponds to the JSON property `role`
655
+ # @return [String]
656
+ attr_accessor :role
657
+
658
+ # Type of member (Immutable)
659
+ # Corresponds to the JSON property `type`
660
+ # @return [String]
661
+ attr_accessor :type
662
+
663
+ def initialize(**args)
664
+ update!(**args)
665
+ end
666
+
667
+ # Update properties of this object
668
+ def update!(**args)
669
+ @email = args[:email] unless args[:email].nil?
670
+ @etag = args[:etag] unless args[:etag].nil?
671
+ @id = args[:id] unless args[:id].nil?
672
+ @kind = args[:kind] unless args[:kind].nil?
673
+ @role = args[:role] unless args[:role].nil?
674
+ @type = args[:type] unless args[:type].nil?
675
+ end
676
+ end
677
+
678
+ # JSON response template for List Members operation in Directory API.
679
+ class Members
680
+ include Google::Apis::Core::Hashable
681
+
682
+ # ETag of the resource.
683
+ # Corresponds to the JSON property `etag`
684
+ # @return [String]
685
+ attr_accessor :etag
686
+
687
+ # Kind of resource this is.
688
+ # Corresponds to the JSON property `kind`
689
+ # @return [String]
690
+ attr_accessor :kind
691
+
692
+ # List of member objects.
693
+ # Corresponds to the JSON property `members`
694
+ # @return [Array<Google::Apis::AdminDirectoryV1::Member>]
695
+ attr_accessor :members
696
+
697
+ # Token used to access next page of this result.
698
+ # Corresponds to the JSON property `nextPageToken`
699
+ # @return [String]
700
+ attr_accessor :next_page_token
701
+
702
+ def initialize(**args)
703
+ update!(**args)
704
+ end
705
+
706
+ # Update properties of this object
707
+ def update!(**args)
708
+ @etag = args[:etag] unless args[:etag].nil?
709
+ @kind = args[:kind] unless args[:kind].nil?
710
+ @members = args[:members] unless args[:members].nil?
711
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
712
+ end
713
+ end
714
+
715
+ # JSON template for Mobile Device resource in Directory API.
716
+ class MobileDevice
717
+ include Google::Apis::Core::Hashable
718
+
719
+ # List of applications installed on Mobile Device
720
+ # Corresponds to the JSON property `applications`
721
+ # @return [Array<Google::Apis::AdminDirectoryV1::MobileDevice::Application>]
722
+ attr_accessor :applications
723
+
724
+ # Mobile Device Baseband version (Read-only)
725
+ # Corresponds to the JSON property `basebandVersion`
726
+ # @return [String]
727
+ attr_accessor :baseband_version
728
+
729
+ # Mobile Device Build number (Read-only)
730
+ # Corresponds to the JSON property `buildNumber`
731
+ # @return [String]
732
+ attr_accessor :build_number
733
+
734
+ # The default locale used on the Mobile Device (Read-only)
735
+ # Corresponds to the JSON property `defaultLanguage`
736
+ # @return [String]
737
+ attr_accessor :default_language
738
+
739
+ # Mobile Device compromised status (Read-only)
740
+ # Corresponds to the JSON property `deviceCompromisedStatus`
741
+ # @return [String]
742
+ attr_accessor :device_compromised_status
743
+
744
+ # Mobile Device serial number (Read-only)
745
+ # Corresponds to the JSON property `deviceId`
746
+ # @return [String]
747
+ attr_accessor :device_id
748
+
749
+ # List of owner user's email addresses (Read-only)
750
+ # Corresponds to the JSON property `email`
751
+ # @return [Array<String>]
752
+ attr_accessor :email
753
+
754
+ # ETag of the resource.
755
+ # Corresponds to the JSON property `etag`
756
+ # @return [String]
757
+ attr_accessor :etag
758
+
759
+ # Date and time the device was first synchronized with the policy settings in
760
+ # the Google Apps administrator control panel (Read-only)
761
+ # Corresponds to the JSON property `firstSync`
762
+ # @return [DateTime]
763
+ attr_accessor :first_sync
764
+
765
+ # Mobile Device Hardware Id (Read-only)
766
+ # Corresponds to the JSON property `hardwareId`
767
+ # @return [String]
768
+ attr_accessor :hardware_id
769
+
770
+ # Mobile Device IMEI number (Read-only)
771
+ # Corresponds to the JSON property `imei`
772
+ # @return [String]
773
+ attr_accessor :imei
774
+
775
+ # Mobile Device Kernel version (Read-only)
776
+ # Corresponds to the JSON property `kernelVersion`
777
+ # @return [String]
778
+ attr_accessor :kernel_version
779
+
780
+ # Kind of resource this is.
781
+ # Corresponds to the JSON property `kind`
782
+ # @return [String]
783
+ attr_accessor :kind
784
+
785
+ # Date and time the device was last synchronized with the policy settings in the
786
+ # Google Apps administrator control panel (Read-only)
787
+ # Corresponds to the JSON property `lastSync`
788
+ # @return [DateTime]
789
+ attr_accessor :last_sync
790
+
791
+ # Boolean indicating if this account is on owner/primary profile or not (Read-
792
+ # only)
793
+ # Corresponds to the JSON property `managedAccountIsOnOwnerProfile`
794
+ # @return [Boolean]
795
+ attr_accessor :managed_account_is_on_owner_profile
796
+ alias_method :managed_account_is_on_owner_profile?, :managed_account_is_on_owner_profile
797
+
798
+ # Mobile Device MEID number (Read-only)
799
+ # Corresponds to the JSON property `meid`
800
+ # @return [String]
801
+ attr_accessor :meid
802
+
803
+ # Name of the model of the device
804
+ # Corresponds to the JSON property `model`
805
+ # @return [String]
806
+ attr_accessor :model
807
+
808
+ # List of owner user's names (Read-only)
809
+ # Corresponds to the JSON property `name`
810
+ # @return [Array<String>]
811
+ attr_accessor :name
812
+
813
+ # Mobile Device mobile or network operator (if available) (Read-only)
814
+ # Corresponds to the JSON property `networkOperator`
815
+ # @return [String]
816
+ attr_accessor :network_operator
817
+
818
+ # Name of the mobile operating system
819
+ # Corresponds to the JSON property `os`
820
+ # @return [String]
821
+ attr_accessor :os
822
+
823
+ # Unique identifier of Mobile Device (Read-only)
824
+ # Corresponds to the JSON property `resourceId`
825
+ # @return [String]
826
+ attr_accessor :resource_id
827
+
828
+ # Mobile Device SSN or Serial Number (Read-only)
829
+ # Corresponds to the JSON property `serialNumber`
830
+ # @return [String]
831
+ attr_accessor :serial_number
832
+
833
+ # Status of the device (Read-only)
834
+ # Corresponds to the JSON property `status`
835
+ # @return [String]
836
+ attr_accessor :status
837
+
838
+ # The type of device (Read-only)
839
+ # Corresponds to the JSON property `type`
840
+ # @return [String]
841
+ attr_accessor :type
842
+
843
+ # Mobile Device user agent
844
+ # Corresponds to the JSON property `userAgent`
845
+ # @return [String]
846
+ attr_accessor :user_agent
847
+
848
+ # Mobile Device WiFi MAC address (Read-only)
849
+ # Corresponds to the JSON property `wifiMacAddress`
850
+ # @return [String]
851
+ attr_accessor :wifi_mac_address
852
+
853
+ def initialize(**args)
854
+ update!(**args)
855
+ end
856
+
857
+ # Update properties of this object
858
+ def update!(**args)
859
+ @applications = args[:applications] unless args[:applications].nil?
860
+ @baseband_version = args[:baseband_version] unless args[:baseband_version].nil?
861
+ @build_number = args[:build_number] unless args[:build_number].nil?
862
+ @default_language = args[:default_language] unless args[:default_language].nil?
863
+ @device_compromised_status = args[:device_compromised_status] unless args[:device_compromised_status].nil?
864
+ @device_id = args[:device_id] unless args[:device_id].nil?
865
+ @email = args[:email] unless args[:email].nil?
866
+ @etag = args[:etag] unless args[:etag].nil?
867
+ @first_sync = args[:first_sync] unless args[:first_sync].nil?
868
+ @hardware_id = args[:hardware_id] unless args[:hardware_id].nil?
869
+ @imei = args[:imei] unless args[:imei].nil?
870
+ @kernel_version = args[:kernel_version] unless args[:kernel_version].nil?
871
+ @kind = args[:kind] unless args[:kind].nil?
872
+ @last_sync = args[:last_sync] unless args[:last_sync].nil?
873
+ @managed_account_is_on_owner_profile = args[:managed_account_is_on_owner_profile] unless args[:managed_account_is_on_owner_profile].nil?
874
+ @meid = args[:meid] unless args[:meid].nil?
875
+ @model = args[:model] unless args[:model].nil?
876
+ @name = args[:name] unless args[:name].nil?
877
+ @network_operator = args[:network_operator] unless args[:network_operator].nil?
878
+ @os = args[:os] unless args[:os].nil?
879
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
880
+ @serial_number = args[:serial_number] unless args[:serial_number].nil?
881
+ @status = args[:status] unless args[:status].nil?
882
+ @type = args[:type] unless args[:type].nil?
883
+ @user_agent = args[:user_agent] unless args[:user_agent].nil?
884
+ @wifi_mac_address = args[:wifi_mac_address] unless args[:wifi_mac_address].nil?
885
+ end
886
+
887
+ #
888
+ class Application
889
+ include Google::Apis::Core::Hashable
890
+
891
+ # Display name of application
892
+ # Corresponds to the JSON property `displayName`
893
+ # @return [String]
894
+ attr_accessor :display_name
895
+
896
+ # Package name of application
897
+ # Corresponds to the JSON property `packageName`
898
+ # @return [String]
899
+ attr_accessor :package_name
900
+
901
+ # List of Permissions for application
902
+ # Corresponds to the JSON property `permission`
903
+ # @return [Array<String>]
904
+ attr_accessor :permission
905
+
906
+ # Version code of application
907
+ # Corresponds to the JSON property `versionCode`
908
+ # @return [Fixnum]
909
+ attr_accessor :version_code
910
+
911
+ # Version name of application
912
+ # Corresponds to the JSON property `versionName`
913
+ # @return [String]
914
+ attr_accessor :version_name
915
+
916
+ def initialize(**args)
917
+ update!(**args)
918
+ end
919
+
920
+ # Update properties of this object
921
+ def update!(**args)
922
+ @display_name = args[:display_name] unless args[:display_name].nil?
923
+ @package_name = args[:package_name] unless args[:package_name].nil?
924
+ @permission = args[:permission] unless args[:permission].nil?
925
+ @version_code = args[:version_code] unless args[:version_code].nil?
926
+ @version_name = args[:version_name] unless args[:version_name].nil?
927
+ end
928
+ end
929
+ end
930
+
931
+ # JSON request template for firing commands on Mobile Device in Directory
932
+ # Devices API.
933
+ class MobileDeviceAction
934
+ include Google::Apis::Core::Hashable
935
+
936
+ # Action to be taken on the Mobile Device
937
+ # Corresponds to the JSON property `action`
938
+ # @return [String]
939
+ attr_accessor :action
940
+
941
+ def initialize(**args)
942
+ update!(**args)
943
+ end
944
+
945
+ # Update properties of this object
946
+ def update!(**args)
947
+ @action = args[:action] unless args[:action].nil?
948
+ end
949
+ end
950
+
951
+ # JSON response template for List Mobile Devices operation in Directory API.
952
+ class MobileDevices
953
+ include Google::Apis::Core::Hashable
954
+
955
+ # ETag of the resource.
956
+ # Corresponds to the JSON property `etag`
957
+ # @return [String]
958
+ attr_accessor :etag
959
+
960
+ # Kind of resource this is.
961
+ # Corresponds to the JSON property `kind`
962
+ # @return [String]
963
+ attr_accessor :kind
964
+
965
+ # List of Mobile Device objects.
966
+ # Corresponds to the JSON property `mobiledevices`
967
+ # @return [Array<Google::Apis::AdminDirectoryV1::MobileDevice>]
968
+ attr_accessor :mobiledevices
969
+
970
+ # Token used to access next page of this result.
971
+ # Corresponds to the JSON property `nextPageToken`
972
+ # @return [String]
973
+ attr_accessor :next_page_token
974
+
975
+ def initialize(**args)
976
+ update!(**args)
977
+ end
978
+
979
+ # Update properties of this object
980
+ def update!(**args)
981
+ @etag = args[:etag] unless args[:etag].nil?
982
+ @kind = args[:kind] unless args[:kind].nil?
983
+ @mobiledevices = args[:mobiledevices] unless args[:mobiledevices].nil?
984
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
985
+ end
986
+ end
987
+
988
+ # Template for a notification resource.
989
+ class Notification
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # Body of the notification (Read-only)
993
+ # Corresponds to the JSON property `body`
994
+ # @return [String]
995
+ attr_accessor :body
996
+
997
+ # ETag of the resource.
998
+ # Corresponds to the JSON property `etag`
999
+ # @return [String]
1000
+ attr_accessor :etag
1001
+
1002
+ # Address from which the notification is received (Read-only)
1003
+ # Corresponds to the JSON property `fromAddress`
1004
+ # @return [String]
1005
+ attr_accessor :from_address
1006
+
1007
+ # Boolean indicating whether the notification is unread or not.
1008
+ # Corresponds to the JSON property `isUnread`
1009
+ # @return [Boolean]
1010
+ attr_accessor :is_unread
1011
+ alias_method :is_unread?, :is_unread
1012
+
1013
+ # The type of the resource.
1014
+ # Corresponds to the JSON property `kind`
1015
+ # @return [String]
1016
+ attr_accessor :kind
1017
+
1018
+ #
1019
+ # Corresponds to the JSON property `notificationId`
1020
+ # @return [String]
1021
+ attr_accessor :notification_id
1022
+
1023
+ # Time at which notification was sent (Read-only)
1024
+ # Corresponds to the JSON property `sendTime`
1025
+ # @return [DateTime]
1026
+ attr_accessor :send_time
1027
+
1028
+ # Subject of the notification (Read-only)
1029
+ # Corresponds to the JSON property `subject`
1030
+ # @return [String]
1031
+ attr_accessor :subject
1032
+
1033
+ def initialize(**args)
1034
+ update!(**args)
1035
+ end
1036
+
1037
+ # Update properties of this object
1038
+ def update!(**args)
1039
+ @body = args[:body] unless args[:body].nil?
1040
+ @etag = args[:etag] unless args[:etag].nil?
1041
+ @from_address = args[:from_address] unless args[:from_address].nil?
1042
+ @is_unread = args[:is_unread] unless args[:is_unread].nil?
1043
+ @kind = args[:kind] unless args[:kind].nil?
1044
+ @notification_id = args[:notification_id] unless args[:notification_id].nil?
1045
+ @send_time = args[:send_time] unless args[:send_time].nil?
1046
+ @subject = args[:subject] unless args[:subject].nil?
1047
+ end
1048
+ end
1049
+
1050
+ # Template for notifications list response.
1051
+ class Notifications
1052
+ include Google::Apis::Core::Hashable
1053
+
1054
+ # ETag of the resource.
1055
+ # Corresponds to the JSON property `etag`
1056
+ # @return [String]
1057
+ attr_accessor :etag
1058
+
1059
+ # List of notifications in this page.
1060
+ # Corresponds to the JSON property `items`
1061
+ # @return [Array<Google::Apis::AdminDirectoryV1::Notification>]
1062
+ attr_accessor :items
1063
+
1064
+ # The type of the resource.
1065
+ # Corresponds to the JSON property `kind`
1066
+ # @return [String]
1067
+ attr_accessor :kind
1068
+
1069
+ # Token for fetching the next page of notifications.
1070
+ # Corresponds to the JSON property `nextPageToken`
1071
+ # @return [String]
1072
+ attr_accessor :next_page_token
1073
+
1074
+ # Number of unread notification for the domain.
1075
+ # Corresponds to the JSON property `unreadNotificationsCount`
1076
+ # @return [Fixnum]
1077
+ attr_accessor :unread_notifications_count
1078
+
1079
+ def initialize(**args)
1080
+ update!(**args)
1081
+ end
1082
+
1083
+ # Update properties of this object
1084
+ def update!(**args)
1085
+ @etag = args[:etag] unless args[:etag].nil?
1086
+ @items = args[:items] unless args[:items].nil?
1087
+ @kind = args[:kind] unless args[:kind].nil?
1088
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1089
+ @unread_notifications_count = args[:unread_notifications_count] unless args[:unread_notifications_count].nil?
1090
+ end
1091
+ end
1092
+
1093
+ # JSON template for Org Unit resource in Directory API.
1094
+ class OrgUnit
1095
+ include Google::Apis::Core::Hashable
1096
+
1097
+ # Should block inheritance
1098
+ # Corresponds to the JSON property `blockInheritance`
1099
+ # @return [Boolean]
1100
+ attr_accessor :block_inheritance
1101
+ alias_method :block_inheritance?, :block_inheritance
1102
+
1103
+ # Description of OrgUnit
1104
+ # Corresponds to the JSON property `description`
1105
+ # @return [String]
1106
+ attr_accessor :description
1107
+
1108
+ # ETag of the resource.
1109
+ # Corresponds to the JSON property `etag`
1110
+ # @return [String]
1111
+ attr_accessor :etag
1112
+
1113
+ # Kind of resource this is.
1114
+ # Corresponds to the JSON property `kind`
1115
+ # @return [String]
1116
+ attr_accessor :kind
1117
+
1118
+ # Name of OrgUnit
1119
+ # Corresponds to the JSON property `name`
1120
+ # @return [String]
1121
+ attr_accessor :name
1122
+
1123
+ # Id of OrgUnit
1124
+ # Corresponds to the JSON property `orgUnitId`
1125
+ # @return [String]
1126
+ attr_accessor :org_unit_id
1127
+
1128
+ # Path of OrgUnit
1129
+ # Corresponds to the JSON property `orgUnitPath`
1130
+ # @return [String]
1131
+ attr_accessor :org_unit_path
1132
+
1133
+ # Id of parent OrgUnit
1134
+ # Corresponds to the JSON property `parentOrgUnitId`
1135
+ # @return [String]
1136
+ attr_accessor :parent_org_unit_id
1137
+
1138
+ # Path of parent OrgUnit
1139
+ # Corresponds to the JSON property `parentOrgUnitPath`
1140
+ # @return [String]
1141
+ attr_accessor :parent_org_unit_path
1142
+
1143
+ def initialize(**args)
1144
+ update!(**args)
1145
+ end
1146
+
1147
+ # Update properties of this object
1148
+ def update!(**args)
1149
+ @block_inheritance = args[:block_inheritance] unless args[:block_inheritance].nil?
1150
+ @description = args[:description] unless args[:description].nil?
1151
+ @etag = args[:etag] unless args[:etag].nil?
1152
+ @kind = args[:kind] unless args[:kind].nil?
1153
+ @name = args[:name] unless args[:name].nil?
1154
+ @org_unit_id = args[:org_unit_id] unless args[:org_unit_id].nil?
1155
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
1156
+ @parent_org_unit_id = args[:parent_org_unit_id] unless args[:parent_org_unit_id].nil?
1157
+ @parent_org_unit_path = args[:parent_org_unit_path] unless args[:parent_org_unit_path].nil?
1158
+ end
1159
+ end
1160
+
1161
+ # JSON response template for List Organization Units operation in Directory API.
1162
+ class OrgUnits
1163
+ include Google::Apis::Core::Hashable
1164
+
1165
+ # ETag of the resource.
1166
+ # Corresponds to the JSON property `etag`
1167
+ # @return [String]
1168
+ attr_accessor :etag
1169
+
1170
+ # Kind of resource this is.
1171
+ # Corresponds to the JSON property `kind`
1172
+ # @return [String]
1173
+ attr_accessor :kind
1174
+
1175
+ # List of user objects.
1176
+ # Corresponds to the JSON property `organizationUnits`
1177
+ # @return [Array<Google::Apis::AdminDirectoryV1::OrgUnit>]
1178
+ attr_accessor :organization_units
1179
+
1180
+ def initialize(**args)
1181
+ update!(**args)
1182
+ end
1183
+
1184
+ # Update properties of this object
1185
+ def update!(**args)
1186
+ @etag = args[:etag] unless args[:etag].nil?
1187
+ @kind = args[:kind] unless args[:kind].nil?
1188
+ @organization_units = args[:organization_units] unless args[:organization_units].nil?
1189
+ end
1190
+ end
1191
+
1192
+ # JSON template for Schema resource in Directory API.
1193
+ class Schema
1194
+ include Google::Apis::Core::Hashable
1195
+
1196
+ # ETag of the resource.
1197
+ # Corresponds to the JSON property `etag`
1198
+ # @return [String]
1199
+ attr_accessor :etag
1200
+
1201
+ # Fields of Schema
1202
+ # Corresponds to the JSON property `fields`
1203
+ # @return [Array<Google::Apis::AdminDirectoryV1::SchemaFieldSpec>]
1204
+ attr_accessor :fields
1205
+
1206
+ # Kind of resource this is.
1207
+ # Corresponds to the JSON property `kind`
1208
+ # @return [String]
1209
+ attr_accessor :kind
1210
+
1211
+ # Unique identifier of Schema (Read-only)
1212
+ # Corresponds to the JSON property `schemaId`
1213
+ # @return [String]
1214
+ attr_accessor :schema_id
1215
+
1216
+ # Schema name
1217
+ # Corresponds to the JSON property `schemaName`
1218
+ # @return [String]
1219
+ attr_accessor :schema_name
1220
+
1221
+ def initialize(**args)
1222
+ update!(**args)
1223
+ end
1224
+
1225
+ # Update properties of this object
1226
+ def update!(**args)
1227
+ @etag = args[:etag] unless args[:etag].nil?
1228
+ @fields = args[:fields] unless args[:fields].nil?
1229
+ @kind = args[:kind] unless args[:kind].nil?
1230
+ @schema_id = args[:schema_id] unless args[:schema_id].nil?
1231
+ @schema_name = args[:schema_name] unless args[:schema_name].nil?
1232
+ end
1233
+ end
1234
+
1235
+ # JSON template for FieldSpec resource for Schemas in Directory API.
1236
+ class SchemaFieldSpec
1237
+ include Google::Apis::Core::Hashable
1238
+
1239
+ # ETag of the resource.
1240
+ # Corresponds to the JSON property `etag`
1241
+ # @return [String]
1242
+ attr_accessor :etag
1243
+
1244
+ # Unique identifier of Field (Read-only)
1245
+ # Corresponds to the JSON property `fieldId`
1246
+ # @return [String]
1247
+ attr_accessor :field_id
1248
+
1249
+ # Name of the field.
1250
+ # Corresponds to the JSON property `fieldName`
1251
+ # @return [String]
1252
+ attr_accessor :field_name
1253
+
1254
+ # Type of the field.
1255
+ # Corresponds to the JSON property `fieldType`
1256
+ # @return [String]
1257
+ attr_accessor :field_type
1258
+
1259
+ # Boolean specifying whether the field is indexed or not.
1260
+ # Corresponds to the JSON property `indexed`
1261
+ # @return [Boolean]
1262
+ attr_accessor :indexed
1263
+ alias_method :indexed?, :indexed
1264
+
1265
+ # Kind of resource this is.
1266
+ # Corresponds to the JSON property `kind`
1267
+ # @return [String]
1268
+ attr_accessor :kind
1269
+
1270
+ # Boolean specifying whether this is a multi-valued field or not.
1271
+ # Corresponds to the JSON property `multiValued`
1272
+ # @return [Boolean]
1273
+ attr_accessor :multi_valued
1274
+ alias_method :multi_valued?, :multi_valued
1275
+
1276
+ # Indexing spec for a numeric field. By default, only exact match queries will
1277
+ # be supported for numeric fields. Setting the numericIndexingSpec allows range
1278
+ # queries to be supported.
1279
+ # Corresponds to the JSON property `numericIndexingSpec`
1280
+ # @return [Google::Apis::AdminDirectoryV1::SchemaFieldSpec::NumericIndexingSpec]
1281
+ attr_accessor :numeric_indexing_spec
1282
+
1283
+ # Read ACLs on the field specifying who can view values of this field. Valid
1284
+ # values are "ALL_DOMAIN_USERS" and "ADMINS_AND_SELF".
1285
+ # Corresponds to the JSON property `readAccessType`
1286
+ # @return [String]
1287
+ attr_accessor :read_access_type
1288
+
1289
+ def initialize(**args)
1290
+ update!(**args)
1291
+ end
1292
+
1293
+ # Update properties of this object
1294
+ def update!(**args)
1295
+ @etag = args[:etag] unless args[:etag].nil?
1296
+ @field_id = args[:field_id] unless args[:field_id].nil?
1297
+ @field_name = args[:field_name] unless args[:field_name].nil?
1298
+ @field_type = args[:field_type] unless args[:field_type].nil?
1299
+ @indexed = args[:indexed] unless args[:indexed].nil?
1300
+ @kind = args[:kind] unless args[:kind].nil?
1301
+ @multi_valued = args[:multi_valued] unless args[:multi_valued].nil?
1302
+ @numeric_indexing_spec = args[:numeric_indexing_spec] unless args[:numeric_indexing_spec].nil?
1303
+ @read_access_type = args[:read_access_type] unless args[:read_access_type].nil?
1304
+ end
1305
+
1306
+ # Indexing spec for a numeric field. By default, only exact match queries will
1307
+ # be supported for numeric fields. Setting the numericIndexingSpec allows range
1308
+ # queries to be supported.
1309
+ class NumericIndexingSpec
1310
+ include Google::Apis::Core::Hashable
1311
+
1312
+ # Maximum value of this field. This is meant to be indicative rather than
1313
+ # enforced. Values outside this range will still be indexed, but search may not
1314
+ # be as performant.
1315
+ # Corresponds to the JSON property `maxValue`
1316
+ # @return [Float]
1317
+ attr_accessor :max_value
1318
+
1319
+ # Minimum value of this field. This is meant to be indicative rather than
1320
+ # enforced. Values outside this range will still be indexed, but search may not
1321
+ # be as performant.
1322
+ # Corresponds to the JSON property `minValue`
1323
+ # @return [Float]
1324
+ attr_accessor :min_value
1325
+
1326
+ def initialize(**args)
1327
+ update!(**args)
1328
+ end
1329
+
1330
+ # Update properties of this object
1331
+ def update!(**args)
1332
+ @max_value = args[:max_value] unless args[:max_value].nil?
1333
+ @min_value = args[:min_value] unless args[:min_value].nil?
1334
+ end
1335
+ end
1336
+ end
1337
+
1338
+ # JSON response template for List Schema operation in Directory API.
1339
+ class Schemas
1340
+ include Google::Apis::Core::Hashable
1341
+
1342
+ # ETag of the resource.
1343
+ # Corresponds to the JSON property `etag`
1344
+ # @return [String]
1345
+ attr_accessor :etag
1346
+
1347
+ # Kind of resource this is.
1348
+ # Corresponds to the JSON property `kind`
1349
+ # @return [String]
1350
+ attr_accessor :kind
1351
+
1352
+ # List of UserSchema objects.
1353
+ # Corresponds to the JSON property `schemas`
1354
+ # @return [Array<Google::Apis::AdminDirectoryV1::Schema>]
1355
+ attr_accessor :schemas
1356
+
1357
+ def initialize(**args)
1358
+ update!(**args)
1359
+ end
1360
+
1361
+ # Update properties of this object
1362
+ def update!(**args)
1363
+ @etag = args[:etag] unless args[:etag].nil?
1364
+ @kind = args[:kind] unless args[:kind].nil?
1365
+ @schemas = args[:schemas] unless args[:schemas].nil?
1366
+ end
1367
+ end
1368
+
1369
+ # JSON template for token resource in Directory API.
1370
+ class Token
1371
+ include Google::Apis::Core::Hashable
1372
+
1373
+ # Whether the application is registered with Google. The value is true if the
1374
+ # application has an anonymous Client ID.
1375
+ # Corresponds to the JSON property `anonymous`
1376
+ # @return [Boolean]
1377
+ attr_accessor :anonymous
1378
+ alias_method :anonymous?, :anonymous
1379
+
1380
+ # The Client ID of the application the token is issued to.
1381
+ # Corresponds to the JSON property `clientId`
1382
+ # @return [String]
1383
+ attr_accessor :client_id
1384
+
1385
+ # The displayable name of the application the token is issued to.
1386
+ # Corresponds to the JSON property `displayText`
1387
+ # @return [String]
1388
+ attr_accessor :display_text
1389
+
1390
+ # ETag of the resource.
1391
+ # Corresponds to the JSON property `etag`
1392
+ # @return [String]
1393
+ attr_accessor :etag
1394
+
1395
+ # The type of the API resource. This is always admin#directory#token.
1396
+ # Corresponds to the JSON property `kind`
1397
+ # @return [String]
1398
+ attr_accessor :kind
1399
+
1400
+ # Whether the token is issued to an installed application. The value is true if
1401
+ # the application is installed to a desktop or mobile device.
1402
+ # Corresponds to the JSON property `nativeApp`
1403
+ # @return [Boolean]
1404
+ attr_accessor :native_app
1405
+ alias_method :native_app?, :native_app
1406
+
1407
+ # A list of authorization scopes the application is granted.
1408
+ # Corresponds to the JSON property `scopes`
1409
+ # @return [Array<String>]
1410
+ attr_accessor :scopes
1411
+
1412
+ # The unique ID of the user that issued the token.
1413
+ # Corresponds to the JSON property `userKey`
1414
+ # @return [String]
1415
+ attr_accessor :user_key
1416
+
1417
+ def initialize(**args)
1418
+ update!(**args)
1419
+ end
1420
+
1421
+ # Update properties of this object
1422
+ def update!(**args)
1423
+ @anonymous = args[:anonymous] unless args[:anonymous].nil?
1424
+ @client_id = args[:client_id] unless args[:client_id].nil?
1425
+ @display_text = args[:display_text] unless args[:display_text].nil?
1426
+ @etag = args[:etag] unless args[:etag].nil?
1427
+ @kind = args[:kind] unless args[:kind].nil?
1428
+ @native_app = args[:native_app] unless args[:native_app].nil?
1429
+ @scopes = args[:scopes] unless args[:scopes].nil?
1430
+ @user_key = args[:user_key] unless args[:user_key].nil?
1431
+ end
1432
+ end
1433
+
1434
+ # JSON response template for List tokens operation in Directory API.
1435
+ class Tokens
1436
+ include Google::Apis::Core::Hashable
1437
+
1438
+ # ETag of the resource.
1439
+ # Corresponds to the JSON property `etag`
1440
+ # @return [String]
1441
+ attr_accessor :etag
1442
+
1443
+ # A list of Token resources.
1444
+ # Corresponds to the JSON property `items`
1445
+ # @return [Array<Google::Apis::AdminDirectoryV1::Token>]
1446
+ attr_accessor :items
1447
+
1448
+ # The type of the API resource. This is always admin#directory#tokenList.
1449
+ # Corresponds to the JSON property `kind`
1450
+ # @return [String]
1451
+ attr_accessor :kind
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @etag = args[:etag] unless args[:etag].nil?
1460
+ @items = args[:items] unless args[:items].nil?
1461
+ @kind = args[:kind] unless args[:kind].nil?
1462
+ end
1463
+ end
1464
+
1465
+ # JSON template for User object in Directory API.
1466
+ class User
1467
+ include Google::Apis::Core::Hashable
1468
+
1469
+ #
1470
+ # Corresponds to the JSON property `addresses`
1471
+ # @return [Object]
1472
+ attr_accessor :addresses
1473
+
1474
+ # Indicates if user has agreed to terms (Read-only)
1475
+ # Corresponds to the JSON property `agreedToTerms`
1476
+ # @return [Boolean]
1477
+ attr_accessor :agreed_to_terms
1478
+ alias_method :agreed_to_terms?, :agreed_to_terms
1479
+
1480
+ # List of aliases (Read-only)
1481
+ # Corresponds to the JSON property `aliases`
1482
+ # @return [Array<String>]
1483
+ attr_accessor :aliases
1484
+
1485
+ # Boolean indicating if the user should change password in next login
1486
+ # Corresponds to the JSON property `changePasswordAtNextLogin`
1487
+ # @return [Boolean]
1488
+ attr_accessor :change_password_at_next_login
1489
+ alias_method :change_password_at_next_login?, :change_password_at_next_login
1490
+
1491
+ # User's Google account creation time. (Read-only)
1492
+ # Corresponds to the JSON property `creationTime`
1493
+ # @return [DateTime]
1494
+ attr_accessor :creation_time
1495
+
1496
+ # Custom fields of the user.
1497
+ # Corresponds to the JSON property `customSchemas`
1498
+ # @return [Hash<String,Hash<String,Object>>]
1499
+ attr_accessor :custom_schemas
1500
+
1501
+ # CustomerId of User (Read-only)
1502
+ # Corresponds to the JSON property `customerId`
1503
+ # @return [String]
1504
+ attr_accessor :customer_id
1505
+
1506
+ #
1507
+ # Corresponds to the JSON property `deletionTime`
1508
+ # @return [DateTime]
1509
+ attr_accessor :deletion_time
1510
+
1511
+ #
1512
+ # Corresponds to the JSON property `emails`
1513
+ # @return [Object]
1514
+ attr_accessor :emails
1515
+
1516
+ # ETag of the resource.
1517
+ # Corresponds to the JSON property `etag`
1518
+ # @return [String]
1519
+ attr_accessor :etag
1520
+
1521
+ #
1522
+ # Corresponds to the JSON property `externalIds`
1523
+ # @return [Object]
1524
+ attr_accessor :external_ids
1525
+
1526
+ # Hash function name for password. Supported are MD5, SHA-1 and crypt
1527
+ # Corresponds to the JSON property `hashFunction`
1528
+ # @return [String]
1529
+ attr_accessor :hash_function
1530
+
1531
+ # Unique identifier of User (Read-only)
1532
+ # Corresponds to the JSON property `id`
1533
+ # @return [String]
1534
+ attr_accessor :id
1535
+
1536
+ #
1537
+ # Corresponds to the JSON property `ims`
1538
+ # @return [Object]
1539
+ attr_accessor :ims
1540
+
1541
+ # Boolean indicating if user is included in Global Address List
1542
+ # Corresponds to the JSON property `includeInGlobalAddressList`
1543
+ # @return [Boolean]
1544
+ attr_accessor :include_in_global_address_list
1545
+ alias_method :include_in_global_address_list?, :include_in_global_address_list
1546
+
1547
+ # Boolean indicating if ip is whitelisted
1548
+ # Corresponds to the JSON property `ipWhitelisted`
1549
+ # @return [Boolean]
1550
+ attr_accessor :ip_whitelisted
1551
+ alias_method :ip_whitelisted?, :ip_whitelisted
1552
+
1553
+ # Boolean indicating if the user is admin (Read-only)
1554
+ # Corresponds to the JSON property `isAdmin`
1555
+ # @return [Boolean]
1556
+ attr_accessor :is_admin
1557
+ alias_method :is_admin?, :is_admin
1558
+
1559
+ # Boolean indicating if the user is delegated admin (Read-only)
1560
+ # Corresponds to the JSON property `isDelegatedAdmin`
1561
+ # @return [Boolean]
1562
+ attr_accessor :is_delegated_admin
1563
+ alias_method :is_delegated_admin?, :is_delegated_admin
1564
+
1565
+ # Is mailbox setup (Read-only)
1566
+ # Corresponds to the JSON property `isMailboxSetup`
1567
+ # @return [Boolean]
1568
+ attr_accessor :is_mailbox_setup
1569
+ alias_method :is_mailbox_setup?, :is_mailbox_setup
1570
+
1571
+ # Kind of resource this is.
1572
+ # Corresponds to the JSON property `kind`
1573
+ # @return [String]
1574
+ attr_accessor :kind
1575
+
1576
+ # User's last login time. (Read-only)
1577
+ # Corresponds to the JSON property `lastLoginTime`
1578
+ # @return [DateTime]
1579
+ attr_accessor :last_login_time
1580
+
1581
+ # JSON template for name of a user in Directory API.
1582
+ # Corresponds to the JSON property `name`
1583
+ # @return [Google::Apis::AdminDirectoryV1::UserName]
1584
+ attr_accessor :name
1585
+
1586
+ # List of non editable aliases (Read-only)
1587
+ # Corresponds to the JSON property `nonEditableAliases`
1588
+ # @return [Array<String>]
1589
+ attr_accessor :non_editable_aliases
1590
+
1591
+ #
1592
+ # Corresponds to the JSON property `notes`
1593
+ # @return [Object]
1594
+ attr_accessor :notes
1595
+
1596
+ # OrgUnit of User
1597
+ # Corresponds to the JSON property `orgUnitPath`
1598
+ # @return [String]
1599
+ attr_accessor :org_unit_path
1600
+
1601
+ #
1602
+ # Corresponds to the JSON property `organizations`
1603
+ # @return [Object]
1604
+ attr_accessor :organizations
1605
+
1606
+ # User's password
1607
+ # Corresponds to the JSON property `password`
1608
+ # @return [String]
1609
+ attr_accessor :password
1610
+
1611
+ #
1612
+ # Corresponds to the JSON property `phones`
1613
+ # @return [Object]
1614
+ attr_accessor :phones
1615
+
1616
+ # username of User
1617
+ # Corresponds to the JSON property `primaryEmail`
1618
+ # @return [String]
1619
+ attr_accessor :primary_email
1620
+
1621
+ #
1622
+ # Corresponds to the JSON property `relations`
1623
+ # @return [Object]
1624
+ attr_accessor :relations
1625
+
1626
+ # Indicates if user is suspended
1627
+ # Corresponds to the JSON property `suspended`
1628
+ # @return [Boolean]
1629
+ attr_accessor :suspended
1630
+ alias_method :suspended?, :suspended
1631
+
1632
+ # Suspension reason if user is suspended (Read-only)
1633
+ # Corresponds to the JSON property `suspensionReason`
1634
+ # @return [String]
1635
+ attr_accessor :suspension_reason
1636
+
1637
+ # ETag of the user's photo (Read-only)
1638
+ # Corresponds to the JSON property `thumbnailPhotoEtag`
1639
+ # @return [String]
1640
+ attr_accessor :thumbnail_photo_etag
1641
+
1642
+ # Photo Url of the user (Read-only)
1643
+ # Corresponds to the JSON property `thumbnailPhotoUrl`
1644
+ # @return [String]
1645
+ attr_accessor :thumbnail_photo_url
1646
+
1647
+ #
1648
+ # Corresponds to the JSON property `websites`
1649
+ # @return [Object]
1650
+ attr_accessor :websites
1651
+
1652
+ def initialize(**args)
1653
+ update!(**args)
1654
+ end
1655
+
1656
+ # Update properties of this object
1657
+ def update!(**args)
1658
+ @addresses = args[:addresses] unless args[:addresses].nil?
1659
+ @agreed_to_terms = args[:agreed_to_terms] unless args[:agreed_to_terms].nil?
1660
+ @aliases = args[:aliases] unless args[:aliases].nil?
1661
+ @change_password_at_next_login = args[:change_password_at_next_login] unless args[:change_password_at_next_login].nil?
1662
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
1663
+ @custom_schemas = args[:custom_schemas] unless args[:custom_schemas].nil?
1664
+ @customer_id = args[:customer_id] unless args[:customer_id].nil?
1665
+ @deletion_time = args[:deletion_time] unless args[:deletion_time].nil?
1666
+ @emails = args[:emails] unless args[:emails].nil?
1667
+ @etag = args[:etag] unless args[:etag].nil?
1668
+ @external_ids = args[:external_ids] unless args[:external_ids].nil?
1669
+ @hash_function = args[:hash_function] unless args[:hash_function].nil?
1670
+ @id = args[:id] unless args[:id].nil?
1671
+ @ims = args[:ims] unless args[:ims].nil?
1672
+ @include_in_global_address_list = args[:include_in_global_address_list] unless args[:include_in_global_address_list].nil?
1673
+ @ip_whitelisted = args[:ip_whitelisted] unless args[:ip_whitelisted].nil?
1674
+ @is_admin = args[:is_admin] unless args[:is_admin].nil?
1675
+ @is_delegated_admin = args[:is_delegated_admin] unless args[:is_delegated_admin].nil?
1676
+ @is_mailbox_setup = args[:is_mailbox_setup] unless args[:is_mailbox_setup].nil?
1677
+ @kind = args[:kind] unless args[:kind].nil?
1678
+ @last_login_time = args[:last_login_time] unless args[:last_login_time].nil?
1679
+ @name = args[:name] unless args[:name].nil?
1680
+ @non_editable_aliases = args[:non_editable_aliases] unless args[:non_editable_aliases].nil?
1681
+ @notes = args[:notes] unless args[:notes].nil?
1682
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
1683
+ @organizations = args[:organizations] unless args[:organizations].nil?
1684
+ @password = args[:password] unless args[:password].nil?
1685
+ @phones = args[:phones] unless args[:phones].nil?
1686
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
1687
+ @relations = args[:relations] unless args[:relations].nil?
1688
+ @suspended = args[:suspended] unless args[:suspended].nil?
1689
+ @suspension_reason = args[:suspension_reason] unless args[:suspension_reason].nil?
1690
+ @thumbnail_photo_etag = args[:thumbnail_photo_etag] unless args[:thumbnail_photo_etag].nil?
1691
+ @thumbnail_photo_url = args[:thumbnail_photo_url] unless args[:thumbnail_photo_url].nil?
1692
+ @websites = args[:websites] unless args[:websites].nil?
1693
+ end
1694
+ end
1695
+
1696
+ # JSON template for About (notes) of a user in Directory API.
1697
+ class UserAbout
1698
+ include Google::Apis::Core::Hashable
1699
+
1700
+ # About entry can have a type which indicates the content type. It can either be
1701
+ # plain or html. By default, notes contents are assumed to contain plain text.
1702
+ # Corresponds to the JSON property `contentType`
1703
+ # @return [String]
1704
+ attr_accessor :content_type
1705
+
1706
+ # Actual value of notes.
1707
+ # Corresponds to the JSON property `value`
1708
+ # @return [String]
1709
+ attr_accessor :value
1710
+
1711
+ def initialize(**args)
1712
+ update!(**args)
1713
+ end
1714
+
1715
+ # Update properties of this object
1716
+ def update!(**args)
1717
+ @content_type = args[:content_type] unless args[:content_type].nil?
1718
+ @value = args[:value] unless args[:value].nil?
1719
+ end
1720
+ end
1721
+
1722
+ # JSON template for address.
1723
+ class UserAddress
1724
+ include Google::Apis::Core::Hashable
1725
+
1726
+ # Country.
1727
+ # Corresponds to the JSON property `country`
1728
+ # @return [String]
1729
+ attr_accessor :country
1730
+
1731
+ # Country code.
1732
+ # Corresponds to the JSON property `countryCode`
1733
+ # @return [String]
1734
+ attr_accessor :country_code
1735
+
1736
+ # Custom type.
1737
+ # Corresponds to the JSON property `customType`
1738
+ # @return [String]
1739
+ attr_accessor :custom_type
1740
+
1741
+ # Extended Address.
1742
+ # Corresponds to the JSON property `extendedAddress`
1743
+ # @return [String]
1744
+ attr_accessor :extended_address
1745
+
1746
+ # Formatted address.
1747
+ # Corresponds to the JSON property `formatted`
1748
+ # @return [String]
1749
+ attr_accessor :formatted
1750
+
1751
+ # Locality.
1752
+ # Corresponds to the JSON property `locality`
1753
+ # @return [String]
1754
+ attr_accessor :locality
1755
+
1756
+ # Other parts of address.
1757
+ # Corresponds to the JSON property `poBox`
1758
+ # @return [String]
1759
+ attr_accessor :po_box
1760
+
1761
+ # Postal code.
1762
+ # Corresponds to the JSON property `postalCode`
1763
+ # @return [String]
1764
+ attr_accessor :postal_code
1765
+
1766
+ # If this is user's primary address. Only one entry could be marked as primary.
1767
+ # Corresponds to the JSON property `primary`
1768
+ # @return [Boolean]
1769
+ attr_accessor :primary
1770
+ alias_method :primary?, :primary
1771
+
1772
+ # Region.
1773
+ # Corresponds to the JSON property `region`
1774
+ # @return [String]
1775
+ attr_accessor :region
1776
+
1777
+ # User supplied address was structured. Structured addresses are NOT supported
1778
+ # at this time. You might be able to write structured addresses, but any values
1779
+ # will eventually be clobbered.
1780
+ # Corresponds to the JSON property `sourceIsStructured`
1781
+ # @return [Boolean]
1782
+ attr_accessor :source_is_structured
1783
+ alias_method :source_is_structured?, :source_is_structured
1784
+
1785
+ # Street.
1786
+ # Corresponds to the JSON property `streetAddress`
1787
+ # @return [String]
1788
+ attr_accessor :street_address
1789
+
1790
+ # Each entry can have a type which indicates standard values of that entry. For
1791
+ # example address could be of home, work etc. In addition to the standard type,
1792
+ # an entry can have a custom type and can take any value. Such type should have
1793
+ # the CUSTOM value as type and also have a customType value.
1794
+ # Corresponds to the JSON property `type`
1795
+ # @return [String]
1796
+ attr_accessor :type
1797
+
1798
+ def initialize(**args)
1799
+ update!(**args)
1800
+ end
1801
+
1802
+ # Update properties of this object
1803
+ def update!(**args)
1804
+ @country = args[:country] unless args[:country].nil?
1805
+ @country_code = args[:country_code] unless args[:country_code].nil?
1806
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
1807
+ @extended_address = args[:extended_address] unless args[:extended_address].nil?
1808
+ @formatted = args[:formatted] unless args[:formatted].nil?
1809
+ @locality = args[:locality] unless args[:locality].nil?
1810
+ @po_box = args[:po_box] unless args[:po_box].nil?
1811
+ @postal_code = args[:postal_code] unless args[:postal_code].nil?
1812
+ @primary = args[:primary] unless args[:primary].nil?
1813
+ @region = args[:region] unless args[:region].nil?
1814
+ @source_is_structured = args[:source_is_structured] unless args[:source_is_structured].nil?
1815
+ @street_address = args[:street_address] unless args[:street_address].nil?
1816
+ @type = args[:type] unless args[:type].nil?
1817
+ end
1818
+ end
1819
+
1820
+ # JSON template for an email.
1821
+ class UserEmail
1822
+ include Google::Apis::Core::Hashable
1823
+
1824
+ # Email id of the user.
1825
+ # Corresponds to the JSON property `address`
1826
+ # @return [String]
1827
+ attr_accessor :address
1828
+
1829
+ # Custom Type.
1830
+ # Corresponds to the JSON property `customType`
1831
+ # @return [String]
1832
+ attr_accessor :custom_type
1833
+
1834
+ # If this is user's primary email. Only one entry could be marked as primary.
1835
+ # Corresponds to the JSON property `primary`
1836
+ # @return [Boolean]
1837
+ attr_accessor :primary
1838
+ alias_method :primary?, :primary
1839
+
1840
+ # Each entry can have a type which indicates standard types of that entry. For
1841
+ # example email could be of home, work etc. In addition to the standard type, an
1842
+ # entry can have a custom type and can take any value Such types should have the
1843
+ # CUSTOM value as type and also have a customType value.
1844
+ # Corresponds to the JSON property `type`
1845
+ # @return [String]
1846
+ attr_accessor :type
1847
+
1848
+ def initialize(**args)
1849
+ update!(**args)
1850
+ end
1851
+
1852
+ # Update properties of this object
1853
+ def update!(**args)
1854
+ @address = args[:address] unless args[:address].nil?
1855
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
1856
+ @primary = args[:primary] unless args[:primary].nil?
1857
+ @type = args[:type] unless args[:type].nil?
1858
+ end
1859
+ end
1860
+
1861
+ # JSON template for an externalId entry.
1862
+ class UserExternalId
1863
+ include Google::Apis::Core::Hashable
1864
+
1865
+ # Custom type.
1866
+ # Corresponds to the JSON property `customType`
1867
+ # @return [String]
1868
+ attr_accessor :custom_type
1869
+
1870
+ # The type of the Id.
1871
+ # Corresponds to the JSON property `type`
1872
+ # @return [String]
1873
+ attr_accessor :type
1874
+
1875
+ # The value of the id.
1876
+ # Corresponds to the JSON property `value`
1877
+ # @return [String]
1878
+ attr_accessor :value
1879
+
1880
+ def initialize(**args)
1881
+ update!(**args)
1882
+ end
1883
+
1884
+ # Update properties of this object
1885
+ def update!(**args)
1886
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
1887
+ @type = args[:type] unless args[:type].nil?
1888
+ @value = args[:value] unless args[:value].nil?
1889
+ end
1890
+ end
1891
+
1892
+ # JSON template for instant messenger of an user.
1893
+ class UserIm
1894
+ include Google::Apis::Core::Hashable
1895
+
1896
+ # Custom protocol.
1897
+ # Corresponds to the JSON property `customProtocol`
1898
+ # @return [String]
1899
+ attr_accessor :custom_protocol
1900
+
1901
+ # Custom type.
1902
+ # Corresponds to the JSON property `customType`
1903
+ # @return [String]
1904
+ attr_accessor :custom_type
1905
+
1906
+ # Instant messenger id.
1907
+ # Corresponds to the JSON property `im`
1908
+ # @return [String]
1909
+ attr_accessor :im
1910
+
1911
+ # If this is user's primary im. Only one entry could be marked as primary.
1912
+ # Corresponds to the JSON property `primary`
1913
+ # @return [Boolean]
1914
+ attr_accessor :primary
1915
+ alias_method :primary?, :primary
1916
+
1917
+ # Protocol used in the instant messenger. It should be one of the values from
1918
+ # ImProtocolTypes map. Similar to type, it can take a CUSTOM value and specify
1919
+ # the custom name in customProtocol field.
1920
+ # Corresponds to the JSON property `protocol`
1921
+ # @return [String]
1922
+ attr_accessor :protocol
1923
+
1924
+ # Each entry can have a type which indicates standard types of that entry. For
1925
+ # example instant messengers could be of home, work etc. In addition to the
1926
+ # standard type, an entry can have a custom type and can take any value. Such
1927
+ # types should have the CUSTOM value as type and also have a customType value.
1928
+ # Corresponds to the JSON property `type`
1929
+ # @return [String]
1930
+ attr_accessor :type
1931
+
1932
+ def initialize(**args)
1933
+ update!(**args)
1934
+ end
1935
+
1936
+ # Update properties of this object
1937
+ def update!(**args)
1938
+ @custom_protocol = args[:custom_protocol] unless args[:custom_protocol].nil?
1939
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
1940
+ @im = args[:im] unless args[:im].nil?
1941
+ @primary = args[:primary] unless args[:primary].nil?
1942
+ @protocol = args[:protocol] unless args[:protocol].nil?
1943
+ @type = args[:type] unless args[:type].nil?
1944
+ end
1945
+ end
1946
+
1947
+ # JSON request template for setting/revoking admin status of a user in Directory
1948
+ # API.
1949
+ class UserMakeAdmin
1950
+ include Google::Apis::Core::Hashable
1951
+
1952
+ # Boolean indicating new admin status of the user
1953
+ # Corresponds to the JSON property `status`
1954
+ # @return [Boolean]
1955
+ attr_accessor :status
1956
+ alias_method :status?, :status
1957
+
1958
+ def initialize(**args)
1959
+ update!(**args)
1960
+ end
1961
+
1962
+ # Update properties of this object
1963
+ def update!(**args)
1964
+ @status = args[:status] unless args[:status].nil?
1965
+ end
1966
+ end
1967
+
1968
+ # JSON template for name of a user in Directory API.
1969
+ class UserName
1970
+ include Google::Apis::Core::Hashable
1971
+
1972
+ # Last Name
1973
+ # Corresponds to the JSON property `familyName`
1974
+ # @return [String]
1975
+ attr_accessor :family_name
1976
+
1977
+ # Full Name
1978
+ # Corresponds to the JSON property `fullName`
1979
+ # @return [String]
1980
+ attr_accessor :full_name
1981
+
1982
+ # First Name
1983
+ # Corresponds to the JSON property `givenName`
1984
+ # @return [String]
1985
+ attr_accessor :given_name
1986
+
1987
+ def initialize(**args)
1988
+ update!(**args)
1989
+ end
1990
+
1991
+ # Update properties of this object
1992
+ def update!(**args)
1993
+ @family_name = args[:family_name] unless args[:family_name].nil?
1994
+ @full_name = args[:full_name] unless args[:full_name].nil?
1995
+ @given_name = args[:given_name] unless args[:given_name].nil?
1996
+ end
1997
+ end
1998
+
1999
+ # JSON template for an organization entry.
2000
+ class UserOrganization
2001
+ include Google::Apis::Core::Hashable
2002
+
2003
+ # The cost center of the users department.
2004
+ # Corresponds to the JSON property `costCenter`
2005
+ # @return [String]
2006
+ attr_accessor :cost_center
2007
+
2008
+ # Custom type.
2009
+ # Corresponds to the JSON property `customType`
2010
+ # @return [String]
2011
+ attr_accessor :custom_type
2012
+
2013
+ # Department within the organization.
2014
+ # Corresponds to the JSON property `department`
2015
+ # @return [String]
2016
+ attr_accessor :department
2017
+
2018
+ # Description of the organization.
2019
+ # Corresponds to the JSON property `description`
2020
+ # @return [String]
2021
+ attr_accessor :description
2022
+
2023
+ # The domain to which the organization belongs to.
2024
+ # Corresponds to the JSON property `domain`
2025
+ # @return [String]
2026
+ attr_accessor :domain
2027
+
2028
+ # Location of the organization. This need not be fully qualified address.
2029
+ # Corresponds to the JSON property `location`
2030
+ # @return [String]
2031
+ attr_accessor :location
2032
+
2033
+ # Name of the organization
2034
+ # Corresponds to the JSON property `name`
2035
+ # @return [String]
2036
+ attr_accessor :name
2037
+
2038
+ # If it user's primary organization.
2039
+ # Corresponds to the JSON property `primary`
2040
+ # @return [Boolean]
2041
+ attr_accessor :primary
2042
+ alias_method :primary?, :primary
2043
+
2044
+ # Symbol of the organization.
2045
+ # Corresponds to the JSON property `symbol`
2046
+ # @return [String]
2047
+ attr_accessor :symbol
2048
+
2049
+ # Title (designation) of the user in the organization.
2050
+ # Corresponds to the JSON property `title`
2051
+ # @return [String]
2052
+ attr_accessor :title
2053
+
2054
+ # Each entry can have a type which indicates standard types of that entry. For
2055
+ # example organization could be of school, work etc. In addition to the standard
2056
+ # type, an entry can have a custom type and can give it any name. Such types
2057
+ # should have the CUSTOM value as type and also have a CustomType value.
2058
+ # Corresponds to the JSON property `type`
2059
+ # @return [String]
2060
+ attr_accessor :type
2061
+
2062
+ def initialize(**args)
2063
+ update!(**args)
2064
+ end
2065
+
2066
+ # Update properties of this object
2067
+ def update!(**args)
2068
+ @cost_center = args[:cost_center] unless args[:cost_center].nil?
2069
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
2070
+ @department = args[:department] unless args[:department].nil?
2071
+ @description = args[:description] unless args[:description].nil?
2072
+ @domain = args[:domain] unless args[:domain].nil?
2073
+ @location = args[:location] unless args[:location].nil?
2074
+ @name = args[:name] unless args[:name].nil?
2075
+ @primary = args[:primary] unless args[:primary].nil?
2076
+ @symbol = args[:symbol] unless args[:symbol].nil?
2077
+ @title = args[:title] unless args[:title].nil?
2078
+ @type = args[:type] unless args[:type].nil?
2079
+ end
2080
+ end
2081
+
2082
+ # JSON template for a phone entry.
2083
+ class UserPhone
2084
+ include Google::Apis::Core::Hashable
2085
+
2086
+ # Custom Type.
2087
+ # Corresponds to the JSON property `customType`
2088
+ # @return [String]
2089
+ attr_accessor :custom_type
2090
+
2091
+ # If this is user's primary phone or not.
2092
+ # Corresponds to the JSON property `primary`
2093
+ # @return [Boolean]
2094
+ attr_accessor :primary
2095
+ alias_method :primary?, :primary
2096
+
2097
+ # Each entry can have a type which indicates standard types of that entry. For
2098
+ # example phone could be of home_fax, work, mobile etc. In addition to the
2099
+ # standard type, an entry can have a custom type and can give it any name. Such
2100
+ # types should have the CUSTOM value as type and also have a customType value.
2101
+ # Corresponds to the JSON property `type`
2102
+ # @return [String]
2103
+ attr_accessor :type
2104
+
2105
+ # Phone number.
2106
+ # Corresponds to the JSON property `value`
2107
+ # @return [String]
2108
+ attr_accessor :value
2109
+
2110
+ def initialize(**args)
2111
+ update!(**args)
2112
+ end
2113
+
2114
+ # Update properties of this object
2115
+ def update!(**args)
2116
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
2117
+ @primary = args[:primary] unless args[:primary].nil?
2118
+ @type = args[:type] unless args[:type].nil?
2119
+ @value = args[:value] unless args[:value].nil?
2120
+ end
2121
+ end
2122
+
2123
+ # JSON template for Photo object in Directory API.
2124
+ class UserPhoto
2125
+ include Google::Apis::Core::Hashable
2126
+
2127
+ # ETag of the resource.
2128
+ # Corresponds to the JSON property `etag`
2129
+ # @return [String]
2130
+ attr_accessor :etag
2131
+
2132
+ # Height in pixels of the photo
2133
+ # Corresponds to the JSON property `height`
2134
+ # @return [Fixnum]
2135
+ attr_accessor :height
2136
+
2137
+ # Unique identifier of User (Read-only)
2138
+ # Corresponds to the JSON property `id`
2139
+ # @return [String]
2140
+ attr_accessor :id
2141
+
2142
+ # Kind of resource this is.
2143
+ # Corresponds to the JSON property `kind`
2144
+ # @return [String]
2145
+ attr_accessor :kind
2146
+
2147
+ # Mime Type of the photo
2148
+ # Corresponds to the JSON property `mimeType`
2149
+ # @return [String]
2150
+ attr_accessor :mime_type
2151
+
2152
+ # Base64 encoded photo data
2153
+ # Corresponds to the JSON property `photoData`
2154
+ # @return [String]
2155
+ attr_accessor :photo_data
2156
+
2157
+ # Primary email of User (Read-only)
2158
+ # Corresponds to the JSON property `primaryEmail`
2159
+ # @return [String]
2160
+ attr_accessor :primary_email
2161
+
2162
+ # Width in pixels of the photo
2163
+ # Corresponds to the JSON property `width`
2164
+ # @return [Fixnum]
2165
+ attr_accessor :width
2166
+
2167
+ def initialize(**args)
2168
+ update!(**args)
2169
+ end
2170
+
2171
+ # Update properties of this object
2172
+ def update!(**args)
2173
+ @etag = args[:etag] unless args[:etag].nil?
2174
+ @height = args[:height] unless args[:height].nil?
2175
+ @id = args[:id] unless args[:id].nil?
2176
+ @kind = args[:kind] unless args[:kind].nil?
2177
+ @mime_type = args[:mime_type] unless args[:mime_type].nil?
2178
+ @photo_data = args[:photo_data] unless args[:photo_data].nil?
2179
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
2180
+ @width = args[:width] unless args[:width].nil?
2181
+ end
2182
+ end
2183
+
2184
+ # JSON template for a relation entry.
2185
+ class UserRelation
2186
+ include Google::Apis::Core::Hashable
2187
+
2188
+ # Custom Type.
2189
+ # Corresponds to the JSON property `customType`
2190
+ # @return [String]
2191
+ attr_accessor :custom_type
2192
+
2193
+ # The relation of the user. Some of the possible values are mother, father,
2194
+ # sister, brother, manager, assistant, partner.
2195
+ # Corresponds to the JSON property `type`
2196
+ # @return [String]
2197
+ attr_accessor :type
2198
+
2199
+ # The name of the relation.
2200
+ # Corresponds to the JSON property `value`
2201
+ # @return [String]
2202
+ attr_accessor :value
2203
+
2204
+ def initialize(**args)
2205
+ update!(**args)
2206
+ end
2207
+
2208
+ # Update properties of this object
2209
+ def update!(**args)
2210
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
2211
+ @type = args[:type] unless args[:type].nil?
2212
+ @value = args[:value] unless args[:value].nil?
2213
+ end
2214
+ end
2215
+
2216
+ # JSON request template to undelete a user in Directory API.
2217
+ class UserUndelete
2218
+ include Google::Apis::Core::Hashable
2219
+
2220
+ # OrgUnit of User
2221
+ # Corresponds to the JSON property `orgUnitPath`
2222
+ # @return [String]
2223
+ attr_accessor :org_unit_path
2224
+
2225
+ def initialize(**args)
2226
+ update!(**args)
2227
+ end
2228
+
2229
+ # Update properties of this object
2230
+ def update!(**args)
2231
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
2232
+ end
2233
+ end
2234
+
2235
+ # JSON template for a website entry.
2236
+ class UserWebsite
2237
+ include Google::Apis::Core::Hashable
2238
+
2239
+ # Custom Type.
2240
+ # Corresponds to the JSON property `customType`
2241
+ # @return [String]
2242
+ attr_accessor :custom_type
2243
+
2244
+ # If this is user's primary website or not.
2245
+ # Corresponds to the JSON property `primary`
2246
+ # @return [Boolean]
2247
+ attr_accessor :primary
2248
+ alias_method :primary?, :primary
2249
+
2250
+ # Each entry can have a type which indicates standard types of that entry. For
2251
+ # example website could be of home, work, blog etc. In addition to the standard
2252
+ # type, an entry can have a custom type and can give it any name. Such types
2253
+ # should have the CUSTOM value as type and also have a customType value.
2254
+ # Corresponds to the JSON property `type`
2255
+ # @return [String]
2256
+ attr_accessor :type
2257
+
2258
+ # Website.
2259
+ # Corresponds to the JSON property `value`
2260
+ # @return [String]
2261
+ attr_accessor :value
2262
+
2263
+ def initialize(**args)
2264
+ update!(**args)
2265
+ end
2266
+
2267
+ # Update properties of this object
2268
+ def update!(**args)
2269
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
2270
+ @primary = args[:primary] unless args[:primary].nil?
2271
+ @type = args[:type] unless args[:type].nil?
2272
+ @value = args[:value] unless args[:value].nil?
2273
+ end
2274
+ end
2275
+
2276
+ # JSON response template for List Users operation in Apps Directory API.
2277
+ class Users
2278
+ include Google::Apis::Core::Hashable
2279
+
2280
+ # ETag of the resource.
2281
+ # Corresponds to the JSON property `etag`
2282
+ # @return [String]
2283
+ attr_accessor :etag
2284
+
2285
+ # Kind of resource this is.
2286
+ # Corresponds to the JSON property `kind`
2287
+ # @return [String]
2288
+ attr_accessor :kind
2289
+
2290
+ # Token used to access next page of this result.
2291
+ # Corresponds to the JSON property `nextPageToken`
2292
+ # @return [String]
2293
+ attr_accessor :next_page_token
2294
+
2295
+ # Event that triggered this response (only used in case of Push Response)
2296
+ # Corresponds to the JSON property `trigger_event`
2297
+ # @return [String]
2298
+ attr_accessor :trigger_event
2299
+
2300
+ # List of user objects.
2301
+ # Corresponds to the JSON property `users`
2302
+ # @return [Array<Google::Apis::AdminDirectoryV1::User>]
2303
+ attr_accessor :users
2304
+
2305
+ def initialize(**args)
2306
+ update!(**args)
2307
+ end
2308
+
2309
+ # Update properties of this object
2310
+ def update!(**args)
2311
+ @etag = args[:etag] unless args[:etag].nil?
2312
+ @kind = args[:kind] unless args[:kind].nil?
2313
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2314
+ @trigger_event = args[:trigger_event] unless args[:trigger_event].nil?
2315
+ @users = args[:users] unless args[:users].nil?
2316
+ end
2317
+ end
2318
+
2319
+ # JSON template for verification codes in Directory API.
2320
+ class VerificationCode
2321
+ include Google::Apis::Core::Hashable
2322
+
2323
+ # ETag of the resource.
2324
+ # Corresponds to the JSON property `etag`
2325
+ # @return [String]
2326
+ attr_accessor :etag
2327
+
2328
+ # The type of the resource. This is always admin#directory#verificationCode.
2329
+ # Corresponds to the JSON property `kind`
2330
+ # @return [String]
2331
+ attr_accessor :kind
2332
+
2333
+ # The obfuscated unique ID of the user.
2334
+ # Corresponds to the JSON property `userId`
2335
+ # @return [String]
2336
+ attr_accessor :user_id
2337
+
2338
+ # A current verification code for the user. Invalidated or used verification
2339
+ # codes are not returned as part of the result.
2340
+ # Corresponds to the JSON property `verificationCode`
2341
+ # @return [String]
2342
+ attr_accessor :verification_code
2343
+
2344
+ def initialize(**args)
2345
+ update!(**args)
2346
+ end
2347
+
2348
+ # Update properties of this object
2349
+ def update!(**args)
2350
+ @etag = args[:etag] unless args[:etag].nil?
2351
+ @kind = args[:kind] unless args[:kind].nil?
2352
+ @user_id = args[:user_id] unless args[:user_id].nil?
2353
+ @verification_code = args[:verification_code] unless args[:verification_code].nil?
2354
+ end
2355
+ end
2356
+
2357
+ # JSON response template for List verification codes operation in Directory API.
2358
+ class VerificationCodes
2359
+ include Google::Apis::Core::Hashable
2360
+
2361
+ # ETag of the resource.
2362
+ # Corresponds to the JSON property `etag`
2363
+ # @return [String]
2364
+ attr_accessor :etag
2365
+
2366
+ # A list of verification code resources.
2367
+ # Corresponds to the JSON property `items`
2368
+ # @return [Array<Google::Apis::AdminDirectoryV1::VerificationCode>]
2369
+ attr_accessor :items
2370
+
2371
+ # The type of the resource. This is always admin#directory#verificationCodesList.
2372
+ # Corresponds to the JSON property `kind`
2373
+ # @return [String]
2374
+ attr_accessor :kind
2375
+
2376
+ def initialize(**args)
2377
+ update!(**args)
2378
+ end
2379
+
2380
+ # Update properties of this object
2381
+ def update!(**args)
2382
+ @etag = args[:etag] unless args[:etag].nil?
2383
+ @items = args[:items] unless args[:items].nil?
2384
+ @kind = args[:kind] unless args[:kind].nil?
2385
+ end
2386
+ end
2387
+ end
2388
+ end
2389
+ end