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,40 @@
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/games_v1/service.rb'
16
+ require 'google/apis/games_v1/classes.rb'
17
+ require 'google/apis/games_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Play Game Services API
22
+ #
23
+ # The API for Google Play Game Services.
24
+ #
25
+ # @see https://developers.google.com/games/services/
26
+ module GamesV1
27
+ VERSION = 'V1'
28
+ REVISION = '20150622'
29
+
30
+ # View and manage its own configuration data in your Google Drive
31
+ AUTH_DRIVE_APPDATA = 'https://www.googleapis.com/auth/drive.appdata'
32
+
33
+ # Share your Google+ profile information and view and manage your game activity
34
+ AUTH_GAMES = 'https://www.googleapis.com/auth/games'
35
+
36
+ # Know your basic profile info and list of people in your circles.
37
+ AUTH_PLUS_LOGIN = 'https://www.googleapis.com/auth/plus.login'
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,4578 @@
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 GamesV1
24
+
25
+ # This is a JSON template for an achievement definition object.
26
+ class AchievementDefinition
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The type of the achievement.
30
+ # Possible values are:
31
+ # - "STANDARD" - Achievement is either locked or unlocked.
32
+ # - "INCREMENTAL" - Achievement is incremental.
33
+ # Corresponds to the JSON property `achievementType`
34
+ # @return [String]
35
+ attr_accessor :achievement_type
36
+
37
+ # The description of the achievement.
38
+ # Corresponds to the JSON property `description`
39
+ # @return [String]
40
+ attr_accessor :description
41
+
42
+ # Experience points which will be earned when unlocking this achievement.
43
+ # Corresponds to the JSON property `experiencePoints`
44
+ # @return [String]
45
+ attr_accessor :experience_points
46
+
47
+ # The total steps for an incremental achievement as a string.
48
+ # Corresponds to the JSON property `formattedTotalSteps`
49
+ # @return [String]
50
+ attr_accessor :formatted_total_steps
51
+
52
+ # The ID of the achievement.
53
+ # Corresponds to the JSON property `id`
54
+ # @return [String]
55
+ attr_accessor :id
56
+
57
+ # The initial state of the achievement.
58
+ # Possible values are:
59
+ # - "HIDDEN" - Achievement is hidden.
60
+ # - "REVEALED" - Achievement is revealed.
61
+ # - "UNLOCKED" - Achievement is unlocked.
62
+ # Corresponds to the JSON property `initialState`
63
+ # @return [String]
64
+ attr_accessor :initial_state
65
+
66
+ # Indicates whether the revealed icon image being returned is a default image,
67
+ # or is provided by the game.
68
+ # Corresponds to the JSON property `isRevealedIconUrlDefault`
69
+ # @return [Boolean]
70
+ attr_accessor :is_revealed_icon_url_default
71
+ alias_method :is_revealed_icon_url_default?, :is_revealed_icon_url_default
72
+
73
+ # Indicates whether the unlocked icon image being returned is a default image,
74
+ # or is game-provided.
75
+ # Corresponds to the JSON property `isUnlockedIconUrlDefault`
76
+ # @return [Boolean]
77
+ attr_accessor :is_unlocked_icon_url_default
78
+ alias_method :is_unlocked_icon_url_default?, :is_unlocked_icon_url_default
79
+
80
+ # Uniquely identifies the type of this resource. Value is always the fixed
81
+ # string games#achievementDefinition.
82
+ # Corresponds to the JSON property `kind`
83
+ # @return [String]
84
+ attr_accessor :kind
85
+
86
+ # The name of the achievement.
87
+ # Corresponds to the JSON property `name`
88
+ # @return [String]
89
+ attr_accessor :name
90
+
91
+ # The image URL for the revealed achievement icon.
92
+ # Corresponds to the JSON property `revealedIconUrl`
93
+ # @return [String]
94
+ attr_accessor :revealed_icon_url
95
+
96
+ # The total steps for an incremental achievement.
97
+ # Corresponds to the JSON property `totalSteps`
98
+ # @return [Fixnum]
99
+ attr_accessor :total_steps
100
+
101
+ # The image URL for the unlocked achievement icon.
102
+ # Corresponds to the JSON property `unlockedIconUrl`
103
+ # @return [String]
104
+ attr_accessor :unlocked_icon_url
105
+
106
+ def initialize(**args)
107
+ update!(**args)
108
+ end
109
+
110
+ # Update properties of this object
111
+ def update!(**args)
112
+ @achievement_type = args[:achievement_type] unless args[:achievement_type].nil?
113
+ @description = args[:description] unless args[:description].nil?
114
+ @experience_points = args[:experience_points] unless args[:experience_points].nil?
115
+ @formatted_total_steps = args[:formatted_total_steps] unless args[:formatted_total_steps].nil?
116
+ @id = args[:id] unless args[:id].nil?
117
+ @initial_state = args[:initial_state] unless args[:initial_state].nil?
118
+ @is_revealed_icon_url_default = args[:is_revealed_icon_url_default] unless args[:is_revealed_icon_url_default].nil?
119
+ @is_unlocked_icon_url_default = args[:is_unlocked_icon_url_default] unless args[:is_unlocked_icon_url_default].nil?
120
+ @kind = args[:kind] unless args[:kind].nil?
121
+ @name = args[:name] unless args[:name].nil?
122
+ @revealed_icon_url = args[:revealed_icon_url] unless args[:revealed_icon_url].nil?
123
+ @total_steps = args[:total_steps] unless args[:total_steps].nil?
124
+ @unlocked_icon_url = args[:unlocked_icon_url] unless args[:unlocked_icon_url].nil?
125
+ end
126
+ end
127
+
128
+ # This is a JSON template for a list of achievement definition objects.
129
+ class ListAchievementDefinitionsResponse
130
+ include Google::Apis::Core::Hashable
131
+
132
+ # The achievement definitions.
133
+ # Corresponds to the JSON property `items`
134
+ # @return [Array<Google::Apis::GamesV1::AchievementDefinition>]
135
+ attr_accessor :items
136
+
137
+ # Uniquely identifies the type of this resource. Value is always the fixed
138
+ # string games#achievementDefinitionsListResponse.
139
+ # Corresponds to the JSON property `kind`
140
+ # @return [String]
141
+ attr_accessor :kind
142
+
143
+ # Token corresponding to the next page of results.
144
+ # Corresponds to the JSON property `nextPageToken`
145
+ # @return [String]
146
+ attr_accessor :next_page_token
147
+
148
+ def initialize(**args)
149
+ update!(**args)
150
+ end
151
+
152
+ # Update properties of this object
153
+ def update!(**args)
154
+ @items = args[:items] unless args[:items].nil?
155
+ @kind = args[:kind] unless args[:kind].nil?
156
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
157
+ end
158
+ end
159
+
160
+ # This is a JSON template for an achievement increment response
161
+ class AchievementIncrementResponse
162
+ include Google::Apis::Core::Hashable
163
+
164
+ # The current steps recorded for this incremental achievement.
165
+ # Corresponds to the JSON property `currentSteps`
166
+ # @return [Fixnum]
167
+ attr_accessor :current_steps
168
+
169
+ # Uniquely identifies the type of this resource. Value is always the fixed
170
+ # string games#achievementIncrementResponse.
171
+ # Corresponds to the JSON property `kind`
172
+ # @return [String]
173
+ attr_accessor :kind
174
+
175
+ # Whether the the current steps for the achievement has reached the number of
176
+ # steps required to unlock.
177
+ # Corresponds to the JSON property `newlyUnlocked`
178
+ # @return [Boolean]
179
+ attr_accessor :newly_unlocked
180
+ alias_method :newly_unlocked?, :newly_unlocked
181
+
182
+ def initialize(**args)
183
+ update!(**args)
184
+ end
185
+
186
+ # Update properties of this object
187
+ def update!(**args)
188
+ @current_steps = args[:current_steps] unless args[:current_steps].nil?
189
+ @kind = args[:kind] unless args[:kind].nil?
190
+ @newly_unlocked = args[:newly_unlocked] unless args[:newly_unlocked].nil?
191
+ end
192
+ end
193
+
194
+ # This is a JSON template for an achievement reveal response
195
+ class AchievementRevealResponse
196
+ include Google::Apis::Core::Hashable
197
+
198
+ # The current state of the achievement for which a reveal was attempted. This
199
+ # might be UNLOCKED if the achievement was already unlocked.
200
+ # Possible values are:
201
+ # - "REVEALED" - Achievement is revealed.
202
+ # - "UNLOCKED" - Achievement is unlocked.
203
+ # Corresponds to the JSON property `currentState`
204
+ # @return [String]
205
+ attr_accessor :current_state
206
+
207
+ # Uniquely identifies the type of this resource. Value is always the fixed
208
+ # string games#achievementRevealResponse.
209
+ # Corresponds to the JSON property `kind`
210
+ # @return [String]
211
+ attr_accessor :kind
212
+
213
+ def initialize(**args)
214
+ update!(**args)
215
+ end
216
+
217
+ # Update properties of this object
218
+ def update!(**args)
219
+ @current_state = args[:current_state] unless args[:current_state].nil?
220
+ @kind = args[:kind] unless args[:kind].nil?
221
+ end
222
+ end
223
+
224
+ # This is a JSON template for an achievement set steps at least response.
225
+ class AchievementSetStepsAtLeastResponse
226
+ include Google::Apis::Core::Hashable
227
+
228
+ # The current steps recorded for this incremental achievement.
229
+ # Corresponds to the JSON property `currentSteps`
230
+ # @return [Fixnum]
231
+ attr_accessor :current_steps
232
+
233
+ # Uniquely identifies the type of this resource. Value is always the fixed
234
+ # string games#achievementSetStepsAtLeastResponse.
235
+ # Corresponds to the JSON property `kind`
236
+ # @return [String]
237
+ attr_accessor :kind
238
+
239
+ # Whether the the current steps for the achievement has reached the number of
240
+ # steps required to unlock.
241
+ # Corresponds to the JSON property `newlyUnlocked`
242
+ # @return [Boolean]
243
+ attr_accessor :newly_unlocked
244
+ alias_method :newly_unlocked?, :newly_unlocked
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @current_steps = args[:current_steps] unless args[:current_steps].nil?
253
+ @kind = args[:kind] unless args[:kind].nil?
254
+ @newly_unlocked = args[:newly_unlocked] unless args[:newly_unlocked].nil?
255
+ end
256
+ end
257
+
258
+ # This is a JSON template for an achievement unlock response
259
+ class AchievementUnlockResponse
260
+ include Google::Apis::Core::Hashable
261
+
262
+ # Uniquely identifies the type of this resource. Value is always the fixed
263
+ # string games#achievementUnlockResponse.
264
+ # Corresponds to the JSON property `kind`
265
+ # @return [String]
266
+ attr_accessor :kind
267
+
268
+ # Whether this achievement was newly unlocked (that is, whether the unlock
269
+ # request for the achievement was the first for the player).
270
+ # Corresponds to the JSON property `newlyUnlocked`
271
+ # @return [Boolean]
272
+ attr_accessor :newly_unlocked
273
+ alias_method :newly_unlocked?, :newly_unlocked
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @kind = args[:kind] unless args[:kind].nil?
282
+ @newly_unlocked = args[:newly_unlocked] unless args[:newly_unlocked].nil?
283
+ end
284
+ end
285
+
286
+ # This is a JSON template for a list of achievement update requests.
287
+ class AchievementUpdateMultipleRequest
288
+ include Google::Apis::Core::Hashable
289
+
290
+ # Uniquely identifies the type of this resource. Value is always the fixed
291
+ # string games#achievementUpdateMultipleRequest.
292
+ # Corresponds to the JSON property `kind`
293
+ # @return [String]
294
+ attr_accessor :kind
295
+
296
+ # The individual achievement update requests.
297
+ # Corresponds to the JSON property `updates`
298
+ # @return [Array<Google::Apis::GamesV1::UpdateAchievementRequest>]
299
+ attr_accessor :updates
300
+
301
+ def initialize(**args)
302
+ update!(**args)
303
+ end
304
+
305
+ # Update properties of this object
306
+ def update!(**args)
307
+ @kind = args[:kind] unless args[:kind].nil?
308
+ @updates = args[:updates] unless args[:updates].nil?
309
+ end
310
+ end
311
+
312
+ # This is a JSON template for an achievement unlock response.
313
+ class AchievementUpdateMultipleResponse
314
+ include Google::Apis::Core::Hashable
315
+
316
+ # Uniquely identifies the type of this resource. Value is always the fixed
317
+ # string games#achievementUpdateListResponse.
318
+ # Corresponds to the JSON property `kind`
319
+ # @return [String]
320
+ attr_accessor :kind
321
+
322
+ # The updated state of the achievements.
323
+ # Corresponds to the JSON property `updatedAchievements`
324
+ # @return [Array<Google::Apis::GamesV1::UpdateAchievementResponse>]
325
+ attr_accessor :updated_achievements
326
+
327
+ def initialize(**args)
328
+ update!(**args)
329
+ end
330
+
331
+ # Update properties of this object
332
+ def update!(**args)
333
+ @kind = args[:kind] unless args[:kind].nil?
334
+ @updated_achievements = args[:updated_achievements] unless args[:updated_achievements].nil?
335
+ end
336
+ end
337
+
338
+ # This is a JSON template for a request to update an achievement.
339
+ class UpdateAchievementRequest
340
+ include Google::Apis::Core::Hashable
341
+
342
+ # The achievement this update is being applied to.
343
+ # Corresponds to the JSON property `achievementId`
344
+ # @return [String]
345
+ attr_accessor :achievement_id
346
+
347
+ # This is a JSON template for the payload to request to increment an achievement.
348
+ # Corresponds to the JSON property `incrementPayload`
349
+ # @return [Google::Apis::GamesV1::GamesAchievementIncrement]
350
+ attr_accessor :increment_payload
351
+
352
+ # Uniquely identifies the type of this resource. Value is always the fixed
353
+ # string games#achievementUpdateRequest.
354
+ # Corresponds to the JSON property `kind`
355
+ # @return [String]
356
+ attr_accessor :kind
357
+
358
+ # This is a JSON template for the payload to request to increment an achievement.
359
+ # Corresponds to the JSON property `setStepsAtLeastPayload`
360
+ # @return [Google::Apis::GamesV1::GamesAchievementSetStepsAtLeast]
361
+ attr_accessor :set_steps_at_least_payload
362
+
363
+ # The type of update being applied.
364
+ # Possible values are:
365
+ # - "REVEAL" - Achievement is revealed.
366
+ # - "UNLOCK" - Achievement is unlocked.
367
+ # - "INCREMENT" - Achievement is incremented.
368
+ # - "SET_STEPS_AT_LEAST" - Achievement progress is set to at least the passed
369
+ # value.
370
+ # Corresponds to the JSON property `updateType`
371
+ # @return [String]
372
+ attr_accessor :update_type
373
+
374
+ def initialize(**args)
375
+ update!(**args)
376
+ end
377
+
378
+ # Update properties of this object
379
+ def update!(**args)
380
+ @achievement_id = args[:achievement_id] unless args[:achievement_id].nil?
381
+ @increment_payload = args[:increment_payload] unless args[:increment_payload].nil?
382
+ @kind = args[:kind] unless args[:kind].nil?
383
+ @set_steps_at_least_payload = args[:set_steps_at_least_payload] unless args[:set_steps_at_least_payload].nil?
384
+ @update_type = args[:update_type] unless args[:update_type].nil?
385
+ end
386
+ end
387
+
388
+ # This is a JSON template for an achievement update response.
389
+ class UpdateAchievementResponse
390
+ include Google::Apis::Core::Hashable
391
+
392
+ # The achievement this update is was applied to.
393
+ # Corresponds to the JSON property `achievementId`
394
+ # @return [String]
395
+ attr_accessor :achievement_id
396
+
397
+ # The current state of the achievement.
398
+ # Possible values are:
399
+ # - "HIDDEN" - Achievement is hidden.
400
+ # - "REVEALED" - Achievement is revealed.
401
+ # - "UNLOCKED" - Achievement is unlocked.
402
+ # Corresponds to the JSON property `currentState`
403
+ # @return [String]
404
+ attr_accessor :current_state
405
+
406
+ # The current steps recorded for this achievement if it is incremental.
407
+ # Corresponds to the JSON property `currentSteps`
408
+ # @return [Fixnum]
409
+ attr_accessor :current_steps
410
+
411
+ # Uniquely identifies the type of this resource. Value is always the fixed
412
+ # string games#achievementUpdateResponse.
413
+ # Corresponds to the JSON property `kind`
414
+ # @return [String]
415
+ attr_accessor :kind
416
+
417
+ # Whether this achievement was newly unlocked (that is, whether the unlock
418
+ # request for the achievement was the first for the player).
419
+ # Corresponds to the JSON property `newlyUnlocked`
420
+ # @return [Boolean]
421
+ attr_accessor :newly_unlocked
422
+ alias_method :newly_unlocked?, :newly_unlocked
423
+
424
+ # Whether the requested updates actually affected the achievement.
425
+ # Corresponds to the JSON property `updateOccurred`
426
+ # @return [Boolean]
427
+ attr_accessor :update_occurred
428
+ alias_method :update_occurred?, :update_occurred
429
+
430
+ def initialize(**args)
431
+ update!(**args)
432
+ end
433
+
434
+ # Update properties of this object
435
+ def update!(**args)
436
+ @achievement_id = args[:achievement_id] unless args[:achievement_id].nil?
437
+ @current_state = args[:current_state] unless args[:current_state].nil?
438
+ @current_steps = args[:current_steps] unless args[:current_steps].nil?
439
+ @kind = args[:kind] unless args[:kind].nil?
440
+ @newly_unlocked = args[:newly_unlocked] unless args[:newly_unlocked].nil?
441
+ @update_occurred = args[:update_occurred] unless args[:update_occurred].nil?
442
+ end
443
+ end
444
+
445
+ # This is a JSON template for aggregate stats.
446
+ class AggregateStats
447
+ include Google::Apis::Core::Hashable
448
+
449
+ # The number of messages sent between a pair of peers.
450
+ # Corresponds to the JSON property `count`
451
+ # @return [String]
452
+ attr_accessor :count
453
+
454
+ # Uniquely identifies the type of this resource. Value is always the fixed
455
+ # string games#aggregateStats.
456
+ # Corresponds to the JSON property `kind`
457
+ # @return [String]
458
+ attr_accessor :kind
459
+
460
+ # The maximum amount.
461
+ # Corresponds to the JSON property `max`
462
+ # @return [String]
463
+ attr_accessor :max
464
+
465
+ # The minimum amount.
466
+ # Corresponds to the JSON property `min`
467
+ # @return [String]
468
+ attr_accessor :min
469
+
470
+ # The total number of bytes sent for messages between a pair of peers.
471
+ # Corresponds to the JSON property `sum`
472
+ # @return [String]
473
+ attr_accessor :sum
474
+
475
+ def initialize(**args)
476
+ update!(**args)
477
+ end
478
+
479
+ # Update properties of this object
480
+ def update!(**args)
481
+ @count = args[:count] unless args[:count].nil?
482
+ @kind = args[:kind] unless args[:kind].nil?
483
+ @max = args[:max] unless args[:max].nil?
484
+ @min = args[:min] unless args[:min].nil?
485
+ @sum = args[:sum] unless args[:sum].nil?
486
+ end
487
+ end
488
+
489
+ # This is a JSON template for an anonymous player
490
+ class AnonymousPlayer
491
+ include Google::Apis::Core::Hashable
492
+
493
+ # The base URL for the image to display for the anonymous player.
494
+ # Corresponds to the JSON property `avatarImageUrl`
495
+ # @return [String]
496
+ attr_accessor :avatar_image_url
497
+
498
+ # The name to display for the anonymous player.
499
+ # Corresponds to the JSON property `displayName`
500
+ # @return [String]
501
+ attr_accessor :display_name
502
+
503
+ # Uniquely identifies the type of this resource. Value is always the fixed
504
+ # string games#anonymousPlayer.
505
+ # Corresponds to the JSON property `kind`
506
+ # @return [String]
507
+ attr_accessor :kind
508
+
509
+ def initialize(**args)
510
+ update!(**args)
511
+ end
512
+
513
+ # Update properties of this object
514
+ def update!(**args)
515
+ @avatar_image_url = args[:avatar_image_url] unless args[:avatar_image_url].nil?
516
+ @display_name = args[:display_name] unless args[:display_name].nil?
517
+ @kind = args[:kind] unless args[:kind].nil?
518
+ end
519
+ end
520
+
521
+ # This is a JSON template for the Application resource.
522
+ class Application
523
+ include Google::Apis::Core::Hashable
524
+
525
+ # The number of achievements visible to the currently authenticated player.
526
+ # Corresponds to the JSON property `achievement_count`
527
+ # @return [Fixnum]
528
+ attr_accessor :achievement_count
529
+
530
+ # The assets of the application.
531
+ # Corresponds to the JSON property `assets`
532
+ # @return [Array<Google::Apis::GamesV1::ImageAsset>]
533
+ attr_accessor :assets
534
+
535
+ # The author of the application.
536
+ # Corresponds to the JSON property `author`
537
+ # @return [String]
538
+ attr_accessor :author
539
+
540
+ # This is a JSON template for an application category object.
541
+ # Corresponds to the JSON property `category`
542
+ # @return [Google::Apis::GamesV1::ApplicationCategory]
543
+ attr_accessor :category
544
+
545
+ # The description of the application.
546
+ # Corresponds to the JSON property `description`
547
+ # @return [String]
548
+ attr_accessor :description
549
+
550
+ # A list of features that have been enabled for the application.
551
+ # Possible values are:
552
+ # - "SNAPSHOTS" - Snapshots has been enabled
553
+ # Corresponds to the JSON property `enabledFeatures`
554
+ # @return [Array<String>]
555
+ attr_accessor :enabled_features
556
+
557
+ # The ID of the application.
558
+ # Corresponds to the JSON property `id`
559
+ # @return [String]
560
+ attr_accessor :id
561
+
562
+ # The instances of the application.
563
+ # Corresponds to the JSON property `instances`
564
+ # @return [Array<Google::Apis::GamesV1::Instance>]
565
+ attr_accessor :instances
566
+
567
+ # Uniquely identifies the type of this resource. Value is always the fixed
568
+ # string games#application.
569
+ # Corresponds to the JSON property `kind`
570
+ # @return [String]
571
+ attr_accessor :kind
572
+
573
+ # The last updated timestamp of the application.
574
+ # Corresponds to the JSON property `lastUpdatedTimestamp`
575
+ # @return [String]
576
+ attr_accessor :last_updated_timestamp
577
+
578
+ # The number of leaderboards visible to the currently authenticated player.
579
+ # Corresponds to the JSON property `leaderboard_count`
580
+ # @return [Fixnum]
581
+ attr_accessor :leaderboard_count
582
+
583
+ # The name of the application.
584
+ # Corresponds to the JSON property `name`
585
+ # @return [String]
586
+ attr_accessor :name
587
+
588
+ # A hint to the client UI for what color to use as an app-themed color. The
589
+ # color is given as an RGB triplet (e.g. "E0E0E0").
590
+ # Corresponds to the JSON property `themeColor`
591
+ # @return [String]
592
+ attr_accessor :theme_color
593
+
594
+ def initialize(**args)
595
+ update!(**args)
596
+ end
597
+
598
+ # Update properties of this object
599
+ def update!(**args)
600
+ @achievement_count = args[:achievement_count] unless args[:achievement_count].nil?
601
+ @assets = args[:assets] unless args[:assets].nil?
602
+ @author = args[:author] unless args[:author].nil?
603
+ @category = args[:category] unless args[:category].nil?
604
+ @description = args[:description] unless args[:description].nil?
605
+ @enabled_features = args[:enabled_features] unless args[:enabled_features].nil?
606
+ @id = args[:id] unless args[:id].nil?
607
+ @instances = args[:instances] unless args[:instances].nil?
608
+ @kind = args[:kind] unless args[:kind].nil?
609
+ @last_updated_timestamp = args[:last_updated_timestamp] unless args[:last_updated_timestamp].nil?
610
+ @leaderboard_count = args[:leaderboard_count] unless args[:leaderboard_count].nil?
611
+ @name = args[:name] unless args[:name].nil?
612
+ @theme_color = args[:theme_color] unless args[:theme_color].nil?
613
+ end
614
+ end
615
+
616
+ # This is a JSON template for an application category object.
617
+ class ApplicationCategory
618
+ include Google::Apis::Core::Hashable
619
+
620
+ # Uniquely identifies the type of this resource. Value is always the fixed
621
+ # string games#applicationCategory.
622
+ # Corresponds to the JSON property `kind`
623
+ # @return [String]
624
+ attr_accessor :kind
625
+
626
+ # The primary category.
627
+ # Corresponds to the JSON property `primary`
628
+ # @return [String]
629
+ attr_accessor :primary
630
+
631
+ # The secondary category.
632
+ # Corresponds to the JSON property `secondary`
633
+ # @return [String]
634
+ attr_accessor :secondary
635
+
636
+ def initialize(**args)
637
+ update!(**args)
638
+ end
639
+
640
+ # Update properties of this object
641
+ def update!(**args)
642
+ @kind = args[:kind] unless args[:kind].nil?
643
+ @primary = args[:primary] unless args[:primary].nil?
644
+ @secondary = args[:secondary] unless args[:secondary].nil?
645
+ end
646
+ end
647
+
648
+ # This is a JSON template for data related to individual game categories.
649
+ class Category
650
+ include Google::Apis::Core::Hashable
651
+
652
+ # The category name.
653
+ # Corresponds to the JSON property `category`
654
+ # @return [String]
655
+ attr_accessor :category
656
+
657
+ # Experience points earned in this category.
658
+ # Corresponds to the JSON property `experiencePoints`
659
+ # @return [String]
660
+ attr_accessor :experience_points
661
+
662
+ # Uniquely identifies the type of this resource. Value is always the fixed
663
+ # string games#category.
664
+ # Corresponds to the JSON property `kind`
665
+ # @return [String]
666
+ attr_accessor :kind
667
+
668
+ def initialize(**args)
669
+ update!(**args)
670
+ end
671
+
672
+ # Update properties of this object
673
+ def update!(**args)
674
+ @category = args[:category] unless args[:category].nil?
675
+ @experience_points = args[:experience_points] unless args[:experience_points].nil?
676
+ @kind = args[:kind] unless args[:kind].nil?
677
+ end
678
+ end
679
+
680
+ # This is a JSON template for a list of category data objects.
681
+ class ListCategoryResponse
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # The list of categories with usage data.
685
+ # Corresponds to the JSON property `items`
686
+ # @return [Array<Google::Apis::GamesV1::Category>]
687
+ attr_accessor :items
688
+
689
+ # Uniquely identifies the type of this resource. Value is always the fixed
690
+ # string games#categoryListResponse.
691
+ # Corresponds to the JSON property `kind`
692
+ # @return [String]
693
+ attr_accessor :kind
694
+
695
+ # Token corresponding to the next page of results.
696
+ # Corresponds to the JSON property `nextPageToken`
697
+ # @return [String]
698
+ attr_accessor :next_page_token
699
+
700
+ def initialize(**args)
701
+ update!(**args)
702
+ end
703
+
704
+ # Update properties of this object
705
+ def update!(**args)
706
+ @items = args[:items] unless args[:items].nil?
707
+ @kind = args[:kind] unless args[:kind].nil?
708
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
709
+ end
710
+ end
711
+
712
+ # This is a JSON template for a batch update failure resource.
713
+ class EventBatchRecordFailure
714
+ include Google::Apis::Core::Hashable
715
+
716
+ # The cause for the update failure.
717
+ # Possible values are:
718
+ # - "TOO_LARGE": A batch request was issued with more events than are allowed in
719
+ # a single batch.
720
+ # - "TIME_PERIOD_EXPIRED": A batch was sent with data too far in the past to
721
+ # record.
722
+ # - "TIME_PERIOD_SHORT": A batch was sent with a time range that was too short.
723
+ # - "TIME_PERIOD_LONG": A batch was sent with a time range that was too long.
724
+ # - "ALREADY_UPDATED": An attempt was made to record a batch of data which was
725
+ # already seen.
726
+ # - "RECORD_RATE_HIGH": An attempt was made to record data faster than the
727
+ # server will apply updates.
728
+ # Corresponds to the JSON property `failureCause`
729
+ # @return [String]
730
+ attr_accessor :failure_cause
731
+
732
+ # Uniquely identifies the type of this resource. Value is always the fixed
733
+ # string games#eventBatchRecordFailure.
734
+ # Corresponds to the JSON property `kind`
735
+ # @return [String]
736
+ attr_accessor :kind
737
+
738
+ # This is a JSON template for an event period time range.
739
+ # Corresponds to the JSON property `range`
740
+ # @return [Google::Apis::GamesV1::EventPeriodRange]
741
+ attr_accessor :range
742
+
743
+ def initialize(**args)
744
+ update!(**args)
745
+ end
746
+
747
+ # Update properties of this object
748
+ def update!(**args)
749
+ @failure_cause = args[:failure_cause] unless args[:failure_cause].nil?
750
+ @kind = args[:kind] unless args[:kind].nil?
751
+ @range = args[:range] unless args[:range].nil?
752
+ end
753
+ end
754
+
755
+ # This is a JSON template for an event child relationship resource.
756
+ class EventChild
757
+ include Google::Apis::Core::Hashable
758
+
759
+ # The ID of the child event.
760
+ # Corresponds to the JSON property `childId`
761
+ # @return [String]
762
+ attr_accessor :child_id
763
+
764
+ # Uniquely identifies the type of this resource. Value is always the fixed
765
+ # string games#eventChild.
766
+ # Corresponds to the JSON property `kind`
767
+ # @return [String]
768
+ attr_accessor :kind
769
+
770
+ def initialize(**args)
771
+ update!(**args)
772
+ end
773
+
774
+ # Update properties of this object
775
+ def update!(**args)
776
+ @child_id = args[:child_id] unless args[:child_id].nil?
777
+ @kind = args[:kind] unless args[:kind].nil?
778
+ end
779
+ end
780
+
781
+ # This is a JSON template for an event definition resource.
782
+ class EventDefinition
783
+ include Google::Apis::Core::Hashable
784
+
785
+ # A list of events that are a child of this event.
786
+ # Corresponds to the JSON property `childEvents`
787
+ # @return [Array<Google::Apis::GamesV1::EventChild>]
788
+ attr_accessor :child_events
789
+
790
+ # Description of what this event represents.
791
+ # Corresponds to the JSON property `description`
792
+ # @return [String]
793
+ attr_accessor :description
794
+
795
+ # The name to display for the event.
796
+ # Corresponds to the JSON property `displayName`
797
+ # @return [String]
798
+ attr_accessor :display_name
799
+
800
+ # The ID of the event.
801
+ # Corresponds to the JSON property `id`
802
+ # @return [String]
803
+ attr_accessor :id
804
+
805
+ # The base URL for the image that represents the event.
806
+ # Corresponds to the JSON property `imageUrl`
807
+ # @return [String]
808
+ attr_accessor :image_url
809
+
810
+ # Indicates whether the icon image being returned is a default image, or is game-
811
+ # provided.
812
+ # Corresponds to the JSON property `isDefaultImageUrl`
813
+ # @return [Boolean]
814
+ attr_accessor :is_default_image_url
815
+ alias_method :is_default_image_url?, :is_default_image_url
816
+
817
+ # Uniquely identifies the type of this resource. Value is always the fixed
818
+ # string games#eventDefinition.
819
+ # Corresponds to the JSON property `kind`
820
+ # @return [String]
821
+ attr_accessor :kind
822
+
823
+ # The visibility of event being tracked in this definition.
824
+ # Possible values are:
825
+ # - "REVEALED": This event should be visible to all users.
826
+ # - "HIDDEN": This event should only be shown to users that have recorded this
827
+ # event at least once.
828
+ # Corresponds to the JSON property `visibility`
829
+ # @return [String]
830
+ attr_accessor :visibility
831
+
832
+ def initialize(**args)
833
+ update!(**args)
834
+ end
835
+
836
+ # Update properties of this object
837
+ def update!(**args)
838
+ @child_events = args[:child_events] unless args[:child_events].nil?
839
+ @description = args[:description] unless args[:description].nil?
840
+ @display_name = args[:display_name] unless args[:display_name].nil?
841
+ @id = args[:id] unless args[:id].nil?
842
+ @image_url = args[:image_url] unless args[:image_url].nil?
843
+ @is_default_image_url = args[:is_default_image_url] unless args[:is_default_image_url].nil?
844
+ @kind = args[:kind] unless args[:kind].nil?
845
+ @visibility = args[:visibility] unless args[:visibility].nil?
846
+ end
847
+ end
848
+
849
+ # This is a JSON template for a ListDefinitions response.
850
+ class ListEventDefinitionResponse
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # The event definitions.
854
+ # Corresponds to the JSON property `items`
855
+ # @return [Array<Google::Apis::GamesV1::EventDefinition>]
856
+ attr_accessor :items
857
+
858
+ # Uniquely identifies the type of this resource. Value is always the fixed
859
+ # string games#eventDefinitionListResponse.
860
+ # Corresponds to the JSON property `kind`
861
+ # @return [String]
862
+ attr_accessor :kind
863
+
864
+ # The pagination token for the next page of results.
865
+ # Corresponds to the JSON property `nextPageToken`
866
+ # @return [String]
867
+ attr_accessor :next_page_token
868
+
869
+ def initialize(**args)
870
+ update!(**args)
871
+ end
872
+
873
+ # Update properties of this object
874
+ def update!(**args)
875
+ @items = args[:items] unless args[:items].nil?
876
+ @kind = args[:kind] unless args[:kind].nil?
877
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
878
+ end
879
+ end
880
+
881
+ # This is a JSON template for an event period time range.
882
+ class EventPeriodRange
883
+ include Google::Apis::Core::Hashable
884
+
885
+ # Uniquely identifies the type of this resource. Value is always the fixed
886
+ # string games#eventPeriodRange.
887
+ # Corresponds to the JSON property `kind`
888
+ # @return [String]
889
+ attr_accessor :kind
890
+
891
+ # The time when this update period ends, in millis, since 1970 UTC (Unix Epoch).
892
+ # Corresponds to the JSON property `periodEndMillis`
893
+ # @return [String]
894
+ attr_accessor :period_end_millis
895
+
896
+ # The time when this update period begins, in millis, since 1970 UTC (Unix Epoch)
897
+ # .
898
+ # Corresponds to the JSON property `periodStartMillis`
899
+ # @return [String]
900
+ attr_accessor :period_start_millis
901
+
902
+ def initialize(**args)
903
+ update!(**args)
904
+ end
905
+
906
+ # Update properties of this object
907
+ def update!(**args)
908
+ @kind = args[:kind] unless args[:kind].nil?
909
+ @period_end_millis = args[:period_end_millis] unless args[:period_end_millis].nil?
910
+ @period_start_millis = args[:period_start_millis] unless args[:period_start_millis].nil?
911
+ end
912
+ end
913
+
914
+ # This is a JSON template for an event period update resource.
915
+ class EventPeriodUpdate
916
+ include Google::Apis::Core::Hashable
917
+
918
+ # Uniquely identifies the type of this resource. Value is always the fixed
919
+ # string games#eventPeriodUpdate.
920
+ # Corresponds to the JSON property `kind`
921
+ # @return [String]
922
+ attr_accessor :kind
923
+
924
+ # This is a JSON template for an event period time range.
925
+ # Corresponds to the JSON property `timePeriod`
926
+ # @return [Google::Apis::GamesV1::EventPeriodRange]
927
+ attr_accessor :time_period
928
+
929
+ # The updates being made for this time period.
930
+ # Corresponds to the JSON property `updates`
931
+ # @return [Array<Google::Apis::GamesV1::UpdateEventRequest>]
932
+ attr_accessor :updates
933
+
934
+ def initialize(**args)
935
+ update!(**args)
936
+ end
937
+
938
+ # Update properties of this object
939
+ def update!(**args)
940
+ @kind = args[:kind] unless args[:kind].nil?
941
+ @time_period = args[:time_period] unless args[:time_period].nil?
942
+ @updates = args[:updates] unless args[:updates].nil?
943
+ end
944
+ end
945
+
946
+ # This is a JSON template for an event update failure resource.
947
+ class EventRecordFailure
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # The ID of the event that was not updated.
951
+ # Corresponds to the JSON property `eventId`
952
+ # @return [String]
953
+ attr_accessor :event_id
954
+
955
+ # The cause for the update failure.
956
+ # Possible values are:
957
+ # - "NOT_FOUND" - An attempt was made to set an event that was not defined.
958
+ # - "INVALID_UPDATE_VALUE" - An attempt was made to increment an event by a non-
959
+ # positive value.
960
+ # Corresponds to the JSON property `failureCause`
961
+ # @return [String]
962
+ attr_accessor :failure_cause
963
+
964
+ # Uniquely identifies the type of this resource. Value is always the fixed
965
+ # string games#eventRecordFailure.
966
+ # Corresponds to the JSON property `kind`
967
+ # @return [String]
968
+ attr_accessor :kind
969
+
970
+ def initialize(**args)
971
+ update!(**args)
972
+ end
973
+
974
+ # Update properties of this object
975
+ def update!(**args)
976
+ @event_id = args[:event_id] unless args[:event_id].nil?
977
+ @failure_cause = args[:failure_cause] unless args[:failure_cause].nil?
978
+ @kind = args[:kind] unless args[:kind].nil?
979
+ end
980
+ end
981
+
982
+ # This is a JSON template for an event period update resource.
983
+ class EventRecordRequest
984
+ include Google::Apis::Core::Hashable
985
+
986
+ # The current time when this update was sent, in milliseconds, since 1970 UTC (
987
+ # Unix Epoch).
988
+ # Corresponds to the JSON property `currentTimeMillis`
989
+ # @return [String]
990
+ attr_accessor :current_time_millis
991
+
992
+ # Uniquely identifies the type of this resource. Value is always the fixed
993
+ # string games#eventRecordRequest.
994
+ # Corresponds to the JSON property `kind`
995
+ # @return [String]
996
+ attr_accessor :kind
997
+
998
+ # The request ID used to identify this attempt to record events.
999
+ # Corresponds to the JSON property `requestId`
1000
+ # @return [String]
1001
+ attr_accessor :request_id
1002
+
1003
+ # A list of the time period updates being made in this request.
1004
+ # Corresponds to the JSON property `timePeriods`
1005
+ # @return [Array<Google::Apis::GamesV1::EventPeriodUpdate>]
1006
+ attr_accessor :time_periods
1007
+
1008
+ def initialize(**args)
1009
+ update!(**args)
1010
+ end
1011
+
1012
+ # Update properties of this object
1013
+ def update!(**args)
1014
+ @current_time_millis = args[:current_time_millis] unless args[:current_time_millis].nil?
1015
+ @kind = args[:kind] unless args[:kind].nil?
1016
+ @request_id = args[:request_id] unless args[:request_id].nil?
1017
+ @time_periods = args[:time_periods] unless args[:time_periods].nil?
1018
+ end
1019
+ end
1020
+
1021
+ # This is a JSON template for an event period update resource.
1022
+ class UpdateEventRequest
1023
+ include Google::Apis::Core::Hashable
1024
+
1025
+ # The ID of the event being modified in this update.
1026
+ # Corresponds to the JSON property `definitionId`
1027
+ # @return [String]
1028
+ attr_accessor :definition_id
1029
+
1030
+ # Uniquely identifies the type of this resource. Value is always the fixed
1031
+ # string games#eventUpdateRequest.
1032
+ # Corresponds to the JSON property `kind`
1033
+ # @return [String]
1034
+ attr_accessor :kind
1035
+
1036
+ # The number of times this event occurred in this time period.
1037
+ # Corresponds to the JSON property `updateCount`
1038
+ # @return [String]
1039
+ attr_accessor :update_count
1040
+
1041
+ def initialize(**args)
1042
+ update!(**args)
1043
+ end
1044
+
1045
+ # Update properties of this object
1046
+ def update!(**args)
1047
+ @definition_id = args[:definition_id] unless args[:definition_id].nil?
1048
+ @kind = args[:kind] unless args[:kind].nil?
1049
+ @update_count = args[:update_count] unless args[:update_count].nil?
1050
+ end
1051
+ end
1052
+
1053
+ # This is a JSON template for an event period update resource.
1054
+ class UpdateEventResponse
1055
+ include Google::Apis::Core::Hashable
1056
+
1057
+ # Any batch-wide failures which occurred applying updates.
1058
+ # Corresponds to the JSON property `batchFailures`
1059
+ # @return [Array<Google::Apis::GamesV1::EventBatchRecordFailure>]
1060
+ attr_accessor :batch_failures
1061
+
1062
+ # Any failures updating a particular event.
1063
+ # Corresponds to the JSON property `eventFailures`
1064
+ # @return [Array<Google::Apis::GamesV1::EventRecordFailure>]
1065
+ attr_accessor :event_failures
1066
+
1067
+ # Uniquely identifies the type of this resource. Value is always the fixed
1068
+ # string games#eventUpdateResponse.
1069
+ # Corresponds to the JSON property `kind`
1070
+ # @return [String]
1071
+ attr_accessor :kind
1072
+
1073
+ # The current status of any updated events
1074
+ # Corresponds to the JSON property `playerEvents`
1075
+ # @return [Array<Google::Apis::GamesV1::PlayerEvent>]
1076
+ attr_accessor :player_events
1077
+
1078
+ def initialize(**args)
1079
+ update!(**args)
1080
+ end
1081
+
1082
+ # Update properties of this object
1083
+ def update!(**args)
1084
+ @batch_failures = args[:batch_failures] unless args[:batch_failures].nil?
1085
+ @event_failures = args[:event_failures] unless args[:event_failures].nil?
1086
+ @kind = args[:kind] unless args[:kind].nil?
1087
+ @player_events = args[:player_events] unless args[:player_events].nil?
1088
+ end
1089
+ end
1090
+
1091
+ # This is a JSON template for the payload to request to increment an achievement.
1092
+ class GamesAchievementIncrement
1093
+ include Google::Apis::Core::Hashable
1094
+
1095
+ # Uniquely identifies the type of this resource. Value is always the fixed
1096
+ # string games#GamesAchievementIncrement.
1097
+ # Corresponds to the JSON property `kind`
1098
+ # @return [String]
1099
+ attr_accessor :kind
1100
+
1101
+ # The requestId associated with an increment to an achievement.
1102
+ # Corresponds to the JSON property `requestId`
1103
+ # @return [String]
1104
+ attr_accessor :request_id
1105
+
1106
+ # The number of steps to be incremented.
1107
+ # Corresponds to the JSON property `steps`
1108
+ # @return [Fixnum]
1109
+ attr_accessor :steps
1110
+
1111
+ def initialize(**args)
1112
+ update!(**args)
1113
+ end
1114
+
1115
+ # Update properties of this object
1116
+ def update!(**args)
1117
+ @kind = args[:kind] unless args[:kind].nil?
1118
+ @request_id = args[:request_id] unless args[:request_id].nil?
1119
+ @steps = args[:steps] unless args[:steps].nil?
1120
+ end
1121
+ end
1122
+
1123
+ # This is a JSON template for the payload to request to increment an achievement.
1124
+ class GamesAchievementSetStepsAtLeast
1125
+ include Google::Apis::Core::Hashable
1126
+
1127
+ # Uniquely identifies the type of this resource. Value is always the fixed
1128
+ # string games#GamesAchievementSetStepsAtLeast.
1129
+ # Corresponds to the JSON property `kind`
1130
+ # @return [String]
1131
+ attr_accessor :kind
1132
+
1133
+ # The minimum number of steps for the achievement to be set to.
1134
+ # Corresponds to the JSON property `steps`
1135
+ # @return [Fixnum]
1136
+ attr_accessor :steps
1137
+
1138
+ def initialize(**args)
1139
+ update!(**args)
1140
+ end
1141
+
1142
+ # Update properties of this object
1143
+ def update!(**args)
1144
+ @kind = args[:kind] unless args[:kind].nil?
1145
+ @steps = args[:steps] unless args[:steps].nil?
1146
+ end
1147
+ end
1148
+
1149
+ # This is a JSON template for an image asset object.
1150
+ class ImageAsset
1151
+ include Google::Apis::Core::Hashable
1152
+
1153
+ # The height of the asset.
1154
+ # Corresponds to the JSON property `height`
1155
+ # @return [Fixnum]
1156
+ attr_accessor :height
1157
+
1158
+ # Uniquely identifies the type of this resource. Value is always the fixed
1159
+ # string games#imageAsset.
1160
+ # Corresponds to the JSON property `kind`
1161
+ # @return [String]
1162
+ attr_accessor :kind
1163
+
1164
+ # The name of the asset.
1165
+ # Corresponds to the JSON property `name`
1166
+ # @return [String]
1167
+ attr_accessor :name
1168
+
1169
+ # The URL of the asset.
1170
+ # Corresponds to the JSON property `url`
1171
+ # @return [String]
1172
+ attr_accessor :url
1173
+
1174
+ # The width of the asset.
1175
+ # Corresponds to the JSON property `width`
1176
+ # @return [Fixnum]
1177
+ attr_accessor :width
1178
+
1179
+ def initialize(**args)
1180
+ update!(**args)
1181
+ end
1182
+
1183
+ # Update properties of this object
1184
+ def update!(**args)
1185
+ @height = args[:height] unless args[:height].nil?
1186
+ @kind = args[:kind] unless args[:kind].nil?
1187
+ @name = args[:name] unless args[:name].nil?
1188
+ @url = args[:url] unless args[:url].nil?
1189
+ @width = args[:width] unless args[:width].nil?
1190
+ end
1191
+ end
1192
+
1193
+ # This is a JSON template for the Instance resource.
1194
+ class Instance
1195
+ include Google::Apis::Core::Hashable
1196
+
1197
+ # URI which shows where a user can acquire this instance.
1198
+ # Corresponds to the JSON property `acquisitionUri`
1199
+ # @return [String]
1200
+ attr_accessor :acquisition_uri
1201
+
1202
+ # This is a JSON template for the Android instance details resource.
1203
+ # Corresponds to the JSON property `androidInstance`
1204
+ # @return [Google::Apis::GamesV1::InstanceAndroidDetails]
1205
+ attr_accessor :android_instance
1206
+
1207
+ # This is a JSON template for the iOS details resource.
1208
+ # Corresponds to the JSON property `iosInstance`
1209
+ # @return [Google::Apis::GamesV1::InstanceIosDetails]
1210
+ attr_accessor :ios_instance
1211
+
1212
+ # Uniquely identifies the type of this resource. Value is always the fixed
1213
+ # string games#instance.
1214
+ # Corresponds to the JSON property `kind`
1215
+ # @return [String]
1216
+ attr_accessor :kind
1217
+
1218
+ # Localized display name.
1219
+ # Corresponds to the JSON property `name`
1220
+ # @return [String]
1221
+ attr_accessor :name
1222
+
1223
+ # The platform type.
1224
+ # Possible values are:
1225
+ # - "ANDROID" - Instance is for Android.
1226
+ # - "IOS" - Instance is for iOS
1227
+ # - "WEB_APP" - Instance is for Web App.
1228
+ # Corresponds to the JSON property `platformType`
1229
+ # @return [String]
1230
+ attr_accessor :platform_type
1231
+
1232
+ # Flag to show if this game instance supports realtime play.
1233
+ # Corresponds to the JSON property `realtimePlay`
1234
+ # @return [Boolean]
1235
+ attr_accessor :realtime_play
1236
+ alias_method :realtime_play?, :realtime_play
1237
+
1238
+ # Flag to show if this game instance supports turn based play.
1239
+ # Corresponds to the JSON property `turnBasedPlay`
1240
+ # @return [Boolean]
1241
+ attr_accessor :turn_based_play
1242
+ alias_method :turn_based_play?, :turn_based_play
1243
+
1244
+ # This is a JSON template for the Web details resource.
1245
+ # Corresponds to the JSON property `webInstance`
1246
+ # @return [Google::Apis::GamesV1::InstanceWebDetails]
1247
+ attr_accessor :web_instance
1248
+
1249
+ def initialize(**args)
1250
+ update!(**args)
1251
+ end
1252
+
1253
+ # Update properties of this object
1254
+ def update!(**args)
1255
+ @acquisition_uri = args[:acquisition_uri] unless args[:acquisition_uri].nil?
1256
+ @android_instance = args[:android_instance] unless args[:android_instance].nil?
1257
+ @ios_instance = args[:ios_instance] unless args[:ios_instance].nil?
1258
+ @kind = args[:kind] unless args[:kind].nil?
1259
+ @name = args[:name] unless args[:name].nil?
1260
+ @platform_type = args[:platform_type] unless args[:platform_type].nil?
1261
+ @realtime_play = args[:realtime_play] unless args[:realtime_play].nil?
1262
+ @turn_based_play = args[:turn_based_play] unless args[:turn_based_play].nil?
1263
+ @web_instance = args[:web_instance] unless args[:web_instance].nil?
1264
+ end
1265
+ end
1266
+
1267
+ # This is a JSON template for the Android instance details resource.
1268
+ class InstanceAndroidDetails
1269
+ include Google::Apis::Core::Hashable
1270
+
1271
+ # Flag indicating whether the anti-piracy check is enabled.
1272
+ # Corresponds to the JSON property `enablePiracyCheck`
1273
+ # @return [Boolean]
1274
+ attr_accessor :enable_piracy_check
1275
+ alias_method :enable_piracy_check?, :enable_piracy_check
1276
+
1277
+ # Uniquely identifies the type of this resource. Value is always the fixed
1278
+ # string games#instanceAndroidDetails.
1279
+ # Corresponds to the JSON property `kind`
1280
+ # @return [String]
1281
+ attr_accessor :kind
1282
+
1283
+ # Android package name which maps to Google Play URL.
1284
+ # Corresponds to the JSON property `packageName`
1285
+ # @return [String]
1286
+ attr_accessor :package_name
1287
+
1288
+ # Indicates that this instance is the default for new installations.
1289
+ # Corresponds to the JSON property `preferred`
1290
+ # @return [Boolean]
1291
+ attr_accessor :preferred
1292
+ alias_method :preferred?, :preferred
1293
+
1294
+ def initialize(**args)
1295
+ update!(**args)
1296
+ end
1297
+
1298
+ # Update properties of this object
1299
+ def update!(**args)
1300
+ @enable_piracy_check = args[:enable_piracy_check] unless args[:enable_piracy_check].nil?
1301
+ @kind = args[:kind] unless args[:kind].nil?
1302
+ @package_name = args[:package_name] unless args[:package_name].nil?
1303
+ @preferred = args[:preferred] unless args[:preferred].nil?
1304
+ end
1305
+ end
1306
+
1307
+ # This is a JSON template for the iOS details resource.
1308
+ class InstanceIosDetails
1309
+ include Google::Apis::Core::Hashable
1310
+
1311
+ # Bundle identifier.
1312
+ # Corresponds to the JSON property `bundleIdentifier`
1313
+ # @return [String]
1314
+ attr_accessor :bundle_identifier
1315
+
1316
+ # iTunes App ID.
1317
+ # Corresponds to the JSON property `itunesAppId`
1318
+ # @return [String]
1319
+ attr_accessor :itunes_app_id
1320
+
1321
+ # Uniquely identifies the type of this resource. Value is always the fixed
1322
+ # string games#instanceIosDetails.
1323
+ # Corresponds to the JSON property `kind`
1324
+ # @return [String]
1325
+ attr_accessor :kind
1326
+
1327
+ # Indicates that this instance is the default for new installations on iPad
1328
+ # devices.
1329
+ # Corresponds to the JSON property `preferredForIpad`
1330
+ # @return [Boolean]
1331
+ attr_accessor :preferred_for_ipad
1332
+ alias_method :preferred_for_ipad?, :preferred_for_ipad
1333
+
1334
+ # Indicates that this instance is the default for new installations on iPhone
1335
+ # devices.
1336
+ # Corresponds to the JSON property `preferredForIphone`
1337
+ # @return [Boolean]
1338
+ attr_accessor :preferred_for_iphone
1339
+ alias_method :preferred_for_iphone?, :preferred_for_iphone
1340
+
1341
+ # Flag to indicate if this instance supports iPad.
1342
+ # Corresponds to the JSON property `supportIpad`
1343
+ # @return [Boolean]
1344
+ attr_accessor :support_ipad
1345
+ alias_method :support_ipad?, :support_ipad
1346
+
1347
+ # Flag to indicate if this instance supports iPhone.
1348
+ # Corresponds to the JSON property `supportIphone`
1349
+ # @return [Boolean]
1350
+ attr_accessor :support_iphone
1351
+ alias_method :support_iphone?, :support_iphone
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @bundle_identifier = args[:bundle_identifier] unless args[:bundle_identifier].nil?
1360
+ @itunes_app_id = args[:itunes_app_id] unless args[:itunes_app_id].nil?
1361
+ @kind = args[:kind] unless args[:kind].nil?
1362
+ @preferred_for_ipad = args[:preferred_for_ipad] unless args[:preferred_for_ipad].nil?
1363
+ @preferred_for_iphone = args[:preferred_for_iphone] unless args[:preferred_for_iphone].nil?
1364
+ @support_ipad = args[:support_ipad] unless args[:support_ipad].nil?
1365
+ @support_iphone = args[:support_iphone] unless args[:support_iphone].nil?
1366
+ end
1367
+ end
1368
+
1369
+ # This is a JSON template for the Web details resource.
1370
+ class InstanceWebDetails
1371
+ include Google::Apis::Core::Hashable
1372
+
1373
+ # Uniquely identifies the type of this resource. Value is always the fixed
1374
+ # string games#instanceWebDetails.
1375
+ # Corresponds to the JSON property `kind`
1376
+ # @return [String]
1377
+ attr_accessor :kind
1378
+
1379
+ # Launch URL for the game.
1380
+ # Corresponds to the JSON property `launchUrl`
1381
+ # @return [String]
1382
+ attr_accessor :launch_url
1383
+
1384
+ # Indicates that this instance is the default for new installations.
1385
+ # Corresponds to the JSON property `preferred`
1386
+ # @return [Boolean]
1387
+ attr_accessor :preferred
1388
+ alias_method :preferred?, :preferred
1389
+
1390
+ def initialize(**args)
1391
+ update!(**args)
1392
+ end
1393
+
1394
+ # Update properties of this object
1395
+ def update!(**args)
1396
+ @kind = args[:kind] unless args[:kind].nil?
1397
+ @launch_url = args[:launch_url] unless args[:launch_url].nil?
1398
+ @preferred = args[:preferred] unless args[:preferred].nil?
1399
+ end
1400
+ end
1401
+
1402
+ # This is a JSON template for the Leaderboard resource.
1403
+ class Leaderboard
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ # The icon for the leaderboard.
1407
+ # Corresponds to the JSON property `iconUrl`
1408
+ # @return [String]
1409
+ attr_accessor :icon_url
1410
+
1411
+ # The leaderboard ID.
1412
+ # Corresponds to the JSON property `id`
1413
+ # @return [String]
1414
+ attr_accessor :id
1415
+
1416
+ # Indicates whether the icon image being returned is a default image, or is game-
1417
+ # provided.
1418
+ # Corresponds to the JSON property `isIconUrlDefault`
1419
+ # @return [Boolean]
1420
+ attr_accessor :is_icon_url_default
1421
+ alias_method :is_icon_url_default?, :is_icon_url_default
1422
+
1423
+ # Uniquely identifies the type of this resource. Value is always the fixed
1424
+ # string games#leaderboard.
1425
+ # Corresponds to the JSON property `kind`
1426
+ # @return [String]
1427
+ attr_accessor :kind
1428
+
1429
+ # The name of the leaderboard.
1430
+ # Corresponds to the JSON property `name`
1431
+ # @return [String]
1432
+ attr_accessor :name
1433
+
1434
+ # How scores are ordered.
1435
+ # Possible values are:
1436
+ # - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in
1437
+ # descending order.
1438
+ # - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in
1439
+ # ascending order.
1440
+ # Corresponds to the JSON property `order`
1441
+ # @return [String]
1442
+ attr_accessor :order
1443
+
1444
+ def initialize(**args)
1445
+ update!(**args)
1446
+ end
1447
+
1448
+ # Update properties of this object
1449
+ def update!(**args)
1450
+ @icon_url = args[:icon_url] unless args[:icon_url].nil?
1451
+ @id = args[:id] unless args[:id].nil?
1452
+ @is_icon_url_default = args[:is_icon_url_default] unless args[:is_icon_url_default].nil?
1453
+ @kind = args[:kind] unless args[:kind].nil?
1454
+ @name = args[:name] unless args[:name].nil?
1455
+ @order = args[:order] unless args[:order].nil?
1456
+ end
1457
+ end
1458
+
1459
+ # This is a JSON template for the Leaderboard Entry resource.
1460
+ class LeaderboardEntry
1461
+ include Google::Apis::Core::Hashable
1462
+
1463
+ # The localized string for the numerical value of this score.
1464
+ # Corresponds to the JSON property `formattedScore`
1465
+ # @return [String]
1466
+ attr_accessor :formatted_score
1467
+
1468
+ # The localized string for the rank of this score for this leaderboard.
1469
+ # Corresponds to the JSON property `formattedScoreRank`
1470
+ # @return [String]
1471
+ attr_accessor :formatted_score_rank
1472
+
1473
+ # Uniquely identifies the type of this resource. Value is always the fixed
1474
+ # string games#leaderboardEntry.
1475
+ # Corresponds to the JSON property `kind`
1476
+ # @return [String]
1477
+ attr_accessor :kind
1478
+
1479
+ # This is a JSON template for a Player resource.
1480
+ # Corresponds to the JSON property `player`
1481
+ # @return [Google::Apis::GamesV1::Player]
1482
+ attr_accessor :player
1483
+
1484
+ # The rank of this score for this leaderboard.
1485
+ # Corresponds to the JSON property `scoreRank`
1486
+ # @return [String]
1487
+ attr_accessor :score_rank
1488
+
1489
+ # Additional information about the score. Values must contain no more than 64
1490
+ # URI-safe characters as defined by section 2.3 of RFC 3986.
1491
+ # Corresponds to the JSON property `scoreTag`
1492
+ # @return [String]
1493
+ attr_accessor :score_tag
1494
+
1495
+ # The numerical value of this score.
1496
+ # Corresponds to the JSON property `scoreValue`
1497
+ # @return [String]
1498
+ attr_accessor :score_value
1499
+
1500
+ # The time span of this high score.
1501
+ # Possible values are:
1502
+ # - "ALL_TIME" - The score is an all-time high score.
1503
+ # - "WEEKLY" - The score is a weekly high score.
1504
+ # - "DAILY" - The score is a daily high score.
1505
+ # Corresponds to the JSON property `timeSpan`
1506
+ # @return [String]
1507
+ attr_accessor :time_span
1508
+
1509
+ # The timestamp at which this score was recorded, in milliseconds since the
1510
+ # epoch in UTC.
1511
+ # Corresponds to the JSON property `writeTimestampMillis`
1512
+ # @return [String]
1513
+ attr_accessor :write_timestamp_millis
1514
+
1515
+ def initialize(**args)
1516
+ update!(**args)
1517
+ end
1518
+
1519
+ # Update properties of this object
1520
+ def update!(**args)
1521
+ @formatted_score = args[:formatted_score] unless args[:formatted_score].nil?
1522
+ @formatted_score_rank = args[:formatted_score_rank] unless args[:formatted_score_rank].nil?
1523
+ @kind = args[:kind] unless args[:kind].nil?
1524
+ @player = args[:player] unless args[:player].nil?
1525
+ @score_rank = args[:score_rank] unless args[:score_rank].nil?
1526
+ @score_tag = args[:score_tag] unless args[:score_tag].nil?
1527
+ @score_value = args[:score_value] unless args[:score_value].nil?
1528
+ @time_span = args[:time_span] unless args[:time_span].nil?
1529
+ @write_timestamp_millis = args[:write_timestamp_millis] unless args[:write_timestamp_millis].nil?
1530
+ end
1531
+ end
1532
+
1533
+ # This is a JSON template for a list of leaderboard objects.
1534
+ class ListLeaderboardResponse
1535
+ include Google::Apis::Core::Hashable
1536
+
1537
+ # The leaderboards.
1538
+ # Corresponds to the JSON property `items`
1539
+ # @return [Array<Google::Apis::GamesV1::Leaderboard>]
1540
+ attr_accessor :items
1541
+
1542
+ # Uniquely identifies the type of this resource. Value is always the fixed
1543
+ # string games#leaderboardListResponse.
1544
+ # Corresponds to the JSON property `kind`
1545
+ # @return [String]
1546
+ attr_accessor :kind
1547
+
1548
+ # Token corresponding to the next page of results.
1549
+ # Corresponds to the JSON property `nextPageToken`
1550
+ # @return [String]
1551
+ attr_accessor :next_page_token
1552
+
1553
+ def initialize(**args)
1554
+ update!(**args)
1555
+ end
1556
+
1557
+ # Update properties of this object
1558
+ def update!(**args)
1559
+ @items = args[:items] unless args[:items].nil?
1560
+ @kind = args[:kind] unless args[:kind].nil?
1561
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1562
+ end
1563
+ end
1564
+
1565
+ # This is a JSON template for a score rank in a leaderboard.
1566
+ class LeaderboardScoreRank
1567
+ include Google::Apis::Core::Hashable
1568
+
1569
+ # The number of scores in the leaderboard as a string.
1570
+ # Corresponds to the JSON property `formattedNumScores`
1571
+ # @return [String]
1572
+ attr_accessor :formatted_num_scores
1573
+
1574
+ # The rank in the leaderboard as a string.
1575
+ # Corresponds to the JSON property `formattedRank`
1576
+ # @return [String]
1577
+ attr_accessor :formatted_rank
1578
+
1579
+ # Uniquely identifies the type of this resource. Value is always the fixed
1580
+ # string games#leaderboardScoreRank.
1581
+ # Corresponds to the JSON property `kind`
1582
+ # @return [String]
1583
+ attr_accessor :kind
1584
+
1585
+ # The number of scores in the leaderboard.
1586
+ # Corresponds to the JSON property `numScores`
1587
+ # @return [String]
1588
+ attr_accessor :num_scores
1589
+
1590
+ # The rank in the leaderboard.
1591
+ # Corresponds to the JSON property `rank`
1592
+ # @return [String]
1593
+ attr_accessor :rank
1594
+
1595
+ def initialize(**args)
1596
+ update!(**args)
1597
+ end
1598
+
1599
+ # Update properties of this object
1600
+ def update!(**args)
1601
+ @formatted_num_scores = args[:formatted_num_scores] unless args[:formatted_num_scores].nil?
1602
+ @formatted_rank = args[:formatted_rank] unless args[:formatted_rank].nil?
1603
+ @kind = args[:kind] unless args[:kind].nil?
1604
+ @num_scores = args[:num_scores] unless args[:num_scores].nil?
1605
+ @rank = args[:rank] unless args[:rank].nil?
1606
+ end
1607
+ end
1608
+
1609
+ # This is a JSON template for a ListScores response.
1610
+ class LeaderboardScores
1611
+ include Google::Apis::Core::Hashable
1612
+
1613
+ # The scores in the leaderboard.
1614
+ # Corresponds to the JSON property `items`
1615
+ # @return [Array<Google::Apis::GamesV1::LeaderboardEntry>]
1616
+ attr_accessor :items
1617
+
1618
+ # Uniquely identifies the type of this resource. Value is always the fixed
1619
+ # string games#leaderboardScores.
1620
+ # Corresponds to the JSON property `kind`
1621
+ # @return [String]
1622
+ attr_accessor :kind
1623
+
1624
+ # The pagination token for the next page of results.
1625
+ # Corresponds to the JSON property `nextPageToken`
1626
+ # @return [String]
1627
+ attr_accessor :next_page_token
1628
+
1629
+ # The total number of scores in the leaderboard.
1630
+ # Corresponds to the JSON property `numScores`
1631
+ # @return [String]
1632
+ attr_accessor :num_scores
1633
+
1634
+ # This is a JSON template for the Leaderboard Entry resource.
1635
+ # Corresponds to the JSON property `playerScore`
1636
+ # @return [Google::Apis::GamesV1::LeaderboardEntry]
1637
+ attr_accessor :player_score
1638
+
1639
+ # The pagination token for the previous page of results.
1640
+ # Corresponds to the JSON property `prevPageToken`
1641
+ # @return [String]
1642
+ attr_accessor :prev_page_token
1643
+
1644
+ def initialize(**args)
1645
+ update!(**args)
1646
+ end
1647
+
1648
+ # Update properties of this object
1649
+ def update!(**args)
1650
+ @items = args[:items] unless args[:items].nil?
1651
+ @kind = args[:kind] unless args[:kind].nil?
1652
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1653
+ @num_scores = args[:num_scores] unless args[:num_scores].nil?
1654
+ @player_score = args[:player_score] unless args[:player_score].nil?
1655
+ @prev_page_token = args[:prev_page_token] unless args[:prev_page_token].nil?
1656
+ end
1657
+ end
1658
+
1659
+ # This is a JSON template for the metagame config resource
1660
+ class MetagameConfig
1661
+ include Google::Apis::Core::Hashable
1662
+
1663
+ # Current version of the metagame configuration data. When this data is updated,
1664
+ # the version number will be increased by one.
1665
+ # Corresponds to the JSON property `currentVersion`
1666
+ # @return [Fixnum]
1667
+ attr_accessor :current_version
1668
+
1669
+ # Uniquely identifies the type of this resource. Value is always the fixed
1670
+ # string games#metagameConfig.
1671
+ # Corresponds to the JSON property `kind`
1672
+ # @return [String]
1673
+ attr_accessor :kind
1674
+
1675
+ # The list of player levels.
1676
+ # Corresponds to the JSON property `playerLevels`
1677
+ # @return [Array<Google::Apis::GamesV1::PlayerLevel>]
1678
+ attr_accessor :player_levels
1679
+
1680
+ def initialize(**args)
1681
+ update!(**args)
1682
+ end
1683
+
1684
+ # Update properties of this object
1685
+ def update!(**args)
1686
+ @current_version = args[:current_version] unless args[:current_version].nil?
1687
+ @kind = args[:kind] unless args[:kind].nil?
1688
+ @player_levels = args[:player_levels] unless args[:player_levels].nil?
1689
+ end
1690
+ end
1691
+
1692
+ # This is a JSON template for network diagnostics reported for a client.
1693
+ class NetworkDiagnostics
1694
+ include Google::Apis::Core::Hashable
1695
+
1696
+ # The Android network subtype.
1697
+ # Corresponds to the JSON property `androidNetworkSubtype`
1698
+ # @return [Fixnum]
1699
+ attr_accessor :android_network_subtype
1700
+
1701
+ # The Android network type.
1702
+ # Corresponds to the JSON property `androidNetworkType`
1703
+ # @return [Fixnum]
1704
+ attr_accessor :android_network_type
1705
+
1706
+ # iOS network type as defined in Reachability.h.
1707
+ # Corresponds to the JSON property `iosNetworkType`
1708
+ # @return [Fixnum]
1709
+ attr_accessor :ios_network_type
1710
+
1711
+ # Uniquely identifies the type of this resource. Value is always the fixed
1712
+ # string games#networkDiagnostics.
1713
+ # Corresponds to the JSON property `kind`
1714
+ # @return [String]
1715
+ attr_accessor :kind
1716
+
1717
+ # The MCC+MNC code for the client's network connection. On Android: http://
1718
+ # developer.android.com/reference/android/telephony/TelephonyManager.html#
1719
+ # getNetworkOperator() On iOS, see: https://developer.apple.com/library/ios/
1720
+ # documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html
1721
+ # Corresponds to the JSON property `networkOperatorCode`
1722
+ # @return [String]
1723
+ attr_accessor :network_operator_code
1724
+
1725
+ # The name of the carrier of the client's network connection. On Android: http://
1726
+ # developer.android.com/reference/android/telephony/TelephonyManager.html#
1727
+ # getNetworkOperatorName() On iOS: https://developer.apple.com/library/ios/
1728
+ # documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#/
1729
+ # /apple_ref/occ/instp/CTCarrier/carrierName
1730
+ # Corresponds to the JSON property `networkOperatorName`
1731
+ # @return [String]
1732
+ attr_accessor :network_operator_name
1733
+
1734
+ # The amount of time in milliseconds it took for the client to establish a
1735
+ # connection with the XMPP server.
1736
+ # Corresponds to the JSON property `registrationLatencyMillis`
1737
+ # @return [Fixnum]
1738
+ attr_accessor :registration_latency_millis
1739
+
1740
+ def initialize(**args)
1741
+ update!(**args)
1742
+ end
1743
+
1744
+ # Update properties of this object
1745
+ def update!(**args)
1746
+ @android_network_subtype = args[:android_network_subtype] unless args[:android_network_subtype].nil?
1747
+ @android_network_type = args[:android_network_type] unless args[:android_network_type].nil?
1748
+ @ios_network_type = args[:ios_network_type] unless args[:ios_network_type].nil?
1749
+ @kind = args[:kind] unless args[:kind].nil?
1750
+ @network_operator_code = args[:network_operator_code] unless args[:network_operator_code].nil?
1751
+ @network_operator_name = args[:network_operator_name] unless args[:network_operator_name].nil?
1752
+ @registration_latency_millis = args[:registration_latency_millis] unless args[:registration_latency_millis].nil?
1753
+ end
1754
+ end
1755
+
1756
+ # This is a JSON template for a result for a match participant.
1757
+ class ParticipantResult
1758
+ include Google::Apis::Core::Hashable
1759
+
1760
+ # Uniquely identifies the type of this resource. Value is always the fixed
1761
+ # string games#participantResult.
1762
+ # Corresponds to the JSON property `kind`
1763
+ # @return [String]
1764
+ attr_accessor :kind
1765
+
1766
+ # The ID of the participant.
1767
+ # Corresponds to the JSON property `participantId`
1768
+ # @return [String]
1769
+ attr_accessor :participant_id
1770
+
1771
+ # The placement or ranking of the participant in the match results; a number
1772
+ # from one to the number of participants in the match. Multiple participants may
1773
+ # have the same placing value in case of a type.
1774
+ # Corresponds to the JSON property `placing`
1775
+ # @return [Fixnum]
1776
+ attr_accessor :placing
1777
+
1778
+ # The result of the participant for this match.
1779
+ # Possible values are:
1780
+ # - "MATCH_RESULT_WIN" - The participant won the match.
1781
+ # - "MATCH_RESULT_LOSS" - The participant lost the match.
1782
+ # - "MATCH_RESULT_TIE" - The participant tied the match.
1783
+ # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or
1784
+ # loses this kind of game.)
1785
+ # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the
1786
+ # match.
1787
+ # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for
1788
+ # this participant.
1789
+ # Corresponds to the JSON property `result`
1790
+ # @return [String]
1791
+ attr_accessor :result
1792
+
1793
+ def initialize(**args)
1794
+ update!(**args)
1795
+ end
1796
+
1797
+ # Update properties of this object
1798
+ def update!(**args)
1799
+ @kind = args[:kind] unless args[:kind].nil?
1800
+ @participant_id = args[:participant_id] unless args[:participant_id].nil?
1801
+ @placing = args[:placing] unless args[:placing].nil?
1802
+ @result = args[:result] unless args[:result].nil?
1803
+ end
1804
+ end
1805
+
1806
+ # This is a JSON template for peer channel diagnostics.
1807
+ class PeerChannelDiagnostics
1808
+ include Google::Apis::Core::Hashable
1809
+
1810
+ # This is a JSON template for aggregate stats.
1811
+ # Corresponds to the JSON property `bytesReceived`
1812
+ # @return [Google::Apis::GamesV1::AggregateStats]
1813
+ attr_accessor :bytes_received
1814
+
1815
+ # This is a JSON template for aggregate stats.
1816
+ # Corresponds to the JSON property `bytesSent`
1817
+ # @return [Google::Apis::GamesV1::AggregateStats]
1818
+ attr_accessor :bytes_sent
1819
+
1820
+ # Uniquely identifies the type of this resource. Value is always the fixed
1821
+ # string games#peerChannelDiagnostics.
1822
+ # Corresponds to the JSON property `kind`
1823
+ # @return [String]
1824
+ attr_accessor :kind
1825
+
1826
+ # Number of messages lost.
1827
+ # Corresponds to the JSON property `numMessagesLost`
1828
+ # @return [Fixnum]
1829
+ attr_accessor :num_messages_lost
1830
+
1831
+ # Number of messages received.
1832
+ # Corresponds to the JSON property `numMessagesReceived`
1833
+ # @return [Fixnum]
1834
+ attr_accessor :num_messages_received
1835
+
1836
+ # Number of messages sent.
1837
+ # Corresponds to the JSON property `numMessagesSent`
1838
+ # @return [Fixnum]
1839
+ attr_accessor :num_messages_sent
1840
+
1841
+ # Number of send failures.
1842
+ # Corresponds to the JSON property `numSendFailures`
1843
+ # @return [Fixnum]
1844
+ attr_accessor :num_send_failures
1845
+
1846
+ # This is a JSON template for aggregate stats.
1847
+ # Corresponds to the JSON property `roundtripLatencyMillis`
1848
+ # @return [Google::Apis::GamesV1::AggregateStats]
1849
+ attr_accessor :roundtrip_latency_millis
1850
+
1851
+ def initialize(**args)
1852
+ update!(**args)
1853
+ end
1854
+
1855
+ # Update properties of this object
1856
+ def update!(**args)
1857
+ @bytes_received = args[:bytes_received] unless args[:bytes_received].nil?
1858
+ @bytes_sent = args[:bytes_sent] unless args[:bytes_sent].nil?
1859
+ @kind = args[:kind] unless args[:kind].nil?
1860
+ @num_messages_lost = args[:num_messages_lost] unless args[:num_messages_lost].nil?
1861
+ @num_messages_received = args[:num_messages_received] unless args[:num_messages_received].nil?
1862
+ @num_messages_sent = args[:num_messages_sent] unless args[:num_messages_sent].nil?
1863
+ @num_send_failures = args[:num_send_failures] unless args[:num_send_failures].nil?
1864
+ @roundtrip_latency_millis = args[:roundtrip_latency_millis] unless args[:roundtrip_latency_millis].nil?
1865
+ end
1866
+ end
1867
+
1868
+ # This is a JSON template for peer session diagnostics.
1869
+ class PeerSessionDiagnostics
1870
+ include Google::Apis::Core::Hashable
1871
+
1872
+ # Connected time in milliseconds.
1873
+ # Corresponds to the JSON property `connectedTimestampMillis`
1874
+ # @return [String]
1875
+ attr_accessor :connected_timestamp_millis
1876
+
1877
+ # Uniquely identifies the type of this resource. Value is always the fixed
1878
+ # string games#peerSessionDiagnostics.
1879
+ # Corresponds to the JSON property `kind`
1880
+ # @return [String]
1881
+ attr_accessor :kind
1882
+
1883
+ # The participant ID of the peer.
1884
+ # Corresponds to the JSON property `participantId`
1885
+ # @return [String]
1886
+ attr_accessor :participant_id
1887
+
1888
+ # This is a JSON template for peer channel diagnostics.
1889
+ # Corresponds to the JSON property `reliableChannel`
1890
+ # @return [Google::Apis::GamesV1::PeerChannelDiagnostics]
1891
+ attr_accessor :reliable_channel
1892
+
1893
+ # This is a JSON template for peer channel diagnostics.
1894
+ # Corresponds to the JSON property `unreliableChannel`
1895
+ # @return [Google::Apis::GamesV1::PeerChannelDiagnostics]
1896
+ attr_accessor :unreliable_channel
1897
+
1898
+ def initialize(**args)
1899
+ update!(**args)
1900
+ end
1901
+
1902
+ # Update properties of this object
1903
+ def update!(**args)
1904
+ @connected_timestamp_millis = args[:connected_timestamp_millis] unless args[:connected_timestamp_millis].nil?
1905
+ @kind = args[:kind] unless args[:kind].nil?
1906
+ @participant_id = args[:participant_id] unless args[:participant_id].nil?
1907
+ @reliable_channel = args[:reliable_channel] unless args[:reliable_channel].nil?
1908
+ @unreliable_channel = args[:unreliable_channel] unless args[:unreliable_channel].nil?
1909
+ end
1910
+ end
1911
+
1912
+ # This is a JSON template for metadata about a player playing a game with the
1913
+ # currently authenticated user.
1914
+ class Played
1915
+ include Google::Apis::Core::Hashable
1916
+
1917
+ # True if the player was auto-matched with the currently authenticated user.
1918
+ # Corresponds to the JSON property `autoMatched`
1919
+ # @return [Boolean]
1920
+ attr_accessor :auto_matched
1921
+ alias_method :auto_matched?, :auto_matched
1922
+
1923
+ # Uniquely identifies the type of this resource. Value is always the fixed
1924
+ # string games#played.
1925
+ # Corresponds to the JSON property `kind`
1926
+ # @return [String]
1927
+ attr_accessor :kind
1928
+
1929
+ # The last time the player played the game in milliseconds since the epoch in
1930
+ # UTC.
1931
+ # Corresponds to the JSON property `timeMillis`
1932
+ # @return [String]
1933
+ attr_accessor :time_millis
1934
+
1935
+ def initialize(**args)
1936
+ update!(**args)
1937
+ end
1938
+
1939
+ # Update properties of this object
1940
+ def update!(**args)
1941
+ @auto_matched = args[:auto_matched] unless args[:auto_matched].nil?
1942
+ @kind = args[:kind] unless args[:kind].nil?
1943
+ @time_millis = args[:time_millis] unless args[:time_millis].nil?
1944
+ end
1945
+ end
1946
+
1947
+ # This is a JSON template for a Player resource.
1948
+ class Player
1949
+ include Google::Apis::Core::Hashable
1950
+
1951
+ # The base URL for the image that represents the player.
1952
+ # Corresponds to the JSON property `avatarImageUrl`
1953
+ # @return [String]
1954
+ attr_accessor :avatar_image_url
1955
+
1956
+ # The name to display for the player.
1957
+ # Corresponds to the JSON property `displayName`
1958
+ # @return [String]
1959
+ attr_accessor :display_name
1960
+
1961
+ # This is a JSON template for 1P/3P metadata about the player's experience.
1962
+ # Corresponds to the JSON property `experienceInfo`
1963
+ # @return [Google::Apis::GamesV1::PlayerExperienceInfo]
1964
+ attr_accessor :experience_info
1965
+
1966
+ # Uniquely identifies the type of this resource. Value is always the fixed
1967
+ # string games#player.
1968
+ # Corresponds to the JSON property `kind`
1969
+ # @return [String]
1970
+ attr_accessor :kind
1971
+
1972
+ # This is a JSON template for metadata about a player playing a game with the
1973
+ # currently authenticated user.
1974
+ # Corresponds to the JSON property `lastPlayedWith`
1975
+ # @return [Google::Apis::GamesV1::Played]
1976
+ attr_accessor :last_played_with
1977
+
1978
+ # An object representation of the individual components of the player's name.
1979
+ # For some players, these fields may not be present.
1980
+ # Corresponds to the JSON property `name`
1981
+ # @return [Google::Apis::GamesV1::Player::Name]
1982
+ attr_accessor :name
1983
+
1984
+ # The ID of the player.
1985
+ # Corresponds to the JSON property `playerId`
1986
+ # @return [String]
1987
+ attr_accessor :player_id
1988
+
1989
+ # The player's title rewarded for their game activities.
1990
+ # Corresponds to the JSON property `title`
1991
+ # @return [String]
1992
+ attr_accessor :title
1993
+
1994
+ def initialize(**args)
1995
+ update!(**args)
1996
+ end
1997
+
1998
+ # Update properties of this object
1999
+ def update!(**args)
2000
+ @avatar_image_url = args[:avatar_image_url] unless args[:avatar_image_url].nil?
2001
+ @display_name = args[:display_name] unless args[:display_name].nil?
2002
+ @experience_info = args[:experience_info] unless args[:experience_info].nil?
2003
+ @kind = args[:kind] unless args[:kind].nil?
2004
+ @last_played_with = args[:last_played_with] unless args[:last_played_with].nil?
2005
+ @name = args[:name] unless args[:name].nil?
2006
+ @player_id = args[:player_id] unless args[:player_id].nil?
2007
+ @title = args[:title] unless args[:title].nil?
2008
+ end
2009
+
2010
+ # An object representation of the individual components of the player's name.
2011
+ # For some players, these fields may not be present.
2012
+ class Name
2013
+ include Google::Apis::Core::Hashable
2014
+
2015
+ # The family name of this player. In some places, this is known as the last name.
2016
+ # Corresponds to the JSON property `familyName`
2017
+ # @return [String]
2018
+ attr_accessor :family_name
2019
+
2020
+ # The given name of this player. In some places, this is known as the first name.
2021
+ # Corresponds to the JSON property `givenName`
2022
+ # @return [String]
2023
+ attr_accessor :given_name
2024
+
2025
+ def initialize(**args)
2026
+ update!(**args)
2027
+ end
2028
+
2029
+ # Update properties of this object
2030
+ def update!(**args)
2031
+ @family_name = args[:family_name] unless args[:family_name].nil?
2032
+ @given_name = args[:given_name] unless args[:given_name].nil?
2033
+ end
2034
+ end
2035
+ end
2036
+
2037
+ # This is a JSON template for an achievement object.
2038
+ class PlayerAchievement
2039
+ include Google::Apis::Core::Hashable
2040
+
2041
+ # The state of the achievement.
2042
+ # Possible values are:
2043
+ # - "HIDDEN" - Achievement is hidden.
2044
+ # - "REVEALED" - Achievement is revealed.
2045
+ # - "UNLOCKED" - Achievement is unlocked.
2046
+ # Corresponds to the JSON property `achievementState`
2047
+ # @return [String]
2048
+ attr_accessor :achievement_state
2049
+
2050
+ # The current steps for an incremental achievement.
2051
+ # Corresponds to the JSON property `currentSteps`
2052
+ # @return [Fixnum]
2053
+ attr_accessor :current_steps
2054
+
2055
+ # Experience points earned for the achievement. This field is absent for
2056
+ # achievements that have not yet been unlocked and 0 for achievements that have
2057
+ # been unlocked by testers but that are unpublished.
2058
+ # Corresponds to the JSON property `experiencePoints`
2059
+ # @return [String]
2060
+ attr_accessor :experience_points
2061
+
2062
+ # The current steps for an incremental achievement as a string.
2063
+ # Corresponds to the JSON property `formattedCurrentStepsString`
2064
+ # @return [String]
2065
+ attr_accessor :formatted_current_steps_string
2066
+
2067
+ # The ID of the achievement.
2068
+ # Corresponds to the JSON property `id`
2069
+ # @return [String]
2070
+ attr_accessor :id
2071
+
2072
+ # Uniquely identifies the type of this resource. Value is always the fixed
2073
+ # string games#playerAchievement.
2074
+ # Corresponds to the JSON property `kind`
2075
+ # @return [String]
2076
+ attr_accessor :kind
2077
+
2078
+ # The timestamp of the last modification to this achievement's state.
2079
+ # Corresponds to the JSON property `lastUpdatedTimestamp`
2080
+ # @return [String]
2081
+ attr_accessor :last_updated_timestamp
2082
+
2083
+ def initialize(**args)
2084
+ update!(**args)
2085
+ end
2086
+
2087
+ # Update properties of this object
2088
+ def update!(**args)
2089
+ @achievement_state = args[:achievement_state] unless args[:achievement_state].nil?
2090
+ @current_steps = args[:current_steps] unless args[:current_steps].nil?
2091
+ @experience_points = args[:experience_points] unless args[:experience_points].nil?
2092
+ @formatted_current_steps_string = args[:formatted_current_steps_string] unless args[:formatted_current_steps_string].nil?
2093
+ @id = args[:id] unless args[:id].nil?
2094
+ @kind = args[:kind] unless args[:kind].nil?
2095
+ @last_updated_timestamp = args[:last_updated_timestamp] unless args[:last_updated_timestamp].nil?
2096
+ end
2097
+ end
2098
+
2099
+ # This is a JSON template for a list of achievement objects.
2100
+ class ListPlayerAchievementResponse
2101
+ include Google::Apis::Core::Hashable
2102
+
2103
+ # The achievements.
2104
+ # Corresponds to the JSON property `items`
2105
+ # @return [Array<Google::Apis::GamesV1::PlayerAchievement>]
2106
+ attr_accessor :items
2107
+
2108
+ # Uniquely identifies the type of this resource. Value is always the fixed
2109
+ # string games#playerAchievementListResponse.
2110
+ # Corresponds to the JSON property `kind`
2111
+ # @return [String]
2112
+ attr_accessor :kind
2113
+
2114
+ # Token corresponding to the next page of results.
2115
+ # Corresponds to the JSON property `nextPageToken`
2116
+ # @return [String]
2117
+ attr_accessor :next_page_token
2118
+
2119
+ def initialize(**args)
2120
+ update!(**args)
2121
+ end
2122
+
2123
+ # Update properties of this object
2124
+ def update!(**args)
2125
+ @items = args[:items] unless args[:items].nil?
2126
+ @kind = args[:kind] unless args[:kind].nil?
2127
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2128
+ end
2129
+ end
2130
+
2131
+ # This is a JSON template for an event status resource.
2132
+ class PlayerEvent
2133
+ include Google::Apis::Core::Hashable
2134
+
2135
+ # The ID of the event definition.
2136
+ # Corresponds to the JSON property `definitionId`
2137
+ # @return [String]
2138
+ attr_accessor :definition_id
2139
+
2140
+ # The current number of times this event has occurred, as a string. The
2141
+ # formatting of this string depends on the configuration of your event in the
2142
+ # Play Games Developer Console.
2143
+ # Corresponds to the JSON property `formattedNumEvents`
2144
+ # @return [String]
2145
+ attr_accessor :formatted_num_events
2146
+
2147
+ # Uniquely identifies the type of this resource. Value is always the fixed
2148
+ # string games#playerEvent.
2149
+ # Corresponds to the JSON property `kind`
2150
+ # @return [String]
2151
+ attr_accessor :kind
2152
+
2153
+ # The current number of times this event has occurred.
2154
+ # Corresponds to the JSON property `numEvents`
2155
+ # @return [String]
2156
+ attr_accessor :num_events
2157
+
2158
+ # The ID of the player.
2159
+ # Corresponds to the JSON property `playerId`
2160
+ # @return [String]
2161
+ attr_accessor :player_id
2162
+
2163
+ def initialize(**args)
2164
+ update!(**args)
2165
+ end
2166
+
2167
+ # Update properties of this object
2168
+ def update!(**args)
2169
+ @definition_id = args[:definition_id] unless args[:definition_id].nil?
2170
+ @formatted_num_events = args[:formatted_num_events] unless args[:formatted_num_events].nil?
2171
+ @kind = args[:kind] unless args[:kind].nil?
2172
+ @num_events = args[:num_events] unless args[:num_events].nil?
2173
+ @player_id = args[:player_id] unless args[:player_id].nil?
2174
+ end
2175
+ end
2176
+
2177
+ # This is a JSON template for a ListByPlayer response.
2178
+ class ListPlayerEventResponse
2179
+ include Google::Apis::Core::Hashable
2180
+
2181
+ # The player events.
2182
+ # Corresponds to the JSON property `items`
2183
+ # @return [Array<Google::Apis::GamesV1::PlayerEvent>]
2184
+ attr_accessor :items
2185
+
2186
+ # Uniquely identifies the type of this resource. Value is always the fixed
2187
+ # string games#playerEventListResponse.
2188
+ # Corresponds to the JSON property `kind`
2189
+ # @return [String]
2190
+ attr_accessor :kind
2191
+
2192
+ # The pagination token for the next page of results.
2193
+ # Corresponds to the JSON property `nextPageToken`
2194
+ # @return [String]
2195
+ attr_accessor :next_page_token
2196
+
2197
+ def initialize(**args)
2198
+ update!(**args)
2199
+ end
2200
+
2201
+ # Update properties of this object
2202
+ def update!(**args)
2203
+ @items = args[:items] unless args[:items].nil?
2204
+ @kind = args[:kind] unless args[:kind].nil?
2205
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2206
+ end
2207
+ end
2208
+
2209
+ # This is a JSON template for 1P/3P metadata about the player's experience.
2210
+ class PlayerExperienceInfo
2211
+ include Google::Apis::Core::Hashable
2212
+
2213
+ # The current number of experience points for the player.
2214
+ # Corresponds to the JSON property `currentExperiencePoints`
2215
+ # @return [String]
2216
+ attr_accessor :current_experience_points
2217
+
2218
+ # This is a JSON template for 1P/3P metadata about a user's level.
2219
+ # Corresponds to the JSON property `currentLevel`
2220
+ # @return [Google::Apis::GamesV1::PlayerLevel]
2221
+ attr_accessor :current_level
2222
+
2223
+ # Uniquely identifies the type of this resource. Value is always the fixed
2224
+ # string games#playerExperienceInfo.
2225
+ # Corresponds to the JSON property `kind`
2226
+ # @return [String]
2227
+ attr_accessor :kind
2228
+
2229
+ # The timestamp when the player was leveled up, in millis since Unix epoch UTC.
2230
+ # Corresponds to the JSON property `lastLevelUpTimestampMillis`
2231
+ # @return [String]
2232
+ attr_accessor :last_level_up_timestamp_millis
2233
+
2234
+ # This is a JSON template for 1P/3P metadata about a user's level.
2235
+ # Corresponds to the JSON property `nextLevel`
2236
+ # @return [Google::Apis::GamesV1::PlayerLevel]
2237
+ attr_accessor :next_level
2238
+
2239
+ def initialize(**args)
2240
+ update!(**args)
2241
+ end
2242
+
2243
+ # Update properties of this object
2244
+ def update!(**args)
2245
+ @current_experience_points = args[:current_experience_points] unless args[:current_experience_points].nil?
2246
+ @current_level = args[:current_level] unless args[:current_level].nil?
2247
+ @kind = args[:kind] unless args[:kind].nil?
2248
+ @last_level_up_timestamp_millis = args[:last_level_up_timestamp_millis] unless args[:last_level_up_timestamp_millis].nil?
2249
+ @next_level = args[:next_level] unless args[:next_level].nil?
2250
+ end
2251
+ end
2252
+
2253
+ # This is a JSON template for a player leaderboard score object.
2254
+ class PlayerLeaderboardScore
2255
+ include Google::Apis::Core::Hashable
2256
+
2257
+ # Uniquely identifies the type of this resource. Value is always the fixed
2258
+ # string games#playerLeaderboardScore.
2259
+ # Corresponds to the JSON property `kind`
2260
+ # @return [String]
2261
+ attr_accessor :kind
2262
+
2263
+ # The ID of the leaderboard this score is in.
2264
+ # Corresponds to the JSON property `leaderboard_id`
2265
+ # @return [String]
2266
+ attr_accessor :leaderboard_id
2267
+
2268
+ # This is a JSON template for a score rank in a leaderboard.
2269
+ # Corresponds to the JSON property `publicRank`
2270
+ # @return [Google::Apis::GamesV1::LeaderboardScoreRank]
2271
+ attr_accessor :public_rank
2272
+
2273
+ # The formatted value of this score.
2274
+ # Corresponds to the JSON property `scoreString`
2275
+ # @return [String]
2276
+ attr_accessor :score_string
2277
+
2278
+ # Additional information about the score. Values must contain no more than 64
2279
+ # URI-safe characters as defined by section 2.3 of RFC 3986.
2280
+ # Corresponds to the JSON property `scoreTag`
2281
+ # @return [String]
2282
+ attr_accessor :score_tag
2283
+
2284
+ # The numerical value of this score.
2285
+ # Corresponds to the JSON property `scoreValue`
2286
+ # @return [String]
2287
+ attr_accessor :score_value
2288
+
2289
+ # This is a JSON template for a score rank in a leaderboard.
2290
+ # Corresponds to the JSON property `socialRank`
2291
+ # @return [Google::Apis::GamesV1::LeaderboardScoreRank]
2292
+ attr_accessor :social_rank
2293
+
2294
+ # The time span of this score.
2295
+ # Possible values are:
2296
+ # - "ALL_TIME" - The score is an all-time score.
2297
+ # - "WEEKLY" - The score is a weekly score.
2298
+ # - "DAILY" - The score is a daily score.
2299
+ # Corresponds to the JSON property `timeSpan`
2300
+ # @return [String]
2301
+ attr_accessor :time_span
2302
+
2303
+ # The timestamp at which this score was recorded, in milliseconds since the
2304
+ # epoch in UTC.
2305
+ # Corresponds to the JSON property `writeTimestamp`
2306
+ # @return [String]
2307
+ attr_accessor :write_timestamp
2308
+
2309
+ def initialize(**args)
2310
+ update!(**args)
2311
+ end
2312
+
2313
+ # Update properties of this object
2314
+ def update!(**args)
2315
+ @kind = args[:kind] unless args[:kind].nil?
2316
+ @leaderboard_id = args[:leaderboard_id] unless args[:leaderboard_id].nil?
2317
+ @public_rank = args[:public_rank] unless args[:public_rank].nil?
2318
+ @score_string = args[:score_string] unless args[:score_string].nil?
2319
+ @score_tag = args[:score_tag] unless args[:score_tag].nil?
2320
+ @score_value = args[:score_value] unless args[:score_value].nil?
2321
+ @social_rank = args[:social_rank] unless args[:social_rank].nil?
2322
+ @time_span = args[:time_span] unless args[:time_span].nil?
2323
+ @write_timestamp = args[:write_timestamp] unless args[:write_timestamp].nil?
2324
+ end
2325
+ end
2326
+
2327
+ # This is a JSON template for a list of player leaderboard scores.
2328
+ class ListPlayerLeaderboardScoreResponse
2329
+ include Google::Apis::Core::Hashable
2330
+
2331
+ # The leaderboard scores.
2332
+ # Corresponds to the JSON property `items`
2333
+ # @return [Array<Google::Apis::GamesV1::PlayerLeaderboardScore>]
2334
+ attr_accessor :items
2335
+
2336
+ # Uniquely identifies the type of this resource. Value is always the fixed
2337
+ # string games#playerLeaderboardScoreListResponse.
2338
+ # Corresponds to the JSON property `kind`
2339
+ # @return [String]
2340
+ attr_accessor :kind
2341
+
2342
+ # The pagination token for the next page of results.
2343
+ # Corresponds to the JSON property `nextPageToken`
2344
+ # @return [String]
2345
+ attr_accessor :next_page_token
2346
+
2347
+ # This is a JSON template for a Player resource.
2348
+ # Corresponds to the JSON property `player`
2349
+ # @return [Google::Apis::GamesV1::Player]
2350
+ attr_accessor :player
2351
+
2352
+ def initialize(**args)
2353
+ update!(**args)
2354
+ end
2355
+
2356
+ # Update properties of this object
2357
+ def update!(**args)
2358
+ @items = args[:items] unless args[:items].nil?
2359
+ @kind = args[:kind] unless args[:kind].nil?
2360
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2361
+ @player = args[:player] unless args[:player].nil?
2362
+ end
2363
+ end
2364
+
2365
+ # This is a JSON template for 1P/3P metadata about a user's level.
2366
+ class PlayerLevel
2367
+ include Google::Apis::Core::Hashable
2368
+
2369
+ # Uniquely identifies the type of this resource. Value is always the fixed
2370
+ # string games#playerLevel.
2371
+ # Corresponds to the JSON property `kind`
2372
+ # @return [String]
2373
+ attr_accessor :kind
2374
+
2375
+ # The level for the user.
2376
+ # Corresponds to the JSON property `level`
2377
+ # @return [Fixnum]
2378
+ attr_accessor :level
2379
+
2380
+ # The maximum experience points for this level.
2381
+ # Corresponds to the JSON property `maxExperiencePoints`
2382
+ # @return [String]
2383
+ attr_accessor :max_experience_points
2384
+
2385
+ # The minimum experience points for this level.
2386
+ # Corresponds to the JSON property `minExperiencePoints`
2387
+ # @return [String]
2388
+ attr_accessor :min_experience_points
2389
+
2390
+ def initialize(**args)
2391
+ update!(**args)
2392
+ end
2393
+
2394
+ # Update properties of this object
2395
+ def update!(**args)
2396
+ @kind = args[:kind] unless args[:kind].nil?
2397
+ @level = args[:level] unless args[:level].nil?
2398
+ @max_experience_points = args[:max_experience_points] unless args[:max_experience_points].nil?
2399
+ @min_experience_points = args[:min_experience_points] unless args[:min_experience_points].nil?
2400
+ end
2401
+ end
2402
+
2403
+ # This is a JSON template for a third party player list response.
2404
+ class ListPlayerResponse
2405
+ include Google::Apis::Core::Hashable
2406
+
2407
+ # The players.
2408
+ # Corresponds to the JSON property `items`
2409
+ # @return [Array<Google::Apis::GamesV1::Player>]
2410
+ attr_accessor :items
2411
+
2412
+ # Uniquely identifies the type of this resource. Value is always the fixed
2413
+ # string games#playerListResponse.
2414
+ # Corresponds to the JSON property `kind`
2415
+ # @return [String]
2416
+ attr_accessor :kind
2417
+
2418
+ # Token corresponding to the next page of results.
2419
+ # Corresponds to the JSON property `nextPageToken`
2420
+ # @return [String]
2421
+ attr_accessor :next_page_token
2422
+
2423
+ def initialize(**args)
2424
+ update!(**args)
2425
+ end
2426
+
2427
+ # Update properties of this object
2428
+ def update!(**args)
2429
+ @items = args[:items] unless args[:items].nil?
2430
+ @kind = args[:kind] unless args[:kind].nil?
2431
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2432
+ end
2433
+ end
2434
+
2435
+ # This is a JSON template for a player score.
2436
+ class PlayerScore
2437
+ include Google::Apis::Core::Hashable
2438
+
2439
+ # The formatted score for this player score.
2440
+ # Corresponds to the JSON property `formattedScore`
2441
+ # @return [String]
2442
+ attr_accessor :formatted_score
2443
+
2444
+ # Uniquely identifies the type of this resource. Value is always the fixed
2445
+ # string games#playerScore.
2446
+ # Corresponds to the JSON property `kind`
2447
+ # @return [String]
2448
+ attr_accessor :kind
2449
+
2450
+ # The numerical value for this player score.
2451
+ # Corresponds to the JSON property `score`
2452
+ # @return [String]
2453
+ attr_accessor :score
2454
+
2455
+ # Additional information about this score. Values will contain no more than 64
2456
+ # URI-safe characters as defined by section 2.3 of RFC 3986.
2457
+ # Corresponds to the JSON property `scoreTag`
2458
+ # @return [String]
2459
+ attr_accessor :score_tag
2460
+
2461
+ # The time span for this player score.
2462
+ # Possible values are:
2463
+ # - "ALL_TIME" - The score is an all-time score.
2464
+ # - "WEEKLY" - The score is a weekly score.
2465
+ # - "DAILY" - The score is a daily score.
2466
+ # Corresponds to the JSON property `timeSpan`
2467
+ # @return [String]
2468
+ attr_accessor :time_span
2469
+
2470
+ def initialize(**args)
2471
+ update!(**args)
2472
+ end
2473
+
2474
+ # Update properties of this object
2475
+ def update!(**args)
2476
+ @formatted_score = args[:formatted_score] unless args[:formatted_score].nil?
2477
+ @kind = args[:kind] unless args[:kind].nil?
2478
+ @score = args[:score] unless args[:score].nil?
2479
+ @score_tag = args[:score_tag] unless args[:score_tag].nil?
2480
+ @time_span = args[:time_span] unless args[:time_span].nil?
2481
+ end
2482
+ end
2483
+
2484
+ # This is a JSON template for a list of score submission statuses.
2485
+ class ListPlayerScoreResponse
2486
+ include Google::Apis::Core::Hashable
2487
+
2488
+ # Uniquely identifies the type of this resource. Value is always the fixed
2489
+ # string games#playerScoreListResponse.
2490
+ # Corresponds to the JSON property `kind`
2491
+ # @return [String]
2492
+ attr_accessor :kind
2493
+
2494
+ # The score submissions statuses.
2495
+ # Corresponds to the JSON property `submittedScores`
2496
+ # @return [Array<Google::Apis::GamesV1::PlayerScoreResponse>]
2497
+ attr_accessor :submitted_scores
2498
+
2499
+ def initialize(**args)
2500
+ update!(**args)
2501
+ end
2502
+
2503
+ # Update properties of this object
2504
+ def update!(**args)
2505
+ @kind = args[:kind] unless args[:kind].nil?
2506
+ @submitted_scores = args[:submitted_scores] unless args[:submitted_scores].nil?
2507
+ end
2508
+ end
2509
+
2510
+ # This is a JSON template for a list of leaderboard entry resources.
2511
+ class PlayerScoreResponse
2512
+ include Google::Apis::Core::Hashable
2513
+
2514
+ # The time spans where the submitted score is better than the existing score for
2515
+ # that time span.
2516
+ # Possible values are:
2517
+ # - "ALL_TIME" - The score is an all-time score.
2518
+ # - "WEEKLY" - The score is a weekly score.
2519
+ # - "DAILY" - The score is a daily score.
2520
+ # Corresponds to the JSON property `beatenScoreTimeSpans`
2521
+ # @return [Array<String>]
2522
+ attr_accessor :beaten_score_time_spans
2523
+
2524
+ # The formatted value of the submitted score.
2525
+ # Corresponds to the JSON property `formattedScore`
2526
+ # @return [String]
2527
+ attr_accessor :formatted_score
2528
+
2529
+ # Uniquely identifies the type of this resource. Value is always the fixed
2530
+ # string games#playerScoreResponse.
2531
+ # Corresponds to the JSON property `kind`
2532
+ # @return [String]
2533
+ attr_accessor :kind
2534
+
2535
+ # The leaderboard ID that this score was submitted to.
2536
+ # Corresponds to the JSON property `leaderboardId`
2537
+ # @return [String]
2538
+ attr_accessor :leaderboard_id
2539
+
2540
+ # Additional information about this score. Values will contain no more than 64
2541
+ # URI-safe characters as defined by section 2.3 of RFC 3986.
2542
+ # Corresponds to the JSON property `scoreTag`
2543
+ # @return [String]
2544
+ attr_accessor :score_tag
2545
+
2546
+ # The scores in time spans that have not been beaten. As an example, the
2547
+ # submitted score may be better than the player's DAILY score, but not better
2548
+ # than the player's scores for the WEEKLY or ALL_TIME time spans.
2549
+ # Corresponds to the JSON property `unbeatenScores`
2550
+ # @return [Array<Google::Apis::GamesV1::PlayerScore>]
2551
+ attr_accessor :unbeaten_scores
2552
+
2553
+ def initialize(**args)
2554
+ update!(**args)
2555
+ end
2556
+
2557
+ # Update properties of this object
2558
+ def update!(**args)
2559
+ @beaten_score_time_spans = args[:beaten_score_time_spans] unless args[:beaten_score_time_spans].nil?
2560
+ @formatted_score = args[:formatted_score] unless args[:formatted_score].nil?
2561
+ @kind = args[:kind] unless args[:kind].nil?
2562
+ @leaderboard_id = args[:leaderboard_id] unless args[:leaderboard_id].nil?
2563
+ @score_tag = args[:score_tag] unless args[:score_tag].nil?
2564
+ @unbeaten_scores = args[:unbeaten_scores] unless args[:unbeaten_scores].nil?
2565
+ end
2566
+ end
2567
+
2568
+ # This is a JSON template for a list of score submission requests
2569
+ class PlayerScoreSubmissionList
2570
+ include Google::Apis::Core::Hashable
2571
+
2572
+ # Uniquely identifies the type of this resource. Value is always the fixed
2573
+ # string games#playerScoreSubmissionList.
2574
+ # Corresponds to the JSON property `kind`
2575
+ # @return [String]
2576
+ attr_accessor :kind
2577
+
2578
+ # The score submissions.
2579
+ # Corresponds to the JSON property `scores`
2580
+ # @return [Array<Google::Apis::GamesV1::ScoreSubmission>]
2581
+ attr_accessor :scores
2582
+
2583
+ def initialize(**args)
2584
+ update!(**args)
2585
+ end
2586
+
2587
+ # Update properties of this object
2588
+ def update!(**args)
2589
+ @kind = args[:kind] unless args[:kind].nil?
2590
+ @scores = args[:scores] unless args[:scores].nil?
2591
+ end
2592
+ end
2593
+
2594
+ # This is a JSON template for a push token resource.
2595
+ class PushToken
2596
+ include Google::Apis::Core::Hashable
2597
+
2598
+ # The revision of the client SDK used by your application, in the same format
2599
+ # that's used by revisions.check. Used to send backward compatible messages.
2600
+ # Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
2601
+ #
2602
+ # - IOS - Push token is for iOS
2603
+ # Corresponds to the JSON property `clientRevision`
2604
+ # @return [String]
2605
+ attr_accessor :client_revision
2606
+
2607
+ # This is a JSON template for a push token ID resource.
2608
+ # Corresponds to the JSON property `id`
2609
+ # @return [Google::Apis::GamesV1::PushTokenId]
2610
+ attr_accessor :id
2611
+
2612
+ # Uniquely identifies the type of this resource. Value is always the fixed
2613
+ # string games#pushToken.
2614
+ # Corresponds to the JSON property `kind`
2615
+ # @return [String]
2616
+ attr_accessor :kind
2617
+
2618
+ # The preferred language for notifications that are sent using this token.
2619
+ # Corresponds to the JSON property `language`
2620
+ # @return [String]
2621
+ attr_accessor :language
2622
+
2623
+ def initialize(**args)
2624
+ update!(**args)
2625
+ end
2626
+
2627
+ # Update properties of this object
2628
+ def update!(**args)
2629
+ @client_revision = args[:client_revision] unless args[:client_revision].nil?
2630
+ @id = args[:id] unless args[:id].nil?
2631
+ @kind = args[:kind] unless args[:kind].nil?
2632
+ @language = args[:language] unless args[:language].nil?
2633
+ end
2634
+ end
2635
+
2636
+ # This is a JSON template for a push token ID resource.
2637
+ class PushTokenId
2638
+ include Google::Apis::Core::Hashable
2639
+
2640
+ # A push token ID for iOS devices.
2641
+ # Corresponds to the JSON property `ios`
2642
+ # @return [Google::Apis::GamesV1::PushTokenId::Ios]
2643
+ attr_accessor :ios
2644
+
2645
+ # Uniquely identifies the type of this resource. Value is always the fixed
2646
+ # string games#pushTokenId.
2647
+ # Corresponds to the JSON property `kind`
2648
+ # @return [String]
2649
+ attr_accessor :kind
2650
+
2651
+ def initialize(**args)
2652
+ update!(**args)
2653
+ end
2654
+
2655
+ # Update properties of this object
2656
+ def update!(**args)
2657
+ @ios = args[:ios] unless args[:ios].nil?
2658
+ @kind = args[:kind] unless args[:kind].nil?
2659
+ end
2660
+
2661
+ # A push token ID for iOS devices.
2662
+ class Ios
2663
+ include Google::Apis::Core::Hashable
2664
+
2665
+ # Device token supplied by an iOS system call to register for remote
2666
+ # notifications. Encode this field as web-safe base64.
2667
+ # Corresponds to the JSON property `apns_device_token`
2668
+ # @return [String]
2669
+ attr_accessor :apns_device_token
2670
+
2671
+ # Indicates whether this token should be used for the production or sandbox APNS
2672
+ # server.
2673
+ # Corresponds to the JSON property `apns_environment`
2674
+ # @return [String]
2675
+ attr_accessor :apns_environment
2676
+
2677
+ def initialize(**args)
2678
+ update!(**args)
2679
+ end
2680
+
2681
+ # Update properties of this object
2682
+ def update!(**args)
2683
+ @apns_device_token = args[:apns_device_token] unless args[:apns_device_token].nil?
2684
+ @apns_environment = args[:apns_environment] unless args[:apns_environment].nil?
2685
+ end
2686
+ end
2687
+ end
2688
+
2689
+ # This is a JSON template for a Quest resource.
2690
+ class Quest
2691
+ include Google::Apis::Core::Hashable
2692
+
2693
+ # The timestamp at which the user accepted the quest in milliseconds since the
2694
+ # epoch in UTC. Only present if the player has accepted the quest.
2695
+ # Corresponds to the JSON property `acceptedTimestampMillis`
2696
+ # @return [String]
2697
+ attr_accessor :accepted_timestamp_millis
2698
+
2699
+ # The ID of the application this quest is part of.
2700
+ # Corresponds to the JSON property `applicationId`
2701
+ # @return [String]
2702
+ attr_accessor :application_id
2703
+
2704
+ # The banner image URL for the quest.
2705
+ # Corresponds to the JSON property `bannerUrl`
2706
+ # @return [String]
2707
+ attr_accessor :banner_url
2708
+
2709
+ # The description of the quest.
2710
+ # Corresponds to the JSON property `description`
2711
+ # @return [String]
2712
+ attr_accessor :description
2713
+
2714
+ # The timestamp at which the quest ceases to be active in milliseconds since the
2715
+ # epoch in UTC.
2716
+ # Corresponds to the JSON property `endTimestampMillis`
2717
+ # @return [String]
2718
+ attr_accessor :end_timestamp_millis
2719
+
2720
+ # The icon image URL for the quest.
2721
+ # Corresponds to the JSON property `iconUrl`
2722
+ # @return [String]
2723
+ attr_accessor :icon_url
2724
+
2725
+ # The ID of the quest.
2726
+ # Corresponds to the JSON property `id`
2727
+ # @return [String]
2728
+ attr_accessor :id
2729
+
2730
+ # Indicates whether the banner image being returned is a default image, or is
2731
+ # game-provided.
2732
+ # Corresponds to the JSON property `isDefaultBannerUrl`
2733
+ # @return [Boolean]
2734
+ attr_accessor :is_default_banner_url
2735
+ alias_method :is_default_banner_url?, :is_default_banner_url
2736
+
2737
+ # Indicates whether the icon image being returned is a default image, or is game-
2738
+ # provided.
2739
+ # Corresponds to the JSON property `isDefaultIconUrl`
2740
+ # @return [Boolean]
2741
+ attr_accessor :is_default_icon_url
2742
+ alias_method :is_default_icon_url?, :is_default_icon_url
2743
+
2744
+ # Uniquely identifies the type of this resource. Value is always the fixed
2745
+ # string games#quest.
2746
+ # Corresponds to the JSON property `kind`
2747
+ # @return [String]
2748
+ attr_accessor :kind
2749
+
2750
+ # The timestamp at which the quest was last updated by the user in milliseconds
2751
+ # since the epoch in UTC. Only present if the player has accepted the quest.
2752
+ # Corresponds to the JSON property `lastUpdatedTimestampMillis`
2753
+ # @return [String]
2754
+ attr_accessor :last_updated_timestamp_millis
2755
+
2756
+ # The quest milestones.
2757
+ # Corresponds to the JSON property `milestones`
2758
+ # @return [Array<Google::Apis::GamesV1::QuestMilestone>]
2759
+ attr_accessor :milestones
2760
+
2761
+ # The name of the quest.
2762
+ # Corresponds to the JSON property `name`
2763
+ # @return [String]
2764
+ attr_accessor :name
2765
+
2766
+ # The timestamp at which the user should be notified that the quest will end
2767
+ # soon in milliseconds since the epoch in UTC.
2768
+ # Corresponds to the JSON property `notifyTimestampMillis`
2769
+ # @return [String]
2770
+ attr_accessor :notify_timestamp_millis
2771
+
2772
+ # The timestamp at which the quest becomes active in milliseconds since the
2773
+ # epoch in UTC.
2774
+ # Corresponds to the JSON property `startTimestampMillis`
2775
+ # @return [String]
2776
+ attr_accessor :start_timestamp_millis
2777
+
2778
+ # The state of the quest.
2779
+ # Possible values are:
2780
+ # - "UPCOMING": The quest is upcoming. The user can see the quest, but cannot
2781
+ # accept it until it is open.
2782
+ # - "OPEN": The quest is currently open and may be accepted at this time.
2783
+ # - "ACCEPTED": The user is currently participating in this quest.
2784
+ # - "COMPLETED": The user has completed the quest.
2785
+ # - "FAILED": The quest was attempted but was not completed before the deadline
2786
+ # expired.
2787
+ # - "EXPIRED": The quest has expired and was not accepted.
2788
+ # - "DELETED": The quest should be deleted from the local database.
2789
+ # Corresponds to the JSON property `state`
2790
+ # @return [String]
2791
+ attr_accessor :state
2792
+
2793
+ def initialize(**args)
2794
+ update!(**args)
2795
+ end
2796
+
2797
+ # Update properties of this object
2798
+ def update!(**args)
2799
+ @accepted_timestamp_millis = args[:accepted_timestamp_millis] unless args[:accepted_timestamp_millis].nil?
2800
+ @application_id = args[:application_id] unless args[:application_id].nil?
2801
+ @banner_url = args[:banner_url] unless args[:banner_url].nil?
2802
+ @description = args[:description] unless args[:description].nil?
2803
+ @end_timestamp_millis = args[:end_timestamp_millis] unless args[:end_timestamp_millis].nil?
2804
+ @icon_url = args[:icon_url] unless args[:icon_url].nil?
2805
+ @id = args[:id] unless args[:id].nil?
2806
+ @is_default_banner_url = args[:is_default_banner_url] unless args[:is_default_banner_url].nil?
2807
+ @is_default_icon_url = args[:is_default_icon_url] unless args[:is_default_icon_url].nil?
2808
+ @kind = args[:kind] unless args[:kind].nil?
2809
+ @last_updated_timestamp_millis = args[:last_updated_timestamp_millis] unless args[:last_updated_timestamp_millis].nil?
2810
+ @milestones = args[:milestones] unless args[:milestones].nil?
2811
+ @name = args[:name] unless args[:name].nil?
2812
+ @notify_timestamp_millis = args[:notify_timestamp_millis] unless args[:notify_timestamp_millis].nil?
2813
+ @start_timestamp_millis = args[:start_timestamp_millis] unless args[:start_timestamp_millis].nil?
2814
+ @state = args[:state] unless args[:state].nil?
2815
+ end
2816
+ end
2817
+
2818
+ # This is a JSON template for a Quest Criterion Contribution resource.
2819
+ class QuestContribution
2820
+ include Google::Apis::Core::Hashable
2821
+
2822
+ # The formatted value of the contribution as a string. Format depends on the
2823
+ # configuration for the associated event definition in the Play Games Developer
2824
+ # Console.
2825
+ # Corresponds to the JSON property `formattedValue`
2826
+ # @return [String]
2827
+ attr_accessor :formatted_value
2828
+
2829
+ # Uniquely identifies the type of this resource. Value is always the fixed
2830
+ # string games#questContribution.
2831
+ # Corresponds to the JSON property `kind`
2832
+ # @return [String]
2833
+ attr_accessor :kind
2834
+
2835
+ # The value of the contribution.
2836
+ # Corresponds to the JSON property `value`
2837
+ # @return [String]
2838
+ attr_accessor :value
2839
+
2840
+ def initialize(**args)
2841
+ update!(**args)
2842
+ end
2843
+
2844
+ # Update properties of this object
2845
+ def update!(**args)
2846
+ @formatted_value = args[:formatted_value] unless args[:formatted_value].nil?
2847
+ @kind = args[:kind] unless args[:kind].nil?
2848
+ @value = args[:value] unless args[:value].nil?
2849
+ end
2850
+ end
2851
+
2852
+ # This is a JSON template for a Quest Criterion resource.
2853
+ class QuestCriterion
2854
+ include Google::Apis::Core::Hashable
2855
+
2856
+ # This is a JSON template for a Quest Criterion Contribution resource.
2857
+ # Corresponds to the JSON property `completionContribution`
2858
+ # @return [Google::Apis::GamesV1::QuestContribution]
2859
+ attr_accessor :completion_contribution
2860
+
2861
+ # This is a JSON template for a Quest Criterion Contribution resource.
2862
+ # Corresponds to the JSON property `currentContribution`
2863
+ # @return [Google::Apis::GamesV1::QuestContribution]
2864
+ attr_accessor :current_contribution
2865
+
2866
+ # The ID of the event the criterion corresponds to.
2867
+ # Corresponds to the JSON property `eventId`
2868
+ # @return [String]
2869
+ attr_accessor :event_id
2870
+
2871
+ # This is a JSON template for a Quest Criterion Contribution resource.
2872
+ # Corresponds to the JSON property `initialPlayerProgress`
2873
+ # @return [Google::Apis::GamesV1::QuestContribution]
2874
+ attr_accessor :initial_player_progress
2875
+
2876
+ # Uniquely identifies the type of this resource. Value is always the fixed
2877
+ # string games#questCriterion.
2878
+ # Corresponds to the JSON property `kind`
2879
+ # @return [String]
2880
+ attr_accessor :kind
2881
+
2882
+ def initialize(**args)
2883
+ update!(**args)
2884
+ end
2885
+
2886
+ # Update properties of this object
2887
+ def update!(**args)
2888
+ @completion_contribution = args[:completion_contribution] unless args[:completion_contribution].nil?
2889
+ @current_contribution = args[:current_contribution] unless args[:current_contribution].nil?
2890
+ @event_id = args[:event_id] unless args[:event_id].nil?
2891
+ @initial_player_progress = args[:initial_player_progress] unless args[:initial_player_progress].nil?
2892
+ @kind = args[:kind] unless args[:kind].nil?
2893
+ end
2894
+ end
2895
+
2896
+ # This is a JSON template for a list of quest objects.
2897
+ class ListQuestResponse
2898
+ include Google::Apis::Core::Hashable
2899
+
2900
+ # The quests.
2901
+ # Corresponds to the JSON property `items`
2902
+ # @return [Array<Google::Apis::GamesV1::Quest>]
2903
+ attr_accessor :items
2904
+
2905
+ # Uniquely identifies the type of this resource. Value is always the fixed
2906
+ # string games#questListResponse.
2907
+ # Corresponds to the JSON property `kind`
2908
+ # @return [String]
2909
+ attr_accessor :kind
2910
+
2911
+ # Token corresponding to the next page of results.
2912
+ # Corresponds to the JSON property `nextPageToken`
2913
+ # @return [String]
2914
+ attr_accessor :next_page_token
2915
+
2916
+ def initialize(**args)
2917
+ update!(**args)
2918
+ end
2919
+
2920
+ # Update properties of this object
2921
+ def update!(**args)
2922
+ @items = args[:items] unless args[:items].nil?
2923
+ @kind = args[:kind] unless args[:kind].nil?
2924
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2925
+ end
2926
+ end
2927
+
2928
+ # This is a JSON template for a Quest Milestone resource.
2929
+ class QuestMilestone
2930
+ include Google::Apis::Core::Hashable
2931
+
2932
+ # The completion reward data of the milestone, represented as a Base64-encoded
2933
+ # string. This is a developer-specified binary blob with size between 0 and 2 KB
2934
+ # before encoding.
2935
+ # Corresponds to the JSON property `completionRewardData`
2936
+ # @return [String]
2937
+ attr_accessor :completion_reward_data
2938
+
2939
+ # The criteria of the milestone.
2940
+ # Corresponds to the JSON property `criteria`
2941
+ # @return [Array<Google::Apis::GamesV1::QuestCriterion>]
2942
+ attr_accessor :criteria
2943
+
2944
+ # The milestone ID.
2945
+ # Corresponds to the JSON property `id`
2946
+ # @return [String]
2947
+ attr_accessor :id
2948
+
2949
+ # Uniquely identifies the type of this resource. Value is always the fixed
2950
+ # string games#questMilestone.
2951
+ # Corresponds to the JSON property `kind`
2952
+ # @return [String]
2953
+ attr_accessor :kind
2954
+
2955
+ # The current state of the milestone.
2956
+ # Possible values are:
2957
+ # - "COMPLETED_NOT_CLAIMED" - The milestone is complete, but has not yet been
2958
+ # claimed.
2959
+ # - "CLAIMED" - The milestone is complete and has been claimed.
2960
+ # - "NOT_COMPLETED" - The milestone has not yet been completed.
2961
+ # - "NOT_STARTED" - The milestone is for a quest that has not yet been accepted.
2962
+ # Corresponds to the JSON property `state`
2963
+ # @return [String]
2964
+ attr_accessor :state
2965
+
2966
+ def initialize(**args)
2967
+ update!(**args)
2968
+ end
2969
+
2970
+ # Update properties of this object
2971
+ def update!(**args)
2972
+ @completion_reward_data = args[:completion_reward_data] unless args[:completion_reward_data].nil?
2973
+ @criteria = args[:criteria] unless args[:criteria].nil?
2974
+ @id = args[:id] unless args[:id].nil?
2975
+ @kind = args[:kind] unless args[:kind].nil?
2976
+ @state = args[:state] unless args[:state].nil?
2977
+ end
2978
+ end
2979
+
2980
+ # This is a JSON template for the result of checking a revision.
2981
+ class CheckRevisionResponse
2982
+ include Google::Apis::Core::Hashable
2983
+
2984
+ # The version of the API this client revision should use when calling API
2985
+ # methods.
2986
+ # Corresponds to the JSON property `apiVersion`
2987
+ # @return [String]
2988
+ attr_accessor :api_version
2989
+
2990
+ # Uniquely identifies the type of this resource. Value is always the fixed
2991
+ # string games#revisionCheckResponse.
2992
+ # Corresponds to the JSON property `kind`
2993
+ # @return [String]
2994
+ attr_accessor :kind
2995
+
2996
+ # The result of the revision check.
2997
+ # Possible values are:
2998
+ # - "OK" - The revision being used is current.
2999
+ # - "DEPRECATED" - There is currently a newer version available, but the
3000
+ # revision being used still works.
3001
+ # - "INVALID" - The revision being used is not supported in any released version.
3002
+ # Corresponds to the JSON property `revisionStatus`
3003
+ # @return [String]
3004
+ attr_accessor :revision_status
3005
+
3006
+ def initialize(**args)
3007
+ update!(**args)
3008
+ end
3009
+
3010
+ # Update properties of this object
3011
+ def update!(**args)
3012
+ @api_version = args[:api_version] unless args[:api_version].nil?
3013
+ @kind = args[:kind] unless args[:kind].nil?
3014
+ @revision_status = args[:revision_status] unless args[:revision_status].nil?
3015
+ end
3016
+ end
3017
+
3018
+ # This is a JSON template for a room resource object.
3019
+ class Room
3020
+ include Google::Apis::Core::Hashable
3021
+
3022
+ # The ID of the application being played.
3023
+ # Corresponds to the JSON property `applicationId`
3024
+ # @return [String]
3025
+ attr_accessor :application_id
3026
+
3027
+ # This is a JSON template for a room auto-match criteria object.
3028
+ # Corresponds to the JSON property `autoMatchingCriteria`
3029
+ # @return [Google::Apis::GamesV1::RoomAutoMatchingCriteria]
3030
+ attr_accessor :auto_matching_criteria
3031
+
3032
+ # This is a JSON template for status of room automatching that is in progress.
3033
+ # Corresponds to the JSON property `autoMatchingStatus`
3034
+ # @return [Google::Apis::GamesV1::RoomAutoMatchStatus]
3035
+ attr_accessor :auto_matching_status
3036
+
3037
+ # This is a JSON template for room modification metadata.
3038
+ # Corresponds to the JSON property `creationDetails`
3039
+ # @return [Google::Apis::GamesV1::RoomModification]
3040
+ attr_accessor :creation_details
3041
+
3042
+ # This short description is generated by our servers and worded relative to the
3043
+ # player requesting the room. It is intended to be displayed when the room is
3044
+ # shown in a list (that is, an invitation to a room.)
3045
+ # Corresponds to the JSON property `description`
3046
+ # @return [String]
3047
+ attr_accessor :description
3048
+
3049
+ # The ID of the participant that invited the user to the room. Not set if the
3050
+ # user was not invited to the room.
3051
+ # Corresponds to the JSON property `inviterId`
3052
+ # @return [String]
3053
+ attr_accessor :inviter_id
3054
+
3055
+ # Uniquely identifies the type of this resource. Value is always the fixed
3056
+ # string games#room.
3057
+ # Corresponds to the JSON property `kind`
3058
+ # @return [String]
3059
+ attr_accessor :kind
3060
+
3061
+ # This is a JSON template for room modification metadata.
3062
+ # Corresponds to the JSON property `lastUpdateDetails`
3063
+ # @return [Google::Apis::GamesV1::RoomModification]
3064
+ attr_accessor :last_update_details
3065
+
3066
+ # The participants involved in the room, along with their statuses. Includes
3067
+ # participants who have left or declined invitations.
3068
+ # Corresponds to the JSON property `participants`
3069
+ # @return [Array<Google::Apis::GamesV1::RoomParticipant>]
3070
+ attr_accessor :participants
3071
+
3072
+ # Globally unique ID for a room.
3073
+ # Corresponds to the JSON property `roomId`
3074
+ # @return [String]
3075
+ attr_accessor :room_id
3076
+
3077
+ # The version of the room status: an increasing counter, used by the client to
3078
+ # ignore out-of-order updates to room status.
3079
+ # Corresponds to the JSON property `roomStatusVersion`
3080
+ # @return [Fixnum]
3081
+ attr_accessor :room_status_version
3082
+
3083
+ # The status of the room.
3084
+ # Possible values are:
3085
+ # - "ROOM_INVITING" - One or more players have been invited and not responded.
3086
+ # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
3087
+ # - "ROOM_CONNECTING" - Players have joined and are connecting to each other (
3088
+ # either before or after auto-matching).
3089
+ # - "ROOM_ACTIVE" - All players have joined and connected to each other.
3090
+ # - "ROOM_DELETED" - The room should no longer be shown on the client. Returned
3091
+ # in sync calls when a player joins a room (as a tombstone), or for rooms where
3092
+ # all joined participants have left.
3093
+ # Corresponds to the JSON property `status`
3094
+ # @return [String]
3095
+ attr_accessor :status
3096
+
3097
+ # The variant / mode of the application being played; can be any integer value,
3098
+ # or left blank.
3099
+ # Corresponds to the JSON property `variant`
3100
+ # @return [Fixnum]
3101
+ attr_accessor :variant
3102
+
3103
+ def initialize(**args)
3104
+ update!(**args)
3105
+ end
3106
+
3107
+ # Update properties of this object
3108
+ def update!(**args)
3109
+ @application_id = args[:application_id] unless args[:application_id].nil?
3110
+ @auto_matching_criteria = args[:auto_matching_criteria] unless args[:auto_matching_criteria].nil?
3111
+ @auto_matching_status = args[:auto_matching_status] unless args[:auto_matching_status].nil?
3112
+ @creation_details = args[:creation_details] unless args[:creation_details].nil?
3113
+ @description = args[:description] unless args[:description].nil?
3114
+ @inviter_id = args[:inviter_id] unless args[:inviter_id].nil?
3115
+ @kind = args[:kind] unless args[:kind].nil?
3116
+ @last_update_details = args[:last_update_details] unless args[:last_update_details].nil?
3117
+ @participants = args[:participants] unless args[:participants].nil?
3118
+ @room_id = args[:room_id] unless args[:room_id].nil?
3119
+ @room_status_version = args[:room_status_version] unless args[:room_status_version].nil?
3120
+ @status = args[:status] unless args[:status].nil?
3121
+ @variant = args[:variant] unless args[:variant].nil?
3122
+ end
3123
+ end
3124
+
3125
+ # This is a JSON template for status of room automatching that is in progress.
3126
+ class RoomAutoMatchStatus
3127
+ include Google::Apis::Core::Hashable
3128
+
3129
+ # Uniquely identifies the type of this resource. Value is always the fixed
3130
+ # string games#roomAutoMatchStatus.
3131
+ # Corresponds to the JSON property `kind`
3132
+ # @return [String]
3133
+ attr_accessor :kind
3134
+
3135
+ # An estimate for the amount of time (in seconds) that auto-matching is expected
3136
+ # to take to complete.
3137
+ # Corresponds to the JSON property `waitEstimateSeconds`
3138
+ # @return [Fixnum]
3139
+ attr_accessor :wait_estimate_seconds
3140
+
3141
+ def initialize(**args)
3142
+ update!(**args)
3143
+ end
3144
+
3145
+ # Update properties of this object
3146
+ def update!(**args)
3147
+ @kind = args[:kind] unless args[:kind].nil?
3148
+ @wait_estimate_seconds = args[:wait_estimate_seconds] unless args[:wait_estimate_seconds].nil?
3149
+ end
3150
+ end
3151
+
3152
+ # This is a JSON template for a room auto-match criteria object.
3153
+ class RoomAutoMatchingCriteria
3154
+ include Google::Apis::Core::Hashable
3155
+
3156
+ # A bitmask indicating when auto-matches are valid. When ANDed with other
3157
+ # exclusive bitmasks, the result must be zero. Can be used to support exclusive
3158
+ # roles within a game.
3159
+ # Corresponds to the JSON property `exclusiveBitmask`
3160
+ # @return [String]
3161
+ attr_accessor :exclusive_bitmask
3162
+
3163
+ # Uniquely identifies the type of this resource. Value is always the fixed
3164
+ # string games#roomAutoMatchingCriteria.
3165
+ # Corresponds to the JSON property `kind`
3166
+ # @return [String]
3167
+ attr_accessor :kind
3168
+
3169
+ # The maximum number of players that should be added to the room by auto-
3170
+ # matching.
3171
+ # Corresponds to the JSON property `maxAutoMatchingPlayers`
3172
+ # @return [Fixnum]
3173
+ attr_accessor :max_auto_matching_players
3174
+
3175
+ # The minimum number of players that should be added to the room by auto-
3176
+ # matching.
3177
+ # Corresponds to the JSON property `minAutoMatchingPlayers`
3178
+ # @return [Fixnum]
3179
+ attr_accessor :min_auto_matching_players
3180
+
3181
+ def initialize(**args)
3182
+ update!(**args)
3183
+ end
3184
+
3185
+ # Update properties of this object
3186
+ def update!(**args)
3187
+ @exclusive_bitmask = args[:exclusive_bitmask] unless args[:exclusive_bitmask].nil?
3188
+ @kind = args[:kind] unless args[:kind].nil?
3189
+ @max_auto_matching_players = args[:max_auto_matching_players] unless args[:max_auto_matching_players].nil?
3190
+ @min_auto_matching_players = args[:min_auto_matching_players] unless args[:min_auto_matching_players].nil?
3191
+ end
3192
+ end
3193
+
3194
+ # This is a JSON template for the client address when setting up a room.
3195
+ class RoomClientAddress
3196
+ include Google::Apis::Core::Hashable
3197
+
3198
+ # Uniquely identifies the type of this resource. Value is always the fixed
3199
+ # string games#roomClientAddress.
3200
+ # Corresponds to the JSON property `kind`
3201
+ # @return [String]
3202
+ attr_accessor :kind
3203
+
3204
+ # The XMPP address of the client on the Google Games XMPP network.
3205
+ # Corresponds to the JSON property `xmppAddress`
3206
+ # @return [String]
3207
+ attr_accessor :xmpp_address
3208
+
3209
+ def initialize(**args)
3210
+ update!(**args)
3211
+ end
3212
+
3213
+ # Update properties of this object
3214
+ def update!(**args)
3215
+ @kind = args[:kind] unless args[:kind].nil?
3216
+ @xmpp_address = args[:xmpp_address] unless args[:xmpp_address].nil?
3217
+ end
3218
+ end
3219
+
3220
+ # This is a JSON template for a room creation request.
3221
+ class CreateRoomRequest
3222
+ include Google::Apis::Core::Hashable
3223
+
3224
+ # This is a JSON template for a room auto-match criteria object.
3225
+ # Corresponds to the JSON property `autoMatchingCriteria`
3226
+ # @return [Google::Apis::GamesV1::RoomAutoMatchingCriteria]
3227
+ attr_accessor :auto_matching_criteria
3228
+
3229
+ # The capabilities that this client supports for realtime communication.
3230
+ # Corresponds to the JSON property `capabilities`
3231
+ # @return [Array<String>]
3232
+ attr_accessor :capabilities
3233
+
3234
+ # This is a JSON template for the client address when setting up a room.
3235
+ # Corresponds to the JSON property `clientAddress`
3236
+ # @return [Google::Apis::GamesV1::RoomClientAddress]
3237
+ attr_accessor :client_address
3238
+
3239
+ # The player IDs to invite to the room.
3240
+ # Corresponds to the JSON property `invitedPlayerIds`
3241
+ # @return [Array<String>]
3242
+ attr_accessor :invited_player_ids
3243
+
3244
+ # Uniquely identifies the type of this resource. Value is always the fixed
3245
+ # string games#roomCreateRequest.
3246
+ # Corresponds to the JSON property `kind`
3247
+ # @return [String]
3248
+ attr_accessor :kind
3249
+
3250
+ # This is a JSON template for network diagnostics reported for a client.
3251
+ # Corresponds to the JSON property `networkDiagnostics`
3252
+ # @return [Google::Apis::GamesV1::NetworkDiagnostics]
3253
+ attr_accessor :network_diagnostics
3254
+
3255
+ # A randomly generated numeric ID. This number is used at the server to ensure
3256
+ # that the request is handled correctly across retries.
3257
+ # Corresponds to the JSON property `requestId`
3258
+ # @return [String]
3259
+ attr_accessor :request_id
3260
+
3261
+ # The variant / mode of the application to be played. This can be any integer
3262
+ # value, or left blank. You should use a small number of variants to keep the
3263
+ # auto-matching pool as large as possible.
3264
+ # Corresponds to the JSON property `variant`
3265
+ # @return [Fixnum]
3266
+ attr_accessor :variant
3267
+
3268
+ def initialize(**args)
3269
+ update!(**args)
3270
+ end
3271
+
3272
+ # Update properties of this object
3273
+ def update!(**args)
3274
+ @auto_matching_criteria = args[:auto_matching_criteria] unless args[:auto_matching_criteria].nil?
3275
+ @capabilities = args[:capabilities] unless args[:capabilities].nil?
3276
+ @client_address = args[:client_address] unless args[:client_address].nil?
3277
+ @invited_player_ids = args[:invited_player_ids] unless args[:invited_player_ids].nil?
3278
+ @kind = args[:kind] unless args[:kind].nil?
3279
+ @network_diagnostics = args[:network_diagnostics] unless args[:network_diagnostics].nil?
3280
+ @request_id = args[:request_id] unless args[:request_id].nil?
3281
+ @variant = args[:variant] unless args[:variant].nil?
3282
+ end
3283
+ end
3284
+
3285
+ # This is a JSON template for a join room request.
3286
+ class JoinRoomRequest
3287
+ include Google::Apis::Core::Hashable
3288
+
3289
+ # The capabilities that this client supports for realtime communication.
3290
+ # Corresponds to the JSON property `capabilities`
3291
+ # @return [Array<String>]
3292
+ attr_accessor :capabilities
3293
+
3294
+ # This is a JSON template for the client address when setting up a room.
3295
+ # Corresponds to the JSON property `clientAddress`
3296
+ # @return [Google::Apis::GamesV1::RoomClientAddress]
3297
+ attr_accessor :client_address
3298
+
3299
+ # Uniquely identifies the type of this resource. Value is always the fixed
3300
+ # string games#roomJoinRequest.
3301
+ # Corresponds to the JSON property `kind`
3302
+ # @return [String]
3303
+ attr_accessor :kind
3304
+
3305
+ # This is a JSON template for network diagnostics reported for a client.
3306
+ # Corresponds to the JSON property `networkDiagnostics`
3307
+ # @return [Google::Apis::GamesV1::NetworkDiagnostics]
3308
+ attr_accessor :network_diagnostics
3309
+
3310
+ def initialize(**args)
3311
+ update!(**args)
3312
+ end
3313
+
3314
+ # Update properties of this object
3315
+ def update!(**args)
3316
+ @capabilities = args[:capabilities] unless args[:capabilities].nil?
3317
+ @client_address = args[:client_address] unless args[:client_address].nil?
3318
+ @kind = args[:kind] unless args[:kind].nil?
3319
+ @network_diagnostics = args[:network_diagnostics] unless args[:network_diagnostics].nil?
3320
+ end
3321
+ end
3322
+
3323
+ # This is a JSON template for room leave diagnostics.
3324
+ class RoomLeaveDiagnostics
3325
+ include Google::Apis::Core::Hashable
3326
+
3327
+ # Android network subtype. http://developer.android.com/reference/android/net/
3328
+ # NetworkInfo.html#getSubtype()
3329
+ # Corresponds to the JSON property `androidNetworkSubtype`
3330
+ # @return [Fixnum]
3331
+ attr_accessor :android_network_subtype
3332
+
3333
+ # Android network type. http://developer.android.com/reference/android/net/
3334
+ # NetworkInfo.html#getType()
3335
+ # Corresponds to the JSON property `androidNetworkType`
3336
+ # @return [Fixnum]
3337
+ attr_accessor :android_network_type
3338
+
3339
+ # iOS network type as defined in Reachability.h.
3340
+ # Corresponds to the JSON property `iosNetworkType`
3341
+ # @return [Fixnum]
3342
+ attr_accessor :ios_network_type
3343
+
3344
+ # Uniquely identifies the type of this resource. Value is always the fixed
3345
+ # string games#roomLeaveDiagnostics.
3346
+ # Corresponds to the JSON property `kind`
3347
+ # @return [String]
3348
+ attr_accessor :kind
3349
+
3350
+ # The MCC+MNC code for the client's network connection. On Android: http://
3351
+ # developer.android.com/reference/android/telephony/TelephonyManager.html#
3352
+ # getNetworkOperator() On iOS, see: https://developer.apple.com/library/ios/
3353
+ # documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html
3354
+ # Corresponds to the JSON property `networkOperatorCode`
3355
+ # @return [String]
3356
+ attr_accessor :network_operator_code
3357
+
3358
+ # The name of the carrier of the client's network connection. On Android: http://
3359
+ # developer.android.com/reference/android/telephony/TelephonyManager.html#
3360
+ # getNetworkOperatorName() On iOS: https://developer.apple.com/library/ios/
3361
+ # documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#/
3362
+ # /apple_ref/occ/instp/CTCarrier/carrierName
3363
+ # Corresponds to the JSON property `networkOperatorName`
3364
+ # @return [String]
3365
+ attr_accessor :network_operator_name
3366
+
3367
+ # Diagnostics about all peer sessions.
3368
+ # Corresponds to the JSON property `peerSession`
3369
+ # @return [Array<Google::Apis::GamesV1::PeerSessionDiagnostics>]
3370
+ attr_accessor :peer_session
3371
+
3372
+ # Whether or not sockets were used.
3373
+ # Corresponds to the JSON property `socketsUsed`
3374
+ # @return [Boolean]
3375
+ attr_accessor :sockets_used
3376
+ alias_method :sockets_used?, :sockets_used
3377
+
3378
+ def initialize(**args)
3379
+ update!(**args)
3380
+ end
3381
+
3382
+ # Update properties of this object
3383
+ def update!(**args)
3384
+ @android_network_subtype = args[:android_network_subtype] unless args[:android_network_subtype].nil?
3385
+ @android_network_type = args[:android_network_type] unless args[:android_network_type].nil?
3386
+ @ios_network_type = args[:ios_network_type] unless args[:ios_network_type].nil?
3387
+ @kind = args[:kind] unless args[:kind].nil?
3388
+ @network_operator_code = args[:network_operator_code] unless args[:network_operator_code].nil?
3389
+ @network_operator_name = args[:network_operator_name] unless args[:network_operator_name].nil?
3390
+ @peer_session = args[:peer_session] unless args[:peer_session].nil?
3391
+ @sockets_used = args[:sockets_used] unless args[:sockets_used].nil?
3392
+ end
3393
+ end
3394
+
3395
+ # This is a JSON template for a leave room request.
3396
+ class LeaveRoomRequest
3397
+ include Google::Apis::Core::Hashable
3398
+
3399
+ # Uniquely identifies the type of this resource. Value is always the fixed
3400
+ # string games#roomLeaveRequest.
3401
+ # Corresponds to the JSON property `kind`
3402
+ # @return [String]
3403
+ attr_accessor :kind
3404
+
3405
+ # This is a JSON template for room leave diagnostics.
3406
+ # Corresponds to the JSON property `leaveDiagnostics`
3407
+ # @return [Google::Apis::GamesV1::RoomLeaveDiagnostics]
3408
+ attr_accessor :leave_diagnostics
3409
+
3410
+ # Reason for leaving the match.
3411
+ # Possible values are:
3412
+ # - "PLAYER_LEFT" - The player chose to leave the room..
3413
+ # - "GAME_LEFT" - The game chose to remove the player from the room.
3414
+ # - "REALTIME_ABANDONED" - The player switched to another application and
3415
+ # abandoned the room.
3416
+ # - "REALTIME_PEER_CONNECTION_FAILURE" - The client was unable to establish a
3417
+ # connection to other peer(s).
3418
+ # - "REALTIME_SERVER_CONNECTION_FAILURE" - The client was unable to communicate
3419
+ # with the server.
3420
+ # - "REALTIME_SERVER_ERROR" - The client received an error response when it
3421
+ # tried to communicate with the server.
3422
+ # - "REALTIME_TIMEOUT" - The client timed out while waiting for a room.
3423
+ # - "REALTIME_CLIENT_DISCONNECTING" - The client disconnects without first
3424
+ # calling Leave.
3425
+ # - "REALTIME_SIGN_OUT" - The user signed out of G+ while in the room.
3426
+ # - "REALTIME_GAME_CRASHED" - The game crashed.
3427
+ # - "REALTIME_ROOM_SERVICE_CRASHED" - RoomAndroidService crashed.
3428
+ # - "REALTIME_DIFFERENT_CLIENT_ROOM_OPERATION" - Another client is trying to
3429
+ # enter a room.
3430
+ # - "REALTIME_SAME_CLIENT_ROOM_OPERATION" - The same client is trying to enter a
3431
+ # new room.
3432
+ # Corresponds to the JSON property `reason`
3433
+ # @return [String]
3434
+ attr_accessor :reason
3435
+
3436
+ def initialize(**args)
3437
+ update!(**args)
3438
+ end
3439
+
3440
+ # Update properties of this object
3441
+ def update!(**args)
3442
+ @kind = args[:kind] unless args[:kind].nil?
3443
+ @leave_diagnostics = args[:leave_diagnostics] unless args[:leave_diagnostics].nil?
3444
+ @reason = args[:reason] unless args[:reason].nil?
3445
+ end
3446
+ end
3447
+
3448
+ # This is a JSON template for a list of rooms.
3449
+ class RoomList
3450
+ include Google::Apis::Core::Hashable
3451
+
3452
+ # The rooms.
3453
+ # Corresponds to the JSON property `items`
3454
+ # @return [Array<Google::Apis::GamesV1::Room>]
3455
+ attr_accessor :items
3456
+
3457
+ # Uniquely identifies the type of this resource. Value is always the fixed
3458
+ # string games#roomList.
3459
+ # Corresponds to the JSON property `kind`
3460
+ # @return [String]
3461
+ attr_accessor :kind
3462
+
3463
+ # The pagination token for the next page of results.
3464
+ # Corresponds to the JSON property `nextPageToken`
3465
+ # @return [String]
3466
+ attr_accessor :next_page_token
3467
+
3468
+ def initialize(**args)
3469
+ update!(**args)
3470
+ end
3471
+
3472
+ # Update properties of this object
3473
+ def update!(**args)
3474
+ @items = args[:items] unless args[:items].nil?
3475
+ @kind = args[:kind] unless args[:kind].nil?
3476
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
3477
+ end
3478
+ end
3479
+
3480
+ # This is a JSON template for room modification metadata.
3481
+ class RoomModification
3482
+ include Google::Apis::Core::Hashable
3483
+
3484
+ # Uniquely identifies the type of this resource. Value is always the fixed
3485
+ # string games#roomModification.
3486
+ # Corresponds to the JSON property `kind`
3487
+ # @return [String]
3488
+ attr_accessor :kind
3489
+
3490
+ # The timestamp at which they modified the room, in milliseconds since the epoch
3491
+ # in UTC.
3492
+ # Corresponds to the JSON property `modifiedTimestampMillis`
3493
+ # @return [String]
3494
+ attr_accessor :modified_timestamp_millis
3495
+
3496
+ # The ID of the participant that modified the room.
3497
+ # Corresponds to the JSON property `participantId`
3498
+ # @return [String]
3499
+ attr_accessor :participant_id
3500
+
3501
+ def initialize(**args)
3502
+ update!(**args)
3503
+ end
3504
+
3505
+ # Update properties of this object
3506
+ def update!(**args)
3507
+ @kind = args[:kind] unless args[:kind].nil?
3508
+ @modified_timestamp_millis = args[:modified_timestamp_millis] unless args[:modified_timestamp_millis].nil?
3509
+ @participant_id = args[:participant_id] unless args[:participant_id].nil?
3510
+ end
3511
+ end
3512
+
3513
+ # This is a JSON template for an update on the status of a peer in a room.
3514
+ class RoomP2PStatus
3515
+ include Google::Apis::Core::Hashable
3516
+
3517
+ # The amount of time in milliseconds it took to establish connections with this
3518
+ # peer.
3519
+ # Corresponds to the JSON property `connectionSetupLatencyMillis`
3520
+ # @return [Fixnum]
3521
+ attr_accessor :connection_setup_latency_millis
3522
+
3523
+ # The error code in event of a failure.
3524
+ # Possible values are:
3525
+ # - "P2P_FAILED" - The client failed to establish a P2P connection with the peer.
3526
+ #
3527
+ # - "PRESENCE_FAILED" - The client failed to register to receive P2P connections.
3528
+ #
3529
+ # - "RELAY_SERVER_FAILED" - The client received an error when trying to use the
3530
+ # relay server to establish a P2P connection with the peer.
3531
+ # Corresponds to the JSON property `error`
3532
+ # @return [String]
3533
+ attr_accessor :error
3534
+
3535
+ # More detailed diagnostic message returned in event of a failure.
3536
+ # Corresponds to the JSON property `error_reason`
3537
+ # @return [String]
3538
+ attr_accessor :error_reason
3539
+
3540
+ # Uniquely identifies the type of this resource. Value is always the fixed
3541
+ # string games#roomP2PStatus.
3542
+ # Corresponds to the JSON property `kind`
3543
+ # @return [String]
3544
+ attr_accessor :kind
3545
+
3546
+ # The ID of the participant.
3547
+ # Corresponds to the JSON property `participantId`
3548
+ # @return [String]
3549
+ attr_accessor :participant_id
3550
+
3551
+ # The status of the peer in the room.
3552
+ # Possible values are:
3553
+ # - "CONNECTION_ESTABLISHED" - The client established a P2P connection with the
3554
+ # peer.
3555
+ # - "CONNECTION_FAILED" - The client failed to establish directed presence with
3556
+ # the peer.
3557
+ # Corresponds to the JSON property `status`
3558
+ # @return [String]
3559
+ attr_accessor :status
3560
+
3561
+ # The amount of time in milliseconds it took to send packets back and forth on
3562
+ # the unreliable channel with this peer.
3563
+ # Corresponds to the JSON property `unreliableRoundtripLatencyMillis`
3564
+ # @return [Fixnum]
3565
+ attr_accessor :unreliable_roundtrip_latency_millis
3566
+
3567
+ def initialize(**args)
3568
+ update!(**args)
3569
+ end
3570
+
3571
+ # Update properties of this object
3572
+ def update!(**args)
3573
+ @connection_setup_latency_millis = args[:connection_setup_latency_millis] unless args[:connection_setup_latency_millis].nil?
3574
+ @error = args[:error] unless args[:error].nil?
3575
+ @error_reason = args[:error_reason] unless args[:error_reason].nil?
3576
+ @kind = args[:kind] unless args[:kind].nil?
3577
+ @participant_id = args[:participant_id] unless args[:participant_id].nil?
3578
+ @status = args[:status] unless args[:status].nil?
3579
+ @unreliable_roundtrip_latency_millis = args[:unreliable_roundtrip_latency_millis] unless args[:unreliable_roundtrip_latency_millis].nil?
3580
+ end
3581
+ end
3582
+
3583
+ # This is a JSON template for an update on the status of peers in a room.
3584
+ class RoomP2PStatuses
3585
+ include Google::Apis::Core::Hashable
3586
+
3587
+ # Uniquely identifies the type of this resource. Value is always the fixed
3588
+ # string games#roomP2PStatuses.
3589
+ # Corresponds to the JSON property `kind`
3590
+ # @return [String]
3591
+ attr_accessor :kind
3592
+
3593
+ # The updates for the peers.
3594
+ # Corresponds to the JSON property `updates`
3595
+ # @return [Array<Google::Apis::GamesV1::RoomP2PStatus>]
3596
+ attr_accessor :updates
3597
+
3598
+ def initialize(**args)
3599
+ update!(**args)
3600
+ end
3601
+
3602
+ # Update properties of this object
3603
+ def update!(**args)
3604
+ @kind = args[:kind] unless args[:kind].nil?
3605
+ @updates = args[:updates] unless args[:updates].nil?
3606
+ end
3607
+ end
3608
+
3609
+ # This is a JSON template for a participant in a room.
3610
+ class RoomParticipant
3611
+ include Google::Apis::Core::Hashable
3612
+
3613
+ # True if this participant was auto-matched with the requesting player.
3614
+ # Corresponds to the JSON property `autoMatched`
3615
+ # @return [Boolean]
3616
+ attr_accessor :auto_matched
3617
+ alias_method :auto_matched?, :auto_matched
3618
+
3619
+ # This is a JSON template for an anonymous player
3620
+ # Corresponds to the JSON property `autoMatchedPlayer`
3621
+ # @return [Google::Apis::GamesV1::AnonymousPlayer]
3622
+ attr_accessor :auto_matched_player
3623
+
3624
+ # The capabilities which can be used when communicating with this participant.
3625
+ # Corresponds to the JSON property `capabilities`
3626
+ # @return [Array<String>]
3627
+ attr_accessor :capabilities
3628
+
3629
+ # This is a JSON template for the client address when setting up a room.
3630
+ # Corresponds to the JSON property `clientAddress`
3631
+ # @return [Google::Apis::GamesV1::RoomClientAddress]
3632
+ attr_accessor :client_address
3633
+
3634
+ # True if this participant is in the fully connected set of peers in the room.
3635
+ # Corresponds to the JSON property `connected`
3636
+ # @return [Boolean]
3637
+ attr_accessor :connected
3638
+ alias_method :connected?, :connected
3639
+
3640
+ # An identifier for the participant in the scope of the room. Cannot be used to
3641
+ # identify a player across rooms or in other contexts.
3642
+ # Corresponds to the JSON property `id`
3643
+ # @return [String]
3644
+ attr_accessor :id
3645
+
3646
+ # Uniquely identifies the type of this resource. Value is always the fixed
3647
+ # string games#roomParticipant.
3648
+ # Corresponds to the JSON property `kind`
3649
+ # @return [String]
3650
+ attr_accessor :kind
3651
+
3652
+ # The reason the participant left the room; populated if the participant status
3653
+ # is PARTICIPANT_LEFT.
3654
+ # Possible values are:
3655
+ # - "PLAYER_LEFT" - The player explicitly chose to leave the room.
3656
+ # - "GAME_LEFT" - The game chose to remove the player from the room.
3657
+ # - "ABANDONED" - The player switched to another application and abandoned the
3658
+ # room.
3659
+ # - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a
3660
+ # connection to other peer(s) in the room.
3661
+ # - "SERVER_ERROR" - The client received an error response when it tried to
3662
+ # communicate with the server.
3663
+ # - "TIMEOUT" - The client timed out while waiting for players to join and
3664
+ # connect.
3665
+ # - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
3666
+ # Corresponds to the JSON property `leaveReason`
3667
+ # @return [String]
3668
+ attr_accessor :leave_reason
3669
+
3670
+ # This is a JSON template for a Player resource.
3671
+ # Corresponds to the JSON property `player`
3672
+ # @return [Google::Apis::GamesV1::Player]
3673
+ attr_accessor :player
3674
+
3675
+ # The status of the participant with respect to the room.
3676
+ # Possible values are:
3677
+ # - "PARTICIPANT_INVITED" - The participant has been invited to join the room,
3678
+ # but has not yet responded.
3679
+ # - "PARTICIPANT_JOINED" - The participant has joined the room (either after
3680
+ # creating it or accepting an invitation.)
3681
+ # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the
3682
+ # room.
3683
+ # - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
3684
+ # Corresponds to the JSON property `status`
3685
+ # @return [String]
3686
+ attr_accessor :status
3687
+
3688
+ def initialize(**args)
3689
+ update!(**args)
3690
+ end
3691
+
3692
+ # Update properties of this object
3693
+ def update!(**args)
3694
+ @auto_matched = args[:auto_matched] unless args[:auto_matched].nil?
3695
+ @auto_matched_player = args[:auto_matched_player] unless args[:auto_matched_player].nil?
3696
+ @capabilities = args[:capabilities] unless args[:capabilities].nil?
3697
+ @client_address = args[:client_address] unless args[:client_address].nil?
3698
+ @connected = args[:connected] unless args[:connected].nil?
3699
+ @id = args[:id] unless args[:id].nil?
3700
+ @kind = args[:kind] unless args[:kind].nil?
3701
+ @leave_reason = args[:leave_reason] unless args[:leave_reason].nil?
3702
+ @player = args[:player] unless args[:player].nil?
3703
+ @status = args[:status] unless args[:status].nil?
3704
+ end
3705
+ end
3706
+
3707
+ # This is a JSON template for the status of a room that the player has joined.
3708
+ class RoomStatus
3709
+ include Google::Apis::Core::Hashable
3710
+
3711
+ # This is a JSON template for status of room automatching that is in progress.
3712
+ # Corresponds to the JSON property `autoMatchingStatus`
3713
+ # @return [Google::Apis::GamesV1::RoomAutoMatchStatus]
3714
+ attr_accessor :auto_matching_status
3715
+
3716
+ # Uniquely identifies the type of this resource. Value is always the fixed
3717
+ # string games#roomStatus.
3718
+ # Corresponds to the JSON property `kind`
3719
+ # @return [String]
3720
+ attr_accessor :kind
3721
+
3722
+ # The participants involved in the room, along with their statuses. Includes
3723
+ # participants who have left or declined invitations.
3724
+ # Corresponds to the JSON property `participants`
3725
+ # @return [Array<Google::Apis::GamesV1::RoomParticipant>]
3726
+ attr_accessor :participants
3727
+
3728
+ # Globally unique ID for a room.
3729
+ # Corresponds to the JSON property `roomId`
3730
+ # @return [String]
3731
+ attr_accessor :room_id
3732
+
3733
+ # The status of the room.
3734
+ # Possible values are:
3735
+ # - "ROOM_INVITING" - One or more players have been invited and not responded.
3736
+ # - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
3737
+ # - "ROOM_CONNECTING" - Players have joined are connecting to each other (either
3738
+ # before or after auto-matching).
3739
+ # - "ROOM_ACTIVE" - All players have joined and connected to each other.
3740
+ # - "ROOM_DELETED" - All joined players have left.
3741
+ # Corresponds to the JSON property `status`
3742
+ # @return [String]
3743
+ attr_accessor :status
3744
+
3745
+ # The version of the status for the room: an increasing counter, used by the
3746
+ # client to ignore out-of-order updates to room status.
3747
+ # Corresponds to the JSON property `statusVersion`
3748
+ # @return [Fixnum]
3749
+ attr_accessor :status_version
3750
+
3751
+ def initialize(**args)
3752
+ update!(**args)
3753
+ end
3754
+
3755
+ # Update properties of this object
3756
+ def update!(**args)
3757
+ @auto_matching_status = args[:auto_matching_status] unless args[:auto_matching_status].nil?
3758
+ @kind = args[:kind] unless args[:kind].nil?
3759
+ @participants = args[:participants] unless args[:participants].nil?
3760
+ @room_id = args[:room_id] unless args[:room_id].nil?
3761
+ @status = args[:status] unless args[:status].nil?
3762
+ @status_version = args[:status_version] unless args[:status_version].nil?
3763
+ end
3764
+ end
3765
+
3766
+ # This is a JSON template for a request to submit a score to leaderboards.
3767
+ class ScoreSubmission
3768
+ include Google::Apis::Core::Hashable
3769
+
3770
+ # Uniquely identifies the type of this resource. Value is always the fixed
3771
+ # string games#scoreSubmission.
3772
+ # Corresponds to the JSON property `kind`
3773
+ # @return [String]
3774
+ attr_accessor :kind
3775
+
3776
+ # The leaderboard this score is being submitted to.
3777
+ # Corresponds to the JSON property `leaderboardId`
3778
+ # @return [String]
3779
+ attr_accessor :leaderboard_id
3780
+
3781
+ # The new score being submitted.
3782
+ # Corresponds to the JSON property `score`
3783
+ # @return [String]
3784
+ attr_accessor :score
3785
+
3786
+ # Additional information about this score. Values will contain no more than 64
3787
+ # URI-safe characters as defined by section 2.3 of RFC 3986.
3788
+ # Corresponds to the JSON property `scoreTag`
3789
+ # @return [String]
3790
+ attr_accessor :score_tag
3791
+
3792
+ # Signature Values will contain URI-safe characters as defined by section 2.3 of
3793
+ # RFC 3986.
3794
+ # Corresponds to the JSON property `signature`
3795
+ # @return [String]
3796
+ attr_accessor :signature
3797
+
3798
+ def initialize(**args)
3799
+ update!(**args)
3800
+ end
3801
+
3802
+ # Update properties of this object
3803
+ def update!(**args)
3804
+ @kind = args[:kind] unless args[:kind].nil?
3805
+ @leaderboard_id = args[:leaderboard_id] unless args[:leaderboard_id].nil?
3806
+ @score = args[:score] unless args[:score].nil?
3807
+ @score_tag = args[:score_tag] unless args[:score_tag].nil?
3808
+ @signature = args[:signature] unless args[:signature].nil?
3809
+ end
3810
+ end
3811
+
3812
+ # This is a JSON template for an snapshot object.
3813
+ class Snapshot
3814
+ include Google::Apis::Core::Hashable
3815
+
3816
+ # This is a JSON template for an image of a snapshot.
3817
+ # Corresponds to the JSON property `coverImage`
3818
+ # @return [Google::Apis::GamesV1::SnapshotImage]
3819
+ attr_accessor :cover_image
3820
+
3821
+ # The description of this snapshot.
3822
+ # Corresponds to the JSON property `description`
3823
+ # @return [String]
3824
+ attr_accessor :description
3825
+
3826
+ # The ID of the file underlying this snapshot in the Drive API. Only present if
3827
+ # the snapshot is a view on a Drive file and the file is owned by the caller.
3828
+ # Corresponds to the JSON property `driveId`
3829
+ # @return [String]
3830
+ attr_accessor :drive_id
3831
+
3832
+ # The duration associated with this snapshot, in millis.
3833
+ # Corresponds to the JSON property `durationMillis`
3834
+ # @return [String]
3835
+ attr_accessor :duration_millis
3836
+
3837
+ # The ID of the snapshot.
3838
+ # Corresponds to the JSON property `id`
3839
+ # @return [String]
3840
+ attr_accessor :id
3841
+
3842
+ # Uniquely identifies the type of this resource. Value is always the fixed
3843
+ # string games#snapshot.
3844
+ # Corresponds to the JSON property `kind`
3845
+ # @return [String]
3846
+ attr_accessor :kind
3847
+
3848
+ # The timestamp (in millis since Unix epoch) of the last modification to this
3849
+ # snapshot.
3850
+ # Corresponds to the JSON property `lastModifiedMillis`
3851
+ # @return [String]
3852
+ attr_accessor :last_modified_millis
3853
+
3854
+ # The progress value (64-bit integer set by developer) associated with this
3855
+ # snapshot.
3856
+ # Corresponds to the JSON property `progressValue`
3857
+ # @return [String]
3858
+ attr_accessor :progress_value
3859
+
3860
+ # The title of this snapshot.
3861
+ # Corresponds to the JSON property `title`
3862
+ # @return [String]
3863
+ attr_accessor :title
3864
+
3865
+ # The type of this snapshot.
3866
+ # Possible values are:
3867
+ # - "SAVE_GAME" - A snapshot representing a save game.
3868
+ # Corresponds to the JSON property `type`
3869
+ # @return [String]
3870
+ attr_accessor :type
3871
+
3872
+ # The unique name provided when the snapshot was created.
3873
+ # Corresponds to the JSON property `uniqueName`
3874
+ # @return [String]
3875
+ attr_accessor :unique_name
3876
+
3877
+ def initialize(**args)
3878
+ update!(**args)
3879
+ end
3880
+
3881
+ # Update properties of this object
3882
+ def update!(**args)
3883
+ @cover_image = args[:cover_image] unless args[:cover_image].nil?
3884
+ @description = args[:description] unless args[:description].nil?
3885
+ @drive_id = args[:drive_id] unless args[:drive_id].nil?
3886
+ @duration_millis = args[:duration_millis] unless args[:duration_millis].nil?
3887
+ @id = args[:id] unless args[:id].nil?
3888
+ @kind = args[:kind] unless args[:kind].nil?
3889
+ @last_modified_millis = args[:last_modified_millis] unless args[:last_modified_millis].nil?
3890
+ @progress_value = args[:progress_value] unless args[:progress_value].nil?
3891
+ @title = args[:title] unless args[:title].nil?
3892
+ @type = args[:type] unless args[:type].nil?
3893
+ @unique_name = args[:unique_name] unless args[:unique_name].nil?
3894
+ end
3895
+ end
3896
+
3897
+ # This is a JSON template for an image of a snapshot.
3898
+ class SnapshotImage
3899
+ include Google::Apis::Core::Hashable
3900
+
3901
+ # The height of the image.
3902
+ # Corresponds to the JSON property `height`
3903
+ # @return [Fixnum]
3904
+ attr_accessor :height
3905
+
3906
+ # Uniquely identifies the type of this resource. Value is always the fixed
3907
+ # string games#snapshotImage.
3908
+ # Corresponds to the JSON property `kind`
3909
+ # @return [String]
3910
+ attr_accessor :kind
3911
+
3912
+ # The MIME type of the image.
3913
+ # Corresponds to the JSON property `mime_type`
3914
+ # @return [String]
3915
+ attr_accessor :mime_type
3916
+
3917
+ # The URL of the image. This URL may be invalidated at any time and should not
3918
+ # be cached.
3919
+ # Corresponds to the JSON property `url`
3920
+ # @return [String]
3921
+ attr_accessor :url
3922
+
3923
+ # The width of the image.
3924
+ # Corresponds to the JSON property `width`
3925
+ # @return [Fixnum]
3926
+ attr_accessor :width
3927
+
3928
+ def initialize(**args)
3929
+ update!(**args)
3930
+ end
3931
+
3932
+ # Update properties of this object
3933
+ def update!(**args)
3934
+ @height = args[:height] unless args[:height].nil?
3935
+ @kind = args[:kind] unless args[:kind].nil?
3936
+ @mime_type = args[:mime_type] unless args[:mime_type].nil?
3937
+ @url = args[:url] unless args[:url].nil?
3938
+ @width = args[:width] unless args[:width].nil?
3939
+ end
3940
+ end
3941
+
3942
+ # This is a JSON template for a list of snapshot objects.
3943
+ class ListSnapshotResponse
3944
+ include Google::Apis::Core::Hashable
3945
+
3946
+ # The snapshots.
3947
+ # Corresponds to the JSON property `items`
3948
+ # @return [Array<Google::Apis::GamesV1::Snapshot>]
3949
+ attr_accessor :items
3950
+
3951
+ # Uniquely identifies the type of this resource. Value is always the fixed
3952
+ # string games#snapshotListResponse.
3953
+ # Corresponds to the JSON property `kind`
3954
+ # @return [String]
3955
+ attr_accessor :kind
3956
+
3957
+ # Token corresponding to the next page of results. If there are no more results,
3958
+ # the token is omitted.
3959
+ # Corresponds to the JSON property `nextPageToken`
3960
+ # @return [String]
3961
+ attr_accessor :next_page_token
3962
+
3963
+ def initialize(**args)
3964
+ update!(**args)
3965
+ end
3966
+
3967
+ # Update properties of this object
3968
+ def update!(**args)
3969
+ @items = args[:items] unless args[:items].nil?
3970
+ @kind = args[:kind] unless args[:kind].nil?
3971
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
3972
+ end
3973
+ end
3974
+
3975
+ # This is a JSON template for an turn-based auto-match criteria object.
3976
+ class TurnBasedAutoMatchingCriteria
3977
+ include Google::Apis::Core::Hashable
3978
+
3979
+ # A bitmask indicating when auto-matches are valid. When ANDed with other
3980
+ # exclusive bitmasks, the result must be zero. Can be used to support exclusive
3981
+ # roles within a game.
3982
+ # Corresponds to the JSON property `exclusiveBitmask`
3983
+ # @return [String]
3984
+ attr_accessor :exclusive_bitmask
3985
+
3986
+ # Uniquely identifies the type of this resource. Value is always the fixed
3987
+ # string games#turnBasedAutoMatchingCriteria.
3988
+ # Corresponds to the JSON property `kind`
3989
+ # @return [String]
3990
+ attr_accessor :kind
3991
+
3992
+ # The maximum number of players that should be added to the match by auto-
3993
+ # matching.
3994
+ # Corresponds to the JSON property `maxAutoMatchingPlayers`
3995
+ # @return [Fixnum]
3996
+ attr_accessor :max_auto_matching_players
3997
+
3998
+ # The minimum number of players that should be added to the match by auto-
3999
+ # matching.
4000
+ # Corresponds to the JSON property `minAutoMatchingPlayers`
4001
+ # @return [Fixnum]
4002
+ attr_accessor :min_auto_matching_players
4003
+
4004
+ def initialize(**args)
4005
+ update!(**args)
4006
+ end
4007
+
4008
+ # Update properties of this object
4009
+ def update!(**args)
4010
+ @exclusive_bitmask = args[:exclusive_bitmask] unless args[:exclusive_bitmask].nil?
4011
+ @kind = args[:kind] unless args[:kind].nil?
4012
+ @max_auto_matching_players = args[:max_auto_matching_players] unless args[:max_auto_matching_players].nil?
4013
+ @min_auto_matching_players = args[:min_auto_matching_players] unless args[:min_auto_matching_players].nil?
4014
+ end
4015
+ end
4016
+
4017
+ # This is a JSON template for a turn-based match resource object.
4018
+ class TurnBasedMatch
4019
+ include Google::Apis::Core::Hashable
4020
+
4021
+ # The ID of the application being played.
4022
+ # Corresponds to the JSON property `applicationId`
4023
+ # @return [String]
4024
+ attr_accessor :application_id
4025
+
4026
+ # This is a JSON template for an turn-based auto-match criteria object.
4027
+ # Corresponds to the JSON property `autoMatchingCriteria`
4028
+ # @return [Google::Apis::GamesV1::TurnBasedAutoMatchingCriteria]
4029
+ attr_accessor :auto_matching_criteria
4030
+
4031
+ # This is a JSON template for turn-based match modification metadata.
4032
+ # Corresponds to the JSON property `creationDetails`
4033
+ # @return [Google::Apis::GamesV1::TurnBasedMatchModification]
4034
+ attr_accessor :creation_details
4035
+
4036
+ # This is a JSON template for a turn-based match data object.
4037
+ # Corresponds to the JSON property `data`
4038
+ # @return [Google::Apis::GamesV1::TurnBasedMatchData]
4039
+ attr_accessor :data
4040
+
4041
+ # This short description is generated by our servers based on turn state and is
4042
+ # localized and worded relative to the player requesting the match. It is
4043
+ # intended to be displayed when the match is shown in a list.
4044
+ # Corresponds to the JSON property `description`
4045
+ # @return [String]
4046
+ attr_accessor :description
4047
+
4048
+ # The ID of the participant that invited the user to the match. Not set if the
4049
+ # user was not invited to the match.
4050
+ # Corresponds to the JSON property `inviterId`
4051
+ # @return [String]
4052
+ attr_accessor :inviter_id
4053
+
4054
+ # Uniquely identifies the type of this resource. Value is always the fixed
4055
+ # string games#turnBasedMatch.
4056
+ # Corresponds to the JSON property `kind`
4057
+ # @return [String]
4058
+ attr_accessor :kind
4059
+
4060
+ # This is a JSON template for turn-based match modification metadata.
4061
+ # Corresponds to the JSON property `lastUpdateDetails`
4062
+ # @return [Google::Apis::GamesV1::TurnBasedMatchModification]
4063
+ attr_accessor :last_update_details
4064
+
4065
+ # Globally unique ID for a turn-based match.
4066
+ # Corresponds to the JSON property `matchId`
4067
+ # @return [String]
4068
+ attr_accessor :match_id
4069
+
4070
+ # The number of the match in a chain of rematches. Will be set to 1 for the
4071
+ # first match and incremented by 1 for each rematch.
4072
+ # Corresponds to the JSON property `matchNumber`
4073
+ # @return [Fixnum]
4074
+ attr_accessor :match_number
4075
+
4076
+ # The version of this match: an increasing counter, used to avoid out-of-date
4077
+ # updates to the match.
4078
+ # Corresponds to the JSON property `matchVersion`
4079
+ # @return [Fixnum]
4080
+ attr_accessor :match_version
4081
+
4082
+ # The participants involved in the match, along with their statuses. Includes
4083
+ # participants who have left or declined invitations.
4084
+ # Corresponds to the JSON property `participants`
4085
+ # @return [Array<Google::Apis::GamesV1::TurnBasedMatchParticipant>]
4086
+ attr_accessor :participants
4087
+
4088
+ # The ID of the participant that is taking a turn.
4089
+ # Corresponds to the JSON property `pendingParticipantId`
4090
+ # @return [String]
4091
+ attr_accessor :pending_participant_id
4092
+
4093
+ # This is a JSON template for a turn-based match data object.
4094
+ # Corresponds to the JSON property `previousMatchData`
4095
+ # @return [Google::Apis::GamesV1::TurnBasedMatchData]
4096
+ attr_accessor :previous_match_data
4097
+
4098
+ # The ID of a rematch of this match. Only set for completed matches that have
4099
+ # been rematched.
4100
+ # Corresponds to the JSON property `rematchId`
4101
+ # @return [String]
4102
+ attr_accessor :rematch_id
4103
+
4104
+ # The results reported for this match.
4105
+ # Corresponds to the JSON property `results`
4106
+ # @return [Array<Google::Apis::GamesV1::ParticipantResult>]
4107
+ attr_accessor :results
4108
+
4109
+ # The status of the match.
4110
+ # Possible values are:
4111
+ # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching;
4112
+ # the match cannot be established until they are filled.
4113
+ # - "MATCH_ACTIVE" - The match has started.
4114
+ # - "MATCH_COMPLETE" - The match has finished.
4115
+ # - "MATCH_CANCELED" - The match was canceled.
4116
+ # - "MATCH_EXPIRED" - The match expired due to inactivity.
4117
+ # - "MATCH_DELETED" - The match should no longer be shown on the client.
4118
+ # Returned only for tombstones for matches when sync is called.
4119
+ # Corresponds to the JSON property `status`
4120
+ # @return [String]
4121
+ attr_accessor :status
4122
+
4123
+ # The status of the current user in the match. Derived from the match type,
4124
+ # match status, the user's participant status, and the pending participant for
4125
+ # the match.
4126
+ # Possible values are:
4127
+ # - "USER_INVITED" - The user has been invited to join the match and has not
4128
+ # responded yet.
4129
+ # - "USER_AWAITING_TURN" - The user is waiting for their turn.
4130
+ # - "USER_TURN" - The user has an action to take in the match.
4131
+ # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or
4132
+ # expired.)
4133
+ # Corresponds to the JSON property `userMatchStatus`
4134
+ # @return [String]
4135
+ attr_accessor :user_match_status
4136
+
4137
+ # The variant / mode of the application being played; can be any integer value,
4138
+ # or left blank.
4139
+ # Corresponds to the JSON property `variant`
4140
+ # @return [Fixnum]
4141
+ attr_accessor :variant
4142
+
4143
+ # The ID of another participant in the match that can be used when describing
4144
+ # the participants the user is playing with.
4145
+ # Corresponds to the JSON property `withParticipantId`
4146
+ # @return [String]
4147
+ attr_accessor :with_participant_id
4148
+
4149
+ def initialize(**args)
4150
+ update!(**args)
4151
+ end
4152
+
4153
+ # Update properties of this object
4154
+ def update!(**args)
4155
+ @application_id = args[:application_id] unless args[:application_id].nil?
4156
+ @auto_matching_criteria = args[:auto_matching_criteria] unless args[:auto_matching_criteria].nil?
4157
+ @creation_details = args[:creation_details] unless args[:creation_details].nil?
4158
+ @data = args[:data] unless args[:data].nil?
4159
+ @description = args[:description] unless args[:description].nil?
4160
+ @inviter_id = args[:inviter_id] unless args[:inviter_id].nil?
4161
+ @kind = args[:kind] unless args[:kind].nil?
4162
+ @last_update_details = args[:last_update_details] unless args[:last_update_details].nil?
4163
+ @match_id = args[:match_id] unless args[:match_id].nil?
4164
+ @match_number = args[:match_number] unless args[:match_number].nil?
4165
+ @match_version = args[:match_version] unless args[:match_version].nil?
4166
+ @participants = args[:participants] unless args[:participants].nil?
4167
+ @pending_participant_id = args[:pending_participant_id] unless args[:pending_participant_id].nil?
4168
+ @previous_match_data = args[:previous_match_data] unless args[:previous_match_data].nil?
4169
+ @rematch_id = args[:rematch_id] unless args[:rematch_id].nil?
4170
+ @results = args[:results] unless args[:results].nil?
4171
+ @status = args[:status] unless args[:status].nil?
4172
+ @user_match_status = args[:user_match_status] unless args[:user_match_status].nil?
4173
+ @variant = args[:variant] unless args[:variant].nil?
4174
+ @with_participant_id = args[:with_participant_id] unless args[:with_participant_id].nil?
4175
+ end
4176
+ end
4177
+
4178
+ # This is a JSON template for a turn-based match creation request.
4179
+ class CreateTurnBasedMatchRequest
4180
+ include Google::Apis::Core::Hashable
4181
+
4182
+ # This is a JSON template for an turn-based auto-match criteria object.
4183
+ # Corresponds to the JSON property `autoMatchingCriteria`
4184
+ # @return [Google::Apis::GamesV1::TurnBasedAutoMatchingCriteria]
4185
+ attr_accessor :auto_matching_criteria
4186
+
4187
+ # The player ids to invite to the match.
4188
+ # Corresponds to the JSON property `invitedPlayerIds`
4189
+ # @return [Array<String>]
4190
+ attr_accessor :invited_player_ids
4191
+
4192
+ # Uniquely identifies the type of this resource. Value is always the fixed
4193
+ # string games#turnBasedMatchCreateRequest.
4194
+ # Corresponds to the JSON property `kind`
4195
+ # @return [String]
4196
+ attr_accessor :kind
4197
+
4198
+ # A randomly generated numeric ID. This number is used at the server to ensure
4199
+ # that the request is handled correctly across retries.
4200
+ # Corresponds to the JSON property `requestId`
4201
+ # @return [String]
4202
+ attr_accessor :request_id
4203
+
4204
+ # The variant / mode of the application to be played. This can be any integer
4205
+ # value, or left blank. You should use a small number of variants to keep the
4206
+ # auto-matching pool as large as possible.
4207
+ # Corresponds to the JSON property `variant`
4208
+ # @return [Fixnum]
4209
+ attr_accessor :variant
4210
+
4211
+ def initialize(**args)
4212
+ update!(**args)
4213
+ end
4214
+
4215
+ # Update properties of this object
4216
+ def update!(**args)
4217
+ @auto_matching_criteria = args[:auto_matching_criteria] unless args[:auto_matching_criteria].nil?
4218
+ @invited_player_ids = args[:invited_player_ids] unless args[:invited_player_ids].nil?
4219
+ @kind = args[:kind] unless args[:kind].nil?
4220
+ @request_id = args[:request_id] unless args[:request_id].nil?
4221
+ @variant = args[:variant] unless args[:variant].nil?
4222
+ end
4223
+ end
4224
+
4225
+ # This is a JSON template for a turn-based match data object.
4226
+ class TurnBasedMatchData
4227
+ include Google::Apis::Core::Hashable
4228
+
4229
+ # The byte representation of the data (limited to 128 kB), as a Base64-encoded
4230
+ # string with the URL_SAFE encoding option.
4231
+ # Corresponds to the JSON property `data`
4232
+ # @return [String]
4233
+ attr_accessor :data
4234
+
4235
+ # True if this match has data available but it wasn't returned in a list
4236
+ # response; fetching the match individually will retrieve this data.
4237
+ # Corresponds to the JSON property `dataAvailable`
4238
+ # @return [Boolean]
4239
+ attr_accessor :data_available
4240
+ alias_method :data_available?, :data_available
4241
+
4242
+ # Uniquely identifies the type of this resource. Value is always the fixed
4243
+ # string games#turnBasedMatchData.
4244
+ # Corresponds to the JSON property `kind`
4245
+ # @return [String]
4246
+ attr_accessor :kind
4247
+
4248
+ def initialize(**args)
4249
+ update!(**args)
4250
+ end
4251
+
4252
+ # Update properties of this object
4253
+ def update!(**args)
4254
+ @data = args[:data] unless args[:data].nil?
4255
+ @data_available = args[:data_available] unless args[:data_available].nil?
4256
+ @kind = args[:kind] unless args[:kind].nil?
4257
+ end
4258
+ end
4259
+
4260
+ # This is a JSON template for sending a turn-based match data object.
4261
+ class TurnBasedMatchDataRequest
4262
+ include Google::Apis::Core::Hashable
4263
+
4264
+ # The byte representation of the data (limited to 128 kB), as a Base64-encoded
4265
+ # string with the URL_SAFE encoding option.
4266
+ # Corresponds to the JSON property `data`
4267
+ # @return [String]
4268
+ attr_accessor :data
4269
+
4270
+ # Uniquely identifies the type of this resource. Value is always the fixed
4271
+ # string games#turnBasedMatchDataRequest.
4272
+ # Corresponds to the JSON property `kind`
4273
+ # @return [String]
4274
+ attr_accessor :kind
4275
+
4276
+ def initialize(**args)
4277
+ update!(**args)
4278
+ end
4279
+
4280
+ # Update properties of this object
4281
+ def update!(**args)
4282
+ @data = args[:data] unless args[:data].nil?
4283
+ @kind = args[:kind] unless args[:kind].nil?
4284
+ end
4285
+ end
4286
+
4287
+ # This is a JSON template for a list of turn-based matches.
4288
+ class TurnBasedMatchList
4289
+ include Google::Apis::Core::Hashable
4290
+
4291
+ # The matches.
4292
+ # Corresponds to the JSON property `items`
4293
+ # @return [Array<Google::Apis::GamesV1::TurnBasedMatch>]
4294
+ attr_accessor :items
4295
+
4296
+ # Uniquely identifies the type of this resource. Value is always the fixed
4297
+ # string games#turnBasedMatchList.
4298
+ # Corresponds to the JSON property `kind`
4299
+ # @return [String]
4300
+ attr_accessor :kind
4301
+
4302
+ # The pagination token for the next page of results.
4303
+ # Corresponds to the JSON property `nextPageToken`
4304
+ # @return [String]
4305
+ attr_accessor :next_page_token
4306
+
4307
+ def initialize(**args)
4308
+ update!(**args)
4309
+ end
4310
+
4311
+ # Update properties of this object
4312
+ def update!(**args)
4313
+ @items = args[:items] unless args[:items].nil?
4314
+ @kind = args[:kind] unless args[:kind].nil?
4315
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
4316
+ end
4317
+ end
4318
+
4319
+ # This is a JSON template for turn-based match modification metadata.
4320
+ class TurnBasedMatchModification
4321
+ include Google::Apis::Core::Hashable
4322
+
4323
+ # Uniquely identifies the type of this resource. Value is always the fixed
4324
+ # string games#turnBasedMatchModification.
4325
+ # Corresponds to the JSON property `kind`
4326
+ # @return [String]
4327
+ attr_accessor :kind
4328
+
4329
+ # The timestamp at which they modified the match, in milliseconds since the
4330
+ # epoch in UTC.
4331
+ # Corresponds to the JSON property `modifiedTimestampMillis`
4332
+ # @return [String]
4333
+ attr_accessor :modified_timestamp_millis
4334
+
4335
+ # The ID of the participant that modified the match.
4336
+ # Corresponds to the JSON property `participantId`
4337
+ # @return [String]
4338
+ attr_accessor :participant_id
4339
+
4340
+ def initialize(**args)
4341
+ update!(**args)
4342
+ end
4343
+
4344
+ # Update properties of this object
4345
+ def update!(**args)
4346
+ @kind = args[:kind] unless args[:kind].nil?
4347
+ @modified_timestamp_millis = args[:modified_timestamp_millis] unless args[:modified_timestamp_millis].nil?
4348
+ @participant_id = args[:participant_id] unless args[:participant_id].nil?
4349
+ end
4350
+ end
4351
+
4352
+ # This is a JSON template for a participant in a turn-based match.
4353
+ class TurnBasedMatchParticipant
4354
+ include Google::Apis::Core::Hashable
4355
+
4356
+ # True if this participant was auto-matched with the requesting player.
4357
+ # Corresponds to the JSON property `autoMatched`
4358
+ # @return [Boolean]
4359
+ attr_accessor :auto_matched
4360
+ alias_method :auto_matched?, :auto_matched
4361
+
4362
+ # This is a JSON template for an anonymous player
4363
+ # Corresponds to the JSON property `autoMatchedPlayer`
4364
+ # @return [Google::Apis::GamesV1::AnonymousPlayer]
4365
+ attr_accessor :auto_matched_player
4366
+
4367
+ # An identifier for the participant in the scope of the match. Cannot be used to
4368
+ # identify a player across matches or in other contexts.
4369
+ # Corresponds to the JSON property `id`
4370
+ # @return [String]
4371
+ attr_accessor :id
4372
+
4373
+ # Uniquely identifies the type of this resource. Value is always the fixed
4374
+ # string games#turnBasedMatchParticipant.
4375
+ # Corresponds to the JSON property `kind`
4376
+ # @return [String]
4377
+ attr_accessor :kind
4378
+
4379
+ # This is a JSON template for a Player resource.
4380
+ # Corresponds to the JSON property `player`
4381
+ # @return [Google::Apis::GamesV1::Player]
4382
+ attr_accessor :player
4383
+
4384
+ # The status of the participant with respect to the match.
4385
+ # Possible values are:
4386
+ # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to
4387
+ # the match, but the invitation has not been sent; the invite will be sent when
4388
+ # it becomes their turn.
4389
+ # - "PARTICIPANT_INVITED" - The participant has been invited to join the match,
4390
+ # but has not yet responded.
4391
+ # - "PARTICIPANT_JOINED" - The participant has joined the match (either after
4392
+ # creating it or accepting an invitation.)
4393
+ # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the
4394
+ # match.
4395
+ # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
4396
+ # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
4397
+ # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the
4398
+ # allotted time.
4399
+ # Corresponds to the JSON property `status`
4400
+ # @return [String]
4401
+ attr_accessor :status
4402
+
4403
+ def initialize(**args)
4404
+ update!(**args)
4405
+ end
4406
+
4407
+ # Update properties of this object
4408
+ def update!(**args)
4409
+ @auto_matched = args[:auto_matched] unless args[:auto_matched].nil?
4410
+ @auto_matched_player = args[:auto_matched_player] unless args[:auto_matched_player].nil?
4411
+ @id = args[:id] unless args[:id].nil?
4412
+ @kind = args[:kind] unless args[:kind].nil?
4413
+ @player = args[:player] unless args[:player].nil?
4414
+ @status = args[:status] unless args[:status].nil?
4415
+ end
4416
+ end
4417
+
4418
+ # This is a JSON template for a rematch response.
4419
+ class TurnBasedMatchRematch
4420
+ include Google::Apis::Core::Hashable
4421
+
4422
+ # Uniquely identifies the type of this resource. Value is always the fixed
4423
+ # string games#turnBasedMatchRematch.
4424
+ # Corresponds to the JSON property `kind`
4425
+ # @return [String]
4426
+ attr_accessor :kind
4427
+
4428
+ # This is a JSON template for a turn-based match resource object.
4429
+ # Corresponds to the JSON property `previousMatch`
4430
+ # @return [Google::Apis::GamesV1::TurnBasedMatch]
4431
+ attr_accessor :previous_match
4432
+
4433
+ # This is a JSON template for a turn-based match resource object.
4434
+ # Corresponds to the JSON property `rematch`
4435
+ # @return [Google::Apis::GamesV1::TurnBasedMatch]
4436
+ attr_accessor :rematch
4437
+
4438
+ def initialize(**args)
4439
+ update!(**args)
4440
+ end
4441
+
4442
+ # Update properties of this object
4443
+ def update!(**args)
4444
+ @kind = args[:kind] unless args[:kind].nil?
4445
+ @previous_match = args[:previous_match] unless args[:previous_match].nil?
4446
+ @rematch = args[:rematch] unless args[:rematch].nil?
4447
+ end
4448
+ end
4449
+
4450
+ # This is a JSON template for a turn-based match results object.
4451
+ class TurnBasedMatchResults
4452
+ include Google::Apis::Core::Hashable
4453
+
4454
+ # This is a JSON template for sending a turn-based match data object.
4455
+ # Corresponds to the JSON property `data`
4456
+ # @return [Google::Apis::GamesV1::TurnBasedMatchDataRequest]
4457
+ attr_accessor :data
4458
+
4459
+ # Uniquely identifies the type of this resource. Value is always the fixed
4460
+ # string games#turnBasedMatchResults.
4461
+ # Corresponds to the JSON property `kind`
4462
+ # @return [String]
4463
+ attr_accessor :kind
4464
+
4465
+ # The version of the match being updated.
4466
+ # Corresponds to the JSON property `matchVersion`
4467
+ # @return [Fixnum]
4468
+ attr_accessor :match_version
4469
+
4470
+ # The match results for the participants in the match.
4471
+ # Corresponds to the JSON property `results`
4472
+ # @return [Array<Google::Apis::GamesV1::ParticipantResult>]
4473
+ attr_accessor :results
4474
+
4475
+ def initialize(**args)
4476
+ update!(**args)
4477
+ end
4478
+
4479
+ # Update properties of this object
4480
+ def update!(**args)
4481
+ @data = args[:data] unless args[:data].nil?
4482
+ @kind = args[:kind] unless args[:kind].nil?
4483
+ @match_version = args[:match_version] unless args[:match_version].nil?
4484
+ @results = args[:results] unless args[:results].nil?
4485
+ end
4486
+ end
4487
+
4488
+ # This is a JSON template for a list of turn-based matches returned from a sync.
4489
+ class TurnBasedMatchSync
4490
+ include Google::Apis::Core::Hashable
4491
+
4492
+ # The matches.
4493
+ # Corresponds to the JSON property `items`
4494
+ # @return [Array<Google::Apis::GamesV1::TurnBasedMatch>]
4495
+ attr_accessor :items
4496
+
4497
+ # Uniquely identifies the type of this resource. Value is always the fixed
4498
+ # string games#turnBasedMatchSync.
4499
+ # Corresponds to the JSON property `kind`
4500
+ # @return [String]
4501
+ attr_accessor :kind
4502
+
4503
+ # True if there were more matches available to fetch at the time the response
4504
+ # was generated (which were not returned due to page size limits.)
4505
+ # Corresponds to the JSON property `moreAvailable`
4506
+ # @return [Boolean]
4507
+ attr_accessor :more_available
4508
+ alias_method :more_available?, :more_available
4509
+
4510
+ # The pagination token for the next page of results.
4511
+ # Corresponds to the JSON property `nextPageToken`
4512
+ # @return [String]
4513
+ attr_accessor :next_page_token
4514
+
4515
+ def initialize(**args)
4516
+ update!(**args)
4517
+ end
4518
+
4519
+ # Update properties of this object
4520
+ def update!(**args)
4521
+ @items = args[:items] unless args[:items].nil?
4522
+ @kind = args[:kind] unless args[:kind].nil?
4523
+ @more_available = args[:more_available] unless args[:more_available].nil?
4524
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
4525
+ end
4526
+ end
4527
+
4528
+ # This is a JSON template for the object representing a turn.
4529
+ class TurnBasedMatchTurn
4530
+ include Google::Apis::Core::Hashable
4531
+
4532
+ # This is a JSON template for sending a turn-based match data object.
4533
+ # Corresponds to the JSON property `data`
4534
+ # @return [Google::Apis::GamesV1::TurnBasedMatchDataRequest]
4535
+ attr_accessor :data
4536
+
4537
+ # Uniquely identifies the type of this resource. Value is always the fixed
4538
+ # string games#turnBasedMatchTurn.
4539
+ # Corresponds to the JSON property `kind`
4540
+ # @return [String]
4541
+ attr_accessor :kind
4542
+
4543
+ # The version of this match: an increasing counter, used to avoid out-of-date
4544
+ # updates to the match.
4545
+ # Corresponds to the JSON property `matchVersion`
4546
+ # @return [Fixnum]
4547
+ attr_accessor :match_version
4548
+
4549
+ # The ID of the participant who should take their turn next. May be set to the
4550
+ # current player's participant ID to update match state without changing the
4551
+ # turn. If not set, the match will wait for other player(s) to join via
4552
+ # automatching; this is only valid if automatch criteria is set on the match
4553
+ # with remaining slots for automatched players.
4554
+ # Corresponds to the JSON property `pendingParticipantId`
4555
+ # @return [String]
4556
+ attr_accessor :pending_participant_id
4557
+
4558
+ # The match results for the participants in the match.
4559
+ # Corresponds to the JSON property `results`
4560
+ # @return [Array<Google::Apis::GamesV1::ParticipantResult>]
4561
+ attr_accessor :results
4562
+
4563
+ def initialize(**args)
4564
+ update!(**args)
4565
+ end
4566
+
4567
+ # Update properties of this object
4568
+ def update!(**args)
4569
+ @data = args[:data] unless args[:data].nil?
4570
+ @kind = args[:kind] unless args[:kind].nil?
4571
+ @match_version = args[:match_version] unless args[:match_version].nil?
4572
+ @pending_participant_id = args[:pending_participant_id] unless args[:pending_participant_id].nil?
4573
+ @results = args[:results] unless args[:results].nil?
4574
+ end
4575
+ end
4576
+ end
4577
+ end
4578
+ end