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,422 @@
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 IdentitytoolkitV3
24
+
25
+ class CreateAuthUriResponse
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+ end
28
+
29
+ class DeleteAccountResponse
30
+ class Representation < Google::Apis::Core::JsonRepresentation; end
31
+ end
32
+
33
+ class DownloadAccountResponse
34
+ class Representation < Google::Apis::Core::JsonRepresentation; end
35
+ end
36
+
37
+ class GetAccountInfoResponse
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+ end
40
+
41
+ class GetOobConfirmationCodeResponse
42
+ class Representation < Google::Apis::Core::JsonRepresentation; end
43
+ end
44
+
45
+ class GetRecaptchaParamResponse
46
+ class Representation < Google::Apis::Core::JsonRepresentation; end
47
+ end
48
+
49
+ class CreateAuthUriRequest
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+ end
52
+
53
+ class DeleteAccountRequest
54
+ class Representation < Google::Apis::Core::JsonRepresentation; end
55
+ end
56
+
57
+ class DownloadAccountRequest
58
+ class Representation < Google::Apis::Core::JsonRepresentation; end
59
+ end
60
+
61
+ class GetAccountInfoRequest
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+ end
64
+
65
+ class ResetPasswordRequest
66
+ class Representation < Google::Apis::Core::JsonRepresentation; end
67
+ end
68
+
69
+ class SetAccountInfoRequest
70
+ class Representation < Google::Apis::Core::JsonRepresentation; end
71
+ end
72
+
73
+ class UploadAccountRequest
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+ end
76
+
77
+ class VerifyAssertionRequest
78
+ class Representation < Google::Apis::Core::JsonRepresentation; end
79
+ end
80
+
81
+ class VerifyPasswordRequest
82
+ class Representation < Google::Apis::Core::JsonRepresentation; end
83
+ end
84
+
85
+ class Relyingparty
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+ end
88
+
89
+ class ResetPasswordResponse
90
+ class Representation < Google::Apis::Core::JsonRepresentation; end
91
+ end
92
+
93
+ class SetAccountInfoResponse
94
+ class Representation < Google::Apis::Core::JsonRepresentation; end
95
+
96
+ class ProviderUserInfo
97
+ class Representation < Google::Apis::Core::JsonRepresentation; end
98
+ end
99
+ end
100
+
101
+ class UploadAccountResponse
102
+ class Representation < Google::Apis::Core::JsonRepresentation; end
103
+
104
+ class Error
105
+ class Representation < Google::Apis::Core::JsonRepresentation; end
106
+ end
107
+ end
108
+
109
+ class UserInfo
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ class ProviderUserInfo
113
+ class Representation < Google::Apis::Core::JsonRepresentation; end
114
+ end
115
+ end
116
+
117
+ class VerifyAssertionResponse
118
+ class Representation < Google::Apis::Core::JsonRepresentation; end
119
+ end
120
+
121
+ class VerifyPasswordResponse
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+ end
124
+
125
+ class CreateAuthUriResponse
126
+ # @private
127
+ class Representation < Google::Apis::Core::JsonRepresentation
128
+ property :auth_uri, as: 'authUri'
129
+ property :captcha_required, as: 'captchaRequired'
130
+ property :for_existing_provider, as: 'forExistingProvider'
131
+ property :kind, as: 'kind'
132
+ property :provider_id, as: 'providerId'
133
+ property :registered, as: 'registered'
134
+ end
135
+ end
136
+
137
+ class DeleteAccountResponse
138
+ # @private
139
+ class Representation < Google::Apis::Core::JsonRepresentation
140
+ property :kind, as: 'kind'
141
+ end
142
+ end
143
+
144
+ class DownloadAccountResponse
145
+ # @private
146
+ class Representation < Google::Apis::Core::JsonRepresentation
147
+ property :kind, as: 'kind'
148
+ property :next_page_token, as: 'nextPageToken'
149
+ collection :users, as: 'users', class: Google::Apis::IdentitytoolkitV3::UserInfo, decorator: Google::Apis::IdentitytoolkitV3::UserInfo::Representation
150
+
151
+ end
152
+ end
153
+
154
+ class GetAccountInfoResponse
155
+ # @private
156
+ class Representation < Google::Apis::Core::JsonRepresentation
157
+ property :kind, as: 'kind'
158
+ collection :users, as: 'users', class: Google::Apis::IdentitytoolkitV3::UserInfo, decorator: Google::Apis::IdentitytoolkitV3::UserInfo::Representation
159
+
160
+ end
161
+ end
162
+
163
+ class GetOobConfirmationCodeResponse
164
+ # @private
165
+ class Representation < Google::Apis::Core::JsonRepresentation
166
+ property :kind, as: 'kind'
167
+ property :oob_code, as: 'oobCode'
168
+ end
169
+ end
170
+
171
+ class GetRecaptchaParamResponse
172
+ # @private
173
+ class Representation < Google::Apis::Core::JsonRepresentation
174
+ property :kind, as: 'kind'
175
+ property :recaptcha_site_key, as: 'recaptchaSiteKey'
176
+ property :recaptcha_stoken, as: 'recaptchaStoken'
177
+ end
178
+ end
179
+
180
+ class CreateAuthUriRequest
181
+ # @private
182
+ class Representation < Google::Apis::Core::JsonRepresentation
183
+ property :app_id, as: 'appId'
184
+ property :client_id, as: 'clientId'
185
+ property :context, as: 'context'
186
+ property :continue_uri, as: 'continueUri'
187
+ property :identifier, as: 'identifier'
188
+ property :oauth_consumer_key, as: 'oauthConsumerKey'
189
+ property :oauth_scope, as: 'oauthScope'
190
+ property :openid_realm, as: 'openidRealm'
191
+ property :ota_app, as: 'otaApp'
192
+ property :provider_id, as: 'providerId'
193
+ end
194
+ end
195
+
196
+ class DeleteAccountRequest
197
+ # @private
198
+ class Representation < Google::Apis::Core::JsonRepresentation
199
+ property :local_id, as: 'localId'
200
+ end
201
+ end
202
+
203
+ class DownloadAccountRequest
204
+ # @private
205
+ class Representation < Google::Apis::Core::JsonRepresentation
206
+ property :max_results, as: 'maxResults'
207
+ property :next_page_token, as: 'nextPageToken'
208
+ end
209
+ end
210
+
211
+ class GetAccountInfoRequest
212
+ # @private
213
+ class Representation < Google::Apis::Core::JsonRepresentation
214
+ collection :email, as: 'email'
215
+ property :id_token, as: 'idToken'
216
+ collection :local_id, as: 'localId'
217
+ end
218
+ end
219
+
220
+ class ResetPasswordRequest
221
+ # @private
222
+ class Representation < Google::Apis::Core::JsonRepresentation
223
+ property :email, as: 'email'
224
+ property :new_password, as: 'newPassword'
225
+ property :old_password, as: 'oldPassword'
226
+ property :oob_code, as: 'oobCode'
227
+ end
228
+ end
229
+
230
+ class SetAccountInfoRequest
231
+ # @private
232
+ class Representation < Google::Apis::Core::JsonRepresentation
233
+ property :captcha_challenge, as: 'captchaChallenge'
234
+ property :captcha_response, as: 'captchaResponse'
235
+ property :disable_user, as: 'disableUser'
236
+ property :display_name, as: 'displayName'
237
+ property :email, as: 'email'
238
+ property :email_verified, as: 'emailVerified'
239
+ property :id_token, as: 'idToken'
240
+ property :local_id, as: 'localId'
241
+ property :oob_code, as: 'oobCode'
242
+ property :password, as: 'password'
243
+ collection :provider, as: 'provider'
244
+ property :upgrade_to_federated_login, as: 'upgradeToFederatedLogin'
245
+ property :valid_since, as: 'validSince'
246
+ end
247
+ end
248
+
249
+ class UploadAccountRequest
250
+ # @private
251
+ class Representation < Google::Apis::Core::JsonRepresentation
252
+ property :hash_algorithm, as: 'hashAlgorithm'
253
+ property :memory_cost, as: 'memoryCost'
254
+ property :rounds, as: 'rounds'
255
+ property :salt_separator, :base64 => true, as: 'saltSeparator'
256
+ property :signer_key, :base64 => true, as: 'signerKey'
257
+ collection :users, as: 'users', class: Google::Apis::IdentitytoolkitV3::UserInfo, decorator: Google::Apis::IdentitytoolkitV3::UserInfo::Representation
258
+
259
+ end
260
+ end
261
+
262
+ class VerifyAssertionRequest
263
+ # @private
264
+ class Representation < Google::Apis::Core::JsonRepresentation
265
+ property :pending_id_token, as: 'pendingIdToken'
266
+ property :post_body, as: 'postBody'
267
+ property :request_uri, as: 'requestUri'
268
+ property :return_refresh_token, as: 'returnRefreshToken'
269
+ end
270
+ end
271
+
272
+ class VerifyPasswordRequest
273
+ # @private
274
+ class Representation < Google::Apis::Core::JsonRepresentation
275
+ property :captcha_challenge, as: 'captchaChallenge'
276
+ property :captcha_response, as: 'captchaResponse'
277
+ property :email, as: 'email'
278
+ property :password, as: 'password'
279
+ property :pending_id_token, as: 'pendingIdToken'
280
+ end
281
+ end
282
+
283
+ class Relyingparty
284
+ # @private
285
+ class Representation < Google::Apis::Core::JsonRepresentation
286
+ property :captcha_resp, as: 'captchaResp'
287
+ property :challenge, as: 'challenge'
288
+ property :email, as: 'email'
289
+ property :id_token, as: 'idToken'
290
+ property :kind, as: 'kind'
291
+ property :new_email, as: 'newEmail'
292
+ property :request_type, as: 'requestType'
293
+ property :user_ip, as: 'userIp'
294
+ end
295
+ end
296
+
297
+ class ResetPasswordResponse
298
+ # @private
299
+ class Representation < Google::Apis::Core::JsonRepresentation
300
+ property :email, as: 'email'
301
+ property :kind, as: 'kind'
302
+ end
303
+ end
304
+
305
+ class SetAccountInfoResponse
306
+ # @private
307
+ class Representation < Google::Apis::Core::JsonRepresentation
308
+ property :display_name, as: 'displayName'
309
+ property :email, as: 'email'
310
+ property :id_token, as: 'idToken'
311
+ property :kind, as: 'kind'
312
+ collection :provider_user_info, as: 'providerUserInfo', class: Google::Apis::IdentitytoolkitV3::SetAccountInfoResponse::ProviderUserInfo, decorator: Google::Apis::IdentitytoolkitV3::SetAccountInfoResponse::ProviderUserInfo::Representation
313
+
314
+ end
315
+
316
+ class ProviderUserInfo
317
+ # @private
318
+ class Representation < Google::Apis::Core::JsonRepresentation
319
+ property :display_name, as: 'displayName'
320
+ property :photo_url, as: 'photoUrl'
321
+ property :provider_id, as: 'providerId'
322
+ end
323
+ end
324
+ end
325
+
326
+ class UploadAccountResponse
327
+ # @private
328
+ class Representation < Google::Apis::Core::JsonRepresentation
329
+ collection :error, as: 'error', class: Google::Apis::IdentitytoolkitV3::UploadAccountResponse::Error, decorator: Google::Apis::IdentitytoolkitV3::UploadAccountResponse::Error::Representation
330
+
331
+ property :kind, as: 'kind'
332
+ end
333
+
334
+ class Error
335
+ # @private
336
+ class Representation < Google::Apis::Core::JsonRepresentation
337
+ property :index, as: 'index'
338
+ property :message, as: 'message'
339
+ end
340
+ end
341
+ end
342
+
343
+ class UserInfo
344
+ # @private
345
+ class Representation < Google::Apis::Core::JsonRepresentation
346
+ property :disabled, as: 'disabled'
347
+ property :display_name, as: 'displayName'
348
+ property :email, as: 'email'
349
+ property :email_verified, as: 'emailVerified'
350
+ property :local_id, as: 'localId'
351
+ property :password_hash, :base64 => true, as: 'passwordHash'
352
+ property :password_updated_at, as: 'passwordUpdatedAt'
353
+ property :photo_url, as: 'photoUrl'
354
+ collection :provider_user_info, as: 'providerUserInfo', class: Google::Apis::IdentitytoolkitV3::UserInfo::ProviderUserInfo, decorator: Google::Apis::IdentitytoolkitV3::UserInfo::ProviderUserInfo::Representation
355
+
356
+ property :salt, :base64 => true, as: 'salt'
357
+ property :valid_since, as: 'validSince'
358
+ property :version, as: 'version'
359
+ end
360
+
361
+ class ProviderUserInfo
362
+ # @private
363
+ class Representation < Google::Apis::Core::JsonRepresentation
364
+ property :display_name, as: 'displayName'
365
+ property :federated_id, as: 'federatedId'
366
+ property :photo_url, as: 'photoUrl'
367
+ property :provider_id, as: 'providerId'
368
+ end
369
+ end
370
+ end
371
+
372
+ class VerifyAssertionResponse
373
+ # @private
374
+ class Representation < Google::Apis::Core::JsonRepresentation
375
+ property :action, as: 'action'
376
+ property :app_installation_url, as: 'appInstallationUrl'
377
+ property :app_scheme, as: 'appScheme'
378
+ property :context, as: 'context'
379
+ property :date_of_birth, as: 'dateOfBirth'
380
+ property :display_name, as: 'displayName'
381
+ property :email, as: 'email'
382
+ property :email_recycled, as: 'emailRecycled'
383
+ property :email_verified, as: 'emailVerified'
384
+ property :federated_id, as: 'federatedId'
385
+ property :first_name, as: 'firstName'
386
+ property :full_name, as: 'fullName'
387
+ property :id_token, as: 'idToken'
388
+ property :input_email, as: 'inputEmail'
389
+ property :kind, as: 'kind'
390
+ property :language, as: 'language'
391
+ property :last_name, as: 'lastName'
392
+ property :local_id, as: 'localId'
393
+ property :need_confirmation, as: 'needConfirmation'
394
+ property :nick_name, as: 'nickName'
395
+ property :oauth_access_token, as: 'oauthAccessToken'
396
+ property :oauth_authorization_code, as: 'oauthAuthorizationCode'
397
+ property :oauth_expire_in, as: 'oauthExpireIn'
398
+ property :oauth_request_token, as: 'oauthRequestToken'
399
+ property :oauth_scope, as: 'oauthScope'
400
+ property :original_email, as: 'originalEmail'
401
+ property :photo_url, as: 'photoUrl'
402
+ property :provider_id, as: 'providerId'
403
+ property :time_zone, as: 'timeZone'
404
+ collection :verified_provider, as: 'verifiedProvider'
405
+ end
406
+ end
407
+
408
+ class VerifyPasswordResponse
409
+ # @private
410
+ class Representation < Google::Apis::Core::JsonRepresentation
411
+ property :display_name, as: 'displayName'
412
+ property :email, as: 'email'
413
+ property :id_token, as: 'idToken'
414
+ property :kind, as: 'kind'
415
+ property :local_id, as: 'localId'
416
+ property :photo_url, as: 'photoUrl'
417
+ property :registered, as: 'registered'
418
+ end
419
+ end
420
+ end
421
+ end
422
+ end
@@ -0,0 +1,491 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module IdentitytoolkitV3
23
+ # Google Identity Toolkit API
24
+ #
25
+ # Help the third party sites to implement federated login.
26
+ #
27
+ # @example
28
+ # require 'google/apis/identitytoolkit_v3'
29
+ #
30
+ # Identitytoolkit = Google::Apis::IdentitytoolkitV3 # Alias the module
31
+ # service = Identitytoolkit::IdentityToolkitService.new
32
+ #
33
+ # @see https://developers.google.com/identity-toolkit/v3/
34
+ class IdentityToolkitService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ # Overrides userIp if both are provided.
44
+ attr_accessor :quota_user
45
+
46
+ # @return [String]
47
+ # IP address of the site where the request originates. Use this if you want to
48
+ # enforce per-user limits.
49
+ attr_accessor :user_ip
50
+
51
+ def initialize
52
+ super('https://www.googleapis.com/', 'identitytoolkit/v3/relyingparty/')
53
+ end
54
+
55
+ # Creates the URI used by the IdP to authenticate the user.
56
+ # @param [Google::Apis::IdentitytoolkitV3::CreateAuthUriRequest] create_auth_uri_request_object
57
+ # @param [String] fields
58
+ # Selector specifying which fields to include in a partial response.
59
+ # @param [String] quota_user
60
+ # Available to use for quota purposes for server-side applications. Can be any
61
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
62
+ # Overrides userIp if both are provided.
63
+ # @param [String] user_ip
64
+ # IP address of the site where the request originates. Use this if you want to
65
+ # enforce per-user limits.
66
+ # @param [Google::Apis::RequestOptions] options
67
+ # Request-specific options
68
+ #
69
+ # @yield [result, err] Result & error if block supplied
70
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::CreateAuthUriResponse] parsed result object
71
+ # @yieldparam err [StandardError] error object if request failed
72
+ #
73
+ # @return [Google::Apis::IdentitytoolkitV3::CreateAuthUriResponse]
74
+ #
75
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
76
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
77
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
78
+ def create_auth_uri(create_auth_uri_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
79
+ path = 'createAuthUri'
80
+ command = make_simple_command(:post, path, options)
81
+ command.request_representation = Google::Apis::IdentitytoolkitV3::CreateAuthUriRequest::Representation
82
+ command.request_object = create_auth_uri_request_object
83
+ command.response_representation = Google::Apis::IdentitytoolkitV3::CreateAuthUriResponse::Representation
84
+ command.response_class = Google::Apis::IdentitytoolkitV3::CreateAuthUriResponse
85
+ command.query['fields'] = fields unless fields.nil?
86
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
87
+ command.query['userIp'] = user_ip unless user_ip.nil?
88
+ execute_or_queue_command(command, &block)
89
+ end
90
+
91
+ # Delete user account.
92
+ # @param [Google::Apis::IdentitytoolkitV3::DeleteAccountRequest] delete_account_request_object
93
+ # @param [String] fields
94
+ # Selector specifying which fields to include in a partial response.
95
+ # @param [String] quota_user
96
+ # Available to use for quota purposes for server-side applications. Can be any
97
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
98
+ # Overrides userIp if both are provided.
99
+ # @param [String] user_ip
100
+ # IP address of the site where the request originates. Use this if you want to
101
+ # enforce per-user limits.
102
+ # @param [Google::Apis::RequestOptions] options
103
+ # Request-specific options
104
+ #
105
+ # @yield [result, err] Result & error if block supplied
106
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::DeleteAccountResponse] parsed result object
107
+ # @yieldparam err [StandardError] error object if request failed
108
+ #
109
+ # @return [Google::Apis::IdentitytoolkitV3::DeleteAccountResponse]
110
+ #
111
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
112
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
113
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
114
+ def delete_account(delete_account_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
115
+ path = 'deleteAccount'
116
+ command = make_simple_command(:post, path, options)
117
+ command.request_representation = Google::Apis::IdentitytoolkitV3::DeleteAccountRequest::Representation
118
+ command.request_object = delete_account_request_object
119
+ command.response_representation = Google::Apis::IdentitytoolkitV3::DeleteAccountResponse::Representation
120
+ command.response_class = Google::Apis::IdentitytoolkitV3::DeleteAccountResponse
121
+ command.query['fields'] = fields unless fields.nil?
122
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
123
+ command.query['userIp'] = user_ip unless user_ip.nil?
124
+ execute_or_queue_command(command, &block)
125
+ end
126
+
127
+ # Batch download user accounts.
128
+ # @param [Google::Apis::IdentitytoolkitV3::DownloadAccountRequest] download_account_request_object
129
+ # @param [String] fields
130
+ # Selector specifying which fields to include in a partial response.
131
+ # @param [String] quota_user
132
+ # Available to use for quota purposes for server-side applications. Can be any
133
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
134
+ # Overrides userIp if both are provided.
135
+ # @param [String] user_ip
136
+ # IP address of the site where the request originates. Use this if you want to
137
+ # enforce per-user limits.
138
+ # @param [Google::Apis::RequestOptions] options
139
+ # Request-specific options
140
+ #
141
+ # @yield [result, err] Result & error if block supplied
142
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::DownloadAccountResponse] parsed result object
143
+ # @yieldparam err [StandardError] error object if request failed
144
+ #
145
+ # @return [Google::Apis::IdentitytoolkitV3::DownloadAccountResponse]
146
+ #
147
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
148
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
149
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
150
+ def download_account(download_account_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
151
+ path = 'downloadAccount'
152
+ command = make_simple_command(:post, path, options)
153
+ command.request_representation = Google::Apis::IdentitytoolkitV3::DownloadAccountRequest::Representation
154
+ command.request_object = download_account_request_object
155
+ command.response_representation = Google::Apis::IdentitytoolkitV3::DownloadAccountResponse::Representation
156
+ command.response_class = Google::Apis::IdentitytoolkitV3::DownloadAccountResponse
157
+ command.query['fields'] = fields unless fields.nil?
158
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
159
+ command.query['userIp'] = user_ip unless user_ip.nil?
160
+ execute_or_queue_command(command, &block)
161
+ end
162
+
163
+ # Returns the account info.
164
+ # @param [Google::Apis::IdentitytoolkitV3::GetAccountInfoRequest] get_account_info_request_object
165
+ # @param [String] fields
166
+ # Selector specifying which fields to include in a partial response.
167
+ # @param [String] quota_user
168
+ # Available to use for quota purposes for server-side applications. Can be any
169
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
170
+ # Overrides userIp if both are provided.
171
+ # @param [String] user_ip
172
+ # IP address of the site where the request originates. Use this if you want to
173
+ # enforce per-user limits.
174
+ # @param [Google::Apis::RequestOptions] options
175
+ # Request-specific options
176
+ #
177
+ # @yield [result, err] Result & error if block supplied
178
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::GetAccountInfoResponse] parsed result object
179
+ # @yieldparam err [StandardError] error object if request failed
180
+ #
181
+ # @return [Google::Apis::IdentitytoolkitV3::GetAccountInfoResponse]
182
+ #
183
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
184
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
185
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
186
+ def get_account_info(get_account_info_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
187
+ path = 'getAccountInfo'
188
+ command = make_simple_command(:post, path, options)
189
+ command.request_representation = Google::Apis::IdentitytoolkitV3::GetAccountInfoRequest::Representation
190
+ command.request_object = get_account_info_request_object
191
+ command.response_representation = Google::Apis::IdentitytoolkitV3::GetAccountInfoResponse::Representation
192
+ command.response_class = Google::Apis::IdentitytoolkitV3::GetAccountInfoResponse
193
+ command.query['fields'] = fields unless fields.nil?
194
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
195
+ command.query['userIp'] = user_ip unless user_ip.nil?
196
+ execute_or_queue_command(command, &block)
197
+ end
198
+
199
+ # Get a code for user action confirmation.
200
+ # @param [Google::Apis::IdentitytoolkitV3::Relyingparty] relyingparty_object
201
+ # @param [String] fields
202
+ # Selector specifying which fields to include in a partial response.
203
+ # @param [String] quota_user
204
+ # Available to use for quota purposes for server-side applications. Can be any
205
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
206
+ # Overrides userIp if both are provided.
207
+ # @param [String] user_ip
208
+ # IP address of the site where the request originates. Use this if you want to
209
+ # enforce per-user limits.
210
+ # @param [Google::Apis::RequestOptions] options
211
+ # Request-specific options
212
+ #
213
+ # @yield [result, err] Result & error if block supplied
214
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::GetOobConfirmationCodeResponse] parsed result object
215
+ # @yieldparam err [StandardError] error object if request failed
216
+ #
217
+ # @return [Google::Apis::IdentitytoolkitV3::GetOobConfirmationCodeResponse]
218
+ #
219
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
220
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
221
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
222
+ def get_oob_confirmation_code(relyingparty_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
223
+ path = 'getOobConfirmationCode'
224
+ command = make_simple_command(:post, path, options)
225
+ command.request_representation = Google::Apis::IdentitytoolkitV3::Relyingparty::Representation
226
+ command.request_object = relyingparty_object
227
+ command.response_representation = Google::Apis::IdentitytoolkitV3::GetOobConfirmationCodeResponse::Representation
228
+ command.response_class = Google::Apis::IdentitytoolkitV3::GetOobConfirmationCodeResponse
229
+ command.query['fields'] = fields unless fields.nil?
230
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
231
+ command.query['userIp'] = user_ip unless user_ip.nil?
232
+ execute_or_queue_command(command, &block)
233
+ end
234
+
235
+ # Get token signing public key.
236
+ # @param [String] fields
237
+ # Selector specifying which fields to include in a partial response.
238
+ # @param [String] quota_user
239
+ # Available to use for quota purposes for server-side applications. Can be any
240
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
241
+ # Overrides userIp if both are provided.
242
+ # @param [String] user_ip
243
+ # IP address of the site where the request originates. Use this if you want to
244
+ # enforce per-user limits.
245
+ # @param [Google::Apis::RequestOptions] options
246
+ # Request-specific options
247
+ #
248
+ # @yield [result, err] Result & error if block supplied
249
+ # @yieldparam result [Hash<String,String>] parsed result object
250
+ # @yieldparam err [StandardError] error object if request failed
251
+ #
252
+ # @return [Hash<String,String>]
253
+ #
254
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
255
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
256
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
257
+ def get_public_keys(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
258
+ path = 'publicKeys'
259
+ command = make_simple_command(:get, path, options)
260
+ command.response_representation = Hash<String,String>::Representation
261
+ command.response_class = Hash<String,String>
262
+ command.query['fields'] = fields unless fields.nil?
263
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
264
+ command.query['userIp'] = user_ip unless user_ip.nil?
265
+ execute_or_queue_command(command, &block)
266
+ end
267
+
268
+ # Get recaptcha secure param.
269
+ # @param [String] fields
270
+ # Selector specifying which fields to include in a partial response.
271
+ # @param [String] quota_user
272
+ # Available to use for quota purposes for server-side applications. Can be any
273
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
274
+ # Overrides userIp if both are provided.
275
+ # @param [String] user_ip
276
+ # IP address of the site where the request originates. Use this if you want to
277
+ # enforce per-user limits.
278
+ # @param [Google::Apis::RequestOptions] options
279
+ # Request-specific options
280
+ #
281
+ # @yield [result, err] Result & error if block supplied
282
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::GetRecaptchaParamResponse] parsed result object
283
+ # @yieldparam err [StandardError] error object if request failed
284
+ #
285
+ # @return [Google::Apis::IdentitytoolkitV3::GetRecaptchaParamResponse]
286
+ #
287
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
288
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
289
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
290
+ def get_recaptcha_param(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
291
+ path = 'getRecaptchaParam'
292
+ command = make_simple_command(:get, path, options)
293
+ command.response_representation = Google::Apis::IdentitytoolkitV3::GetRecaptchaParamResponse::Representation
294
+ command.response_class = Google::Apis::IdentitytoolkitV3::GetRecaptchaParamResponse
295
+ command.query['fields'] = fields unless fields.nil?
296
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
297
+ command.query['userIp'] = user_ip unless user_ip.nil?
298
+ execute_or_queue_command(command, &block)
299
+ end
300
+
301
+ # Reset password for a user.
302
+ # @param [Google::Apis::IdentitytoolkitV3::ResetPasswordRequest] reset_password_request_object
303
+ # @param [String] fields
304
+ # Selector specifying which fields to include in a partial response.
305
+ # @param [String] quota_user
306
+ # Available to use for quota purposes for server-side applications. Can be any
307
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
308
+ # Overrides userIp if both are provided.
309
+ # @param [String] user_ip
310
+ # IP address of the site where the request originates. Use this if you want to
311
+ # enforce per-user limits.
312
+ # @param [Google::Apis::RequestOptions] options
313
+ # Request-specific options
314
+ #
315
+ # @yield [result, err] Result & error if block supplied
316
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::ResetPasswordResponse] parsed result object
317
+ # @yieldparam err [StandardError] error object if request failed
318
+ #
319
+ # @return [Google::Apis::IdentitytoolkitV3::ResetPasswordResponse]
320
+ #
321
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
322
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
323
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
324
+ def reset_password(reset_password_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
325
+ path = 'resetPassword'
326
+ command = make_simple_command(:post, path, options)
327
+ command.request_representation = Google::Apis::IdentitytoolkitV3::ResetPasswordRequest::Representation
328
+ command.request_object = reset_password_request_object
329
+ command.response_representation = Google::Apis::IdentitytoolkitV3::ResetPasswordResponse::Representation
330
+ command.response_class = Google::Apis::IdentitytoolkitV3::ResetPasswordResponse
331
+ command.query['fields'] = fields unless fields.nil?
332
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
333
+ command.query['userIp'] = user_ip unless user_ip.nil?
334
+ execute_or_queue_command(command, &block)
335
+ end
336
+
337
+ # Set account info for a user.
338
+ # @param [Google::Apis::IdentitytoolkitV3::SetAccountInfoRequest] set_account_info_request_object
339
+ # @param [String] fields
340
+ # Selector specifying which fields to include in a partial response.
341
+ # @param [String] quota_user
342
+ # Available to use for quota purposes for server-side applications. Can be any
343
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
344
+ # Overrides userIp if both are provided.
345
+ # @param [String] user_ip
346
+ # IP address of the site where the request originates. Use this if you want to
347
+ # enforce per-user limits.
348
+ # @param [Google::Apis::RequestOptions] options
349
+ # Request-specific options
350
+ #
351
+ # @yield [result, err] Result & error if block supplied
352
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::SetAccountInfoResponse] parsed result object
353
+ # @yieldparam err [StandardError] error object if request failed
354
+ #
355
+ # @return [Google::Apis::IdentitytoolkitV3::SetAccountInfoResponse]
356
+ #
357
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
358
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
359
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
360
+ def set_account_info(set_account_info_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
361
+ path = 'setAccountInfo'
362
+ command = make_simple_command(:post, path, options)
363
+ command.request_representation = Google::Apis::IdentitytoolkitV3::SetAccountInfoRequest::Representation
364
+ command.request_object = set_account_info_request_object
365
+ command.response_representation = Google::Apis::IdentitytoolkitV3::SetAccountInfoResponse::Representation
366
+ command.response_class = Google::Apis::IdentitytoolkitV3::SetAccountInfoResponse
367
+ command.query['fields'] = fields unless fields.nil?
368
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
369
+ command.query['userIp'] = user_ip unless user_ip.nil?
370
+ execute_or_queue_command(command, &block)
371
+ end
372
+
373
+ # Batch upload existing user accounts.
374
+ # @param [Google::Apis::IdentitytoolkitV3::UploadAccountRequest] upload_account_request_object
375
+ # @param [String] fields
376
+ # Selector specifying which fields to include in a partial response.
377
+ # @param [String] quota_user
378
+ # Available to use for quota purposes for server-side applications. Can be any
379
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
380
+ # Overrides userIp if both are provided.
381
+ # @param [String] user_ip
382
+ # IP address of the site where the request originates. Use this if you want to
383
+ # enforce per-user limits.
384
+ # @param [Google::Apis::RequestOptions] options
385
+ # Request-specific options
386
+ #
387
+ # @yield [result, err] Result & error if block supplied
388
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::UploadAccountResponse] parsed result object
389
+ # @yieldparam err [StandardError] error object if request failed
390
+ #
391
+ # @return [Google::Apis::IdentitytoolkitV3::UploadAccountResponse]
392
+ #
393
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
394
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
395
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
396
+ def upload_account(upload_account_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
397
+ path = 'uploadAccount'
398
+ command = make_simple_command(:post, path, options)
399
+ command.request_representation = Google::Apis::IdentitytoolkitV3::UploadAccountRequest::Representation
400
+ command.request_object = upload_account_request_object
401
+ command.response_representation = Google::Apis::IdentitytoolkitV3::UploadAccountResponse::Representation
402
+ command.response_class = Google::Apis::IdentitytoolkitV3::UploadAccountResponse
403
+ command.query['fields'] = fields unless fields.nil?
404
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
405
+ command.query['userIp'] = user_ip unless user_ip.nil?
406
+ execute_or_queue_command(command, &block)
407
+ end
408
+
409
+ # Verifies the assertion returned by the IdP.
410
+ # @param [Google::Apis::IdentitytoolkitV3::VerifyAssertionRequest] verify_assertion_request_object
411
+ # @param [String] fields
412
+ # Selector specifying which fields to include in a partial response.
413
+ # @param [String] quota_user
414
+ # Available to use for quota purposes for server-side applications. Can be any
415
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
416
+ # Overrides userIp if both are provided.
417
+ # @param [String] user_ip
418
+ # IP address of the site where the request originates. Use this if you want to
419
+ # enforce per-user limits.
420
+ # @param [Google::Apis::RequestOptions] options
421
+ # Request-specific options
422
+ #
423
+ # @yield [result, err] Result & error if block supplied
424
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::VerifyAssertionResponse] parsed result object
425
+ # @yieldparam err [StandardError] error object if request failed
426
+ #
427
+ # @return [Google::Apis::IdentitytoolkitV3::VerifyAssertionResponse]
428
+ #
429
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
430
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
431
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
432
+ def verify_assertion(verify_assertion_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
433
+ path = 'verifyAssertion'
434
+ command = make_simple_command(:post, path, options)
435
+ command.request_representation = Google::Apis::IdentitytoolkitV3::VerifyAssertionRequest::Representation
436
+ command.request_object = verify_assertion_request_object
437
+ command.response_representation = Google::Apis::IdentitytoolkitV3::VerifyAssertionResponse::Representation
438
+ command.response_class = Google::Apis::IdentitytoolkitV3::VerifyAssertionResponse
439
+ command.query['fields'] = fields unless fields.nil?
440
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
441
+ command.query['userIp'] = user_ip unless user_ip.nil?
442
+ execute_or_queue_command(command, &block)
443
+ end
444
+
445
+ # Verifies the user entered password.
446
+ # @param [Google::Apis::IdentitytoolkitV3::VerifyPasswordRequest] verify_password_request_object
447
+ # @param [String] fields
448
+ # Selector specifying which fields to include in a partial response.
449
+ # @param [String] quota_user
450
+ # Available to use for quota purposes for server-side applications. Can be any
451
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
452
+ # Overrides userIp if both are provided.
453
+ # @param [String] user_ip
454
+ # IP address of the site where the request originates. Use this if you want to
455
+ # enforce per-user limits.
456
+ # @param [Google::Apis::RequestOptions] options
457
+ # Request-specific options
458
+ #
459
+ # @yield [result, err] Result & error if block supplied
460
+ # @yieldparam result [Google::Apis::IdentitytoolkitV3::VerifyPasswordResponse] parsed result object
461
+ # @yieldparam err [StandardError] error object if request failed
462
+ #
463
+ # @return [Google::Apis::IdentitytoolkitV3::VerifyPasswordResponse]
464
+ #
465
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
466
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
467
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
468
+ def verify_password(verify_password_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
469
+ path = 'verifyPassword'
470
+ command = make_simple_command(:post, path, options)
471
+ command.request_representation = Google::Apis::IdentitytoolkitV3::VerifyPasswordRequest::Representation
472
+ command.request_object = verify_password_request_object
473
+ command.response_representation = Google::Apis::IdentitytoolkitV3::VerifyPasswordResponse::Representation
474
+ command.response_class = Google::Apis::IdentitytoolkitV3::VerifyPasswordResponse
475
+ command.query['fields'] = fields unless fields.nil?
476
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
477
+ command.query['userIp'] = user_ip unless user_ip.nil?
478
+ execute_or_queue_command(command, &block)
479
+ end
480
+
481
+ protected
482
+
483
+ def apply_command_defaults(command)
484
+ command.query['key'] = key unless key.nil?
485
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
486
+ command.query['userIp'] = user_ip unless user_ip.nil?
487
+ end
488
+ end
489
+ end
490
+ end
491
+ end