google-api-client 0.8.7 → 0.9.pre1

Sign up to get free protection for your applications and to get access to all the features.
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