lemboy-google-api-client 0.9.26

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