google-api-client 0.8.6 → 0.9

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 (497) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +22 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +41 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +32 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +181 -148
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1036 -0
  15. data/api_names_out.yaml +26053 -0
  16. data/bin/generate-api +95 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  25. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  26. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  27. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  28. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  29. data/generated/google/apis/admin_directory_v1.rb +113 -0
  30. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  31. data/generated/google/apis/admin_directory_v1/representations.rb +1029 -0
  32. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  33. data/generated/google/apis/admin_reports_v1.rb +38 -0
  34. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  35. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  36. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  37. data/generated/google/apis/adsense_v1_4.rb +38 -0
  38. data/generated/google/apis/adsense_v1_4/classes.rb +1285 -0
  39. data/generated/google/apis/adsense_v1_4/representations.rb +494 -0
  40. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  41. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  42. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  43. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  44. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  45. data/generated/google/apis/analytics_v3.rb +49 -0
  46. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  47. data/generated/google/apis/analytics_v3/representations.rb +1662 -0
  48. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  49. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  50. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  51. data/generated/google/apis/androidenterprise_v1/representations.rb +538 -0
  52. data/generated/google/apis/androidenterprise_v1/service.rb +2602 -0
  53. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  54. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  55. data/generated/google/apis/androidpublisher_v2/representations.rb +646 -0
  56. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  57. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  58. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  59. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  60. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  61. data/generated/google/apis/appsactivity_v1.rb +46 -0
  62. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  63. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  64. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  65. data/generated/google/apis/appstate_v1.rb +34 -0
  66. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  67. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  68. data/generated/google/apis/appstate_v1/service.rb +260 -0
  69. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  70. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  71. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  72. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  73. data/generated/google/apis/bigquery_v2.rb +52 -0
  74. data/generated/google/apis/bigquery_v2/classes.rb +2471 -0
  75. data/generated/google/apis/bigquery_v2/representations.rb +816 -0
  76. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  77. data/generated/google/apis/blogger_v3.rb +37 -0
  78. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  79. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  80. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  81. data/generated/google/apis/books_v1.rb +34 -0
  82. data/generated/google/apis/books_v1/classes.rb +3956 -0
  83. data/generated/google/apis/books_v1/representations.rb +1538 -0
  84. data/generated/google/apis/books_v1/service.rb +2290 -0
  85. data/generated/google/apis/calendar_v3.rb +37 -0
  86. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  87. data/generated/google/apis/calendar_v3/representations.rb +567 -0
  88. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  89. data/{lib/google/api_client/service_account.rb → generated/google/apis/civicinfo_v2.rb} +18 -8
  90. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  91. data/generated/google/apis/civicinfo_v2/representations.rb +383 -0
  92. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  93. data/generated/google/apis/classroom_v1.rb +49 -0
  94. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  95. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  96. data/generated/google/apis/classroom_v1/service.rb +970 -0
  97. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  98. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  99. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  100. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  101. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  102. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  103. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  104. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  105. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  106. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  107. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  108. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  109. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  110. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  111. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  112. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  113. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  114. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +437 -0
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +188 -0
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +623 -0
  117. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  118. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  119. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  120. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  121. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  122. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  123. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  124. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  125. data/generated/google/apis/compute_beta.rb +49 -0
  126. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  127. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  128. data/generated/google/apis/compute_beta/service.rb +10154 -0
  129. data/generated/google/apis/compute_v1.rb +49 -0
  130. data/generated/google/apis/compute_v1/classes.rb +8681 -0
  131. data/generated/google/apis/compute_v1/representations.rb +2895 -0
  132. data/generated/google/apis/compute_v1/service.rb +9252 -0
  133. data/generated/google/apis/container_v1.rb +35 -0
  134. data/generated/google/apis/container_v1/classes.rb +463 -0
  135. data/generated/google/apis/container_v1/representations.rb +175 -0
  136. data/generated/google/apis/container_v1/service.rb +367 -0
  137. data/generated/google/apis/container_v1beta1.rb +35 -0
  138. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  139. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  140. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  141. data/generated/google/apis/content_v2.rb +35 -0
  142. data/generated/google/apis/content_v2/classes.rb +5986 -0
  143. data/generated/google/apis/content_v2/representations.rb +2288 -0
  144. data/generated/google/apis/content_v2/service.rb +2338 -0
  145. data/generated/google/apis/coordinate_v1.rb +37 -0
  146. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  147. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  148. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  149. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  150. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  151. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  152. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  153. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  154. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  155. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  156. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  157. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  158. data/generated/google/apis/deploymentmanager_v2/classes.rb +1091 -0
  159. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  160. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  161. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  162. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  163. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  164. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  165. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  166. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  167. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  168. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  169. data/generated/google/apis/discovery_v1.rb +32 -0
  170. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  171. data/generated/google/apis/discovery_v1/representations.rb +357 -0
  172. data/generated/google/apis/discovery_v1/service.rb +142 -0
  173. data/generated/google/apis/dns_v1.rb +44 -0
  174. data/generated/google/apis/dns_v1/classes.rb +406 -0
  175. data/generated/google/apis/dns_v1/representations.rb +151 -0
  176. data/generated/google/apis/dns_v1/service.rb +454 -0
  177. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  178. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +716 -0
  179. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +298 -0
  180. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +341 -0
  181. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  182. data/generated/google/apis/doubleclicksearch_v2/classes.rb +956 -0
  183. data/generated/google/apis/doubleclicksearch_v2/representations.rb +316 -0
  184. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  185. data/generated/google/apis/drive_v2.rb +58 -0
  186. data/generated/google/apis/drive_v2/classes.rb +2562 -0
  187. data/generated/google/apis/drive_v2/representations.rb +795 -0
  188. data/generated/google/apis/drive_v2/service.rb +2696 -0
  189. data/generated/google/apis/drive_v3.rb +55 -0
  190. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  191. data/generated/google/apis/drive_v3/representations.rb +497 -0
  192. data/generated/google/apis/drive_v3/service.rb +1541 -0
  193. data/generated/google/apis/fitness_v1.rb +49 -0
  194. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  195. data/generated/google/apis/fitness_v1/representations.rb +320 -0
  196. data/generated/google/apis/fitness_v1/service.rb +675 -0
  197. data/generated/google/apis/fusiontables_v2.rb +37 -0
  198. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  199. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  200. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  201. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  202. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  203. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  204. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  205. data/generated/google/apis/games_management_v1management.rb +37 -0
  206. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  207. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  208. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  209. data/generated/google/apis/games_v1.rb +40 -0
  210. data/generated/google/apis/games_v1/classes.rb +4617 -0
  211. data/generated/google/apis/games_v1/representations.rb +1584 -0
  212. data/generated/google/apis/games_v1/service.rb +2290 -0
  213. data/generated/google/apis/gan_v1beta1.rb +31 -0
  214. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  215. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  216. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  217. data/generated/google/apis/genomics_v1.rb +49 -0
  218. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  219. data/generated/google/apis/genomics_v1/representations.rb +909 -0
  220. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  221. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  222. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  223. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  224. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  225. data/generated/google/apis/gmail_v1.rb +52 -0
  226. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  227. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  228. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  229. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  230. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  231. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  232. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  233. data/generated/google/apis/groupssettings_v1.rb +34 -0
  234. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  235. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  236. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  237. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  238. data/generated/google/apis/identitytoolkit_v3/classes.rb +1466 -0
  239. data/generated/google/apis/identitytoolkit_v3/representations.rb +509 -0
  240. data/generated/google/apis/identitytoolkit_v3/service.rb +581 -0
  241. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  242. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  243. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  244. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  245. data/generated/google/apis/licensing_v1.rb +34 -0
  246. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  247. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  248. data/generated/google/apis/licensing_v1/service.rb +369 -0
  249. data/generated/google/apis/logging_v1beta3.rb +47 -0
  250. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  251. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  252. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  253. data/generated/google/apis/manager_v1beta2.rb +53 -0
  254. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  255. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  256. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  257. data/generated/google/apis/mapsengine_v1.rb +38 -0
  258. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  259. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  260. data/generated/google/apis/mapsengine_v1/service.rb +3388 -0
  261. data/generated/google/apis/mirror_v1.rb +37 -0
  262. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  263. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  264. data/generated/google/apis/mirror_v1/service.rb +977 -0
  265. data/generated/google/apis/oauth2_v2.rb +43 -0
  266. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  267. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  268. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  269. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  270. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  271. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  272. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  273. data/generated/google/apis/partners_v2.rb +32 -0
  274. data/generated/google/apis/partners_v2/classes.rb +942 -0
  275. data/generated/google/apis/partners_v2/representations.rb +402 -0
  276. data/generated/google/apis/partners_v2/service.rb +400 -0
  277. data/generated/google/apis/plus_domains_v1.rb +61 -0
  278. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  279. data/generated/google/apis/plus_domains_v1/representations.rb +987 -0
  280. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  281. data/generated/google/apis/plus_v1.rb +43 -0
  282. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  283. data/generated/google/apis/plus_v1/representations.rb +805 -0
  284. data/generated/google/apis/plus_v1/service.rb +470 -0
  285. data/generated/google/apis/prediction_v1_6.rb +44 -0
  286. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  287. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  288. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  289. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  290. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  291. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  292. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  293. data/generated/google/apis/pubsub_v1.rb +37 -0
  294. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  295. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  296. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  297. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  298. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  299. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  300. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  301. data/generated/google/apis/qpx_express_v1.rb +31 -0
  302. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  303. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  304. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  305. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  306. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  307. data/generated/google/apis/replicapool_v1beta2/representations.rb +236 -0
  308. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  309. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  310. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  311. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +264 -0
  312. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  313. data/generated/google/apis/reseller_v1.rb +37 -0
  314. data/generated/google/apis/reseller_v1/classes.rb +520 -0
  315. data/generated/google/apis/reseller_v1/representations.rb +200 -0
  316. data/generated/google/apis/reseller_v1/service.rb +623 -0
  317. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  318. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  319. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  320. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  321. data/generated/google/apis/script_v1.rb +61 -0
  322. data/generated/google/apis/script_v1/classes.rb +259 -0
  323. data/generated/google/apis/script_v1/representations.rb +106 -0
  324. data/generated/google/apis/script_v1/service.rb +98 -0
  325. data/generated/google/apis/site_verification_v1.rb +37 -0
  326. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  327. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  328. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  329. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  330. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2001 -0
  331. data/generated/google/apis/sqladmin_v1beta4/representations.rb +758 -0
  332. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  333. data/generated/google/apis/storage_v1.rb +46 -0
  334. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  335. data/generated/google/apis/storage_v1/representations.rb +445 -0
  336. data/generated/google/apis/storage_v1/service.rb +1903 -0
  337. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  338. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  339. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  340. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  341. data/generated/google/apis/tagmanager_v1.rb +52 -0
  342. data/generated/google/apis/tagmanager_v1/classes.rb +1384 -0
  343. data/generated/google/apis/tagmanager_v1/representations.rb +515 -0
  344. data/generated/google/apis/tagmanager_v1/service.rb +1817 -0
  345. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  346. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  347. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  348. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  349. data/generated/google/apis/tasks_v1.rb +37 -0
  350. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  351. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  352. data/generated/google/apis/tasks_v1/service.rb +643 -0
  353. data/generated/google/apis/translate_v2.rb +31 -0
  354. data/generated/google/apis/translate_v2/classes.rb +168 -0
  355. data/generated/google/apis/translate_v2/representations.rb +109 -0
  356. data/generated/google/apis/translate_v2/service.rb +182 -0
  357. data/generated/google/apis/urlshortener_v1.rb +34 -0
  358. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  359. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  360. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  361. data/generated/google/apis/webmasters_v3.rb +37 -0
  362. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  363. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  364. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  365. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  366. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  367. data/generated/google/apis/youtube_analytics_v1/representations.rb +243 -0
  368. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  369. data/generated/google/apis/youtube_v3.rb +49 -0
  370. data/generated/google/apis/youtube_v3/classes.rb +8136 -0
  371. data/generated/google/apis/youtube_v3/representations.rb +2838 -0
  372. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  373. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  374. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  375. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  376. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  377. data/google-api-client.gemspec +27 -39
  378. data/lib/google/api_client/auth/installed_app.rb +7 -5
  379. data/lib/google/api_client/auth/key_utils.rb +1 -0
  380. data/lib/google/api_client/auth/storage.rb +4 -2
  381. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  382. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  383. data/lib/google/api_client/client_secrets.rb +4 -5
  384. data/lib/google/apis.rb +48 -0
  385. data/lib/google/apis/core/api_command.rb +135 -0
  386. data/lib/google/apis/core/base_service.rb +317 -0
  387. data/lib/google/apis/core/batch.rb +239 -0
  388. data/lib/google/apis/core/download.rb +94 -0
  389. data/lib/google/apis/core/hashable.rb +44 -0
  390. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  391. data/lib/google/apis/core/http_command.rb +312 -0
  392. data/lib/google/apis/core/json_representation.rb +127 -0
  393. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  394. data/lib/google/apis/core/multipart.rb +187 -0
  395. data/lib/google/apis/core/upload.rb +288 -0
  396. data/lib/google/{api_client → apis}/errors.rb +39 -28
  397. data/lib/google/apis/generator.rb +70 -0
  398. data/lib/google/apis/generator/annotator.rb +295 -0
  399. data/lib/google/apis/generator/helpers.rb +74 -0
  400. data/lib/google/apis/generator/model.rb +143 -0
  401. data/lib/google/apis/generator/template.rb +124 -0
  402. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  403. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  404. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  405. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  406. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  407. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  408. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  409. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  410. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  411. data/lib/google/apis/options.rb +85 -0
  412. data/lib/google/apis/version.rb +39 -0
  413. data/rakelib/metrics.rake +22 -0
  414. data/rakelib/rubocop.rake +10 -0
  415. data/rakelib/spec.rake +11 -0
  416. data/rakelib/yard.rake +11 -0
  417. data/samples/Gemfile +7 -0
  418. data/samples/README.md +51 -0
  419. data/samples/google-api-samples +32 -0
  420. data/samples/lib/base_cli.rb +94 -0
  421. data/samples/lib/samples/analytics.rb +62 -0
  422. data/samples/lib/samples/calendar.rb +83 -0
  423. data/samples/lib/samples/drive.rb +82 -0
  424. data/samples/lib/samples/gmail.rb +50 -0
  425. data/samples/lib/samples/pubsub.rb +114 -0
  426. data/samples/lib/samples/translate.rb +44 -0
  427. data/samples/lib/samples/you_tube.rb +44 -0
  428. data/script/generate +95 -0
  429. data/script/package +8 -0
  430. data/script/release +15 -0
  431. data/spec/fixtures/files/api_names.yaml +3 -0
  432. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  433. data/spec/fixtures/files/child/.gitignore +0 -0
  434. data/spec/fixtures/files/client_secrets.json +1 -0
  435. data/spec/fixtures/files/invalid.json +1 -0
  436. data/spec/fixtures/files/test.blah +1 -0
  437. data/spec/fixtures/files/test.txt +1 -0
  438. data/spec/fixtures/files/test_api.json +440 -0
  439. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  440. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  441. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  442. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  443. data/spec/google/apis/core/api_command_spec.rb +209 -0
  444. data/spec/google/apis/core/batch_spec.rb +142 -0
  445. data/spec/google/apis/core/download_spec.rb +103 -0
  446. data/spec/google/apis/core/hashable_spec.rb +60 -0
  447. data/spec/google/apis/core/http_command_spec.rb +284 -0
  448. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  449. data/spec/google/apis/core/service_spec.rb +247 -0
  450. data/spec/google/apis/core/upload_spec.rb +300 -0
  451. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  452. data/spec/google/apis/generator/generator_spec.rb +272 -0
  453. data/spec/google/apis/logging_spec.rb +45 -0
  454. data/spec/google/apis/options_spec.rb +40 -0
  455. data/spec/integration_tests/adsense_spec.rb +29 -0
  456. data/spec/integration_tests/drive_spec.rb +35 -0
  457. data/spec/integration_tests/pubsub_spec.rb +48 -0
  458. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  459. data/spec/spec_helper.rb +131 -44
  460. data/spec/spec_helper/load_path_spec.rb +33 -0
  461. data/third_party/hurley_patches.rb +103 -0
  462. metadata +533 -170
  463. data/lib/compat/multi_json.rb +0 -19
  464. data/lib/google/api_client.rb +0 -750
  465. data/lib/google/api_client/auth/file_storage.rb +0 -59
  466. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  467. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  468. data/lib/google/api_client/batch.rb +0 -326
  469. data/lib/google/api_client/charset.rb +0 -33
  470. data/lib/google/api_client/discovery/api.rb +0 -310
  471. data/lib/google/api_client/discovery/media.rb +0 -77
  472. data/lib/google/api_client/discovery/method.rb +0 -363
  473. data/lib/google/api_client/discovery/resource.rb +0 -156
  474. data/lib/google/api_client/discovery/schema.rb +0 -117
  475. data/lib/google/api_client/environment.rb +0 -42
  476. data/lib/google/api_client/gzip.rb +0 -28
  477. data/lib/google/api_client/logging.rb +0 -32
  478. data/lib/google/api_client/media.rb +0 -259
  479. data/lib/google/api_client/railtie.rb +0 -18
  480. data/lib/google/api_client/request.rb +0 -350
  481. data/lib/google/api_client/result.rb +0 -255
  482. data/lib/google/api_client/service.rb +0 -233
  483. data/lib/google/api_client/service/batch.rb +0 -110
  484. data/lib/google/api_client/service/request.rb +0 -144
  485. data/lib/google/api_client/service/resource.rb +0 -40
  486. data/lib/google/api_client/service/result.rb +0 -162
  487. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  488. data/lib/google/api_client/service/stub_generator.rb +0 -61
  489. data/spec/google/api_client/batch_spec.rb +0 -248
  490. data/spec/google/api_client/discovery_spec.rb +0 -708
  491. data/spec/google/api_client/gzip_spec.rb +0 -98
  492. data/spec/google/api_client/media_spec.rb +0 -178
  493. data/spec/google/api_client/result_spec.rb +0 -207
  494. data/spec/google/api_client/service_account_spec.rb +0 -169
  495. data/spec/google/api_client/service_spec.rb +0 -618
  496. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  497. data/spec/google/api_client_spec.rb +0 -352
@@ -1,4 +1,4 @@
1
- # Copyright 2010 Google Inc.
1
+ # Copyright 2015 Google Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -12,10 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/api_client/auth/pkcs12'
16
- require 'google/api_client/auth/jwt_asserter'
17
- require 'google/api_client/auth/key_utils'
18
- require 'google/api_client/auth/compute_service_account'
19
- require 'google/api_client/auth/storage'
20
- require 'google/api_client/auth/storages/redis_store'
21
- require 'google/api_client/auth/storages/file_store'
15
+ require 'google/apis/civicinfo_v2/service.rb'
16
+ require 'google/apis/civicinfo_v2/classes.rb'
17
+ require 'google/apis/civicinfo_v2/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Civic Information API
22
+ #
23
+ # An API for accessing civic information.
24
+ #
25
+ # @see https://developers.google.com/civic-information
26
+ module CivicinfoV2
27
+ VERSION = 'V2'
28
+ REVISION = '20150820'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,1127 @@
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 CivicinfoV2
24
+
25
+ # Describes information about a regional election administrative area.
26
+ class AdministrationRegion
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Information about an election administrative body (e.g. County Board of
30
+ # Elections).
31
+ # Corresponds to the JSON property `electionAdministrationBody`
32
+ # @return [Google::Apis::CivicinfoV2::AdministrativeBody]
33
+ attr_accessor :election_administration_body
34
+
35
+ # An ID for this object. IDs may change in future requests and should not be
36
+ # cached. Access to this field requires special access that can be requested
37
+ # from the Request more link on the Quotas page.
38
+ # Corresponds to the JSON property `id`
39
+ # @return [String]
40
+ attr_accessor :id
41
+
42
+ # Describes information about a regional election administrative area.
43
+ # Corresponds to the JSON property `local_jurisdiction`
44
+ # @return [Google::Apis::CivicinfoV2::AdministrationRegion]
45
+ attr_accessor :local_jurisdiction
46
+
47
+ # The name of the jurisdiction.
48
+ # Corresponds to the JSON property `name`
49
+ # @return [String]
50
+ attr_accessor :name
51
+
52
+ # A list of sources for this area. If multiple sources are listed the data has
53
+ # been aggregated from those sources.
54
+ # Corresponds to the JSON property `sources`
55
+ # @return [Array<Google::Apis::CivicinfoV2::Source>]
56
+ attr_accessor :sources
57
+
58
+ def initialize(**args)
59
+ update!(**args)
60
+ end
61
+
62
+ # Update properties of this object
63
+ def update!(**args)
64
+ @election_administration_body = args[:election_administration_body] unless args[:election_administration_body].nil?
65
+ @id = args[:id] unless args[:id].nil?
66
+ @local_jurisdiction = args[:local_jurisdiction] unless args[:local_jurisdiction].nil?
67
+ @name = args[:name] unless args[:name].nil?
68
+ @sources = args[:sources] unless args[:sources].nil?
69
+ end
70
+ end
71
+
72
+ # Information about an election administrative body (e.g. County Board of
73
+ # Elections).
74
+ class AdministrativeBody
75
+ include Google::Apis::Core::Hashable
76
+
77
+ # A URL provided by this administrative body for information on absentee voting.
78
+ # Corresponds to the JSON property `absenteeVotingInfoUrl`
79
+ # @return [String]
80
+ attr_accessor :absentee_voting_info_url
81
+
82
+ # A URL provided by this administrative body to give contest information to the
83
+ # voter.
84
+ # Corresponds to the JSON property `ballotInfoUrl`
85
+ # @return [String]
86
+ attr_accessor :ballot_info_url
87
+
88
+ # A simple representation of an address.
89
+ # Corresponds to the JSON property `correspondenceAddress`
90
+ # @return [Google::Apis::CivicinfoV2::SimpleAddressType]
91
+ attr_accessor :correspondence_address
92
+
93
+ # A URL provided by this administrative body for looking up general election
94
+ # information.
95
+ # Corresponds to the JSON property `electionInfoUrl`
96
+ # @return [String]
97
+ attr_accessor :election_info_url
98
+
99
+ # The election officials for this election administrative body.
100
+ # Corresponds to the JSON property `electionOfficials`
101
+ # @return [Array<Google::Apis::CivicinfoV2::ElectionOfficial>]
102
+ attr_accessor :election_officials
103
+
104
+ # A URL provided by this administrative body for confirming that the voter is
105
+ # registered to vote.
106
+ # Corresponds to the JSON property `electionRegistrationConfirmationUrl`
107
+ # @return [String]
108
+ attr_accessor :election_registration_confirmation_url
109
+
110
+ # A URL provided by this administrative body for looking up how to register to
111
+ # vote.
112
+ # Corresponds to the JSON property `electionRegistrationUrl`
113
+ # @return [String]
114
+ attr_accessor :election_registration_url
115
+
116
+ # A URL provided by this administrative body describing election rules to the
117
+ # voter.
118
+ # Corresponds to the JSON property `electionRulesUrl`
119
+ # @return [String]
120
+ attr_accessor :election_rules_url
121
+
122
+ # A description of the hours of operation for this administrative body.
123
+ # Corresponds to the JSON property `hoursOfOperation`
124
+ # @return [String]
125
+ attr_accessor :hours_of_operation
126
+
127
+ # The name of this election administrative body.
128
+ # Corresponds to the JSON property `name`
129
+ # @return [String]
130
+ attr_accessor :name
131
+
132
+ # A simple representation of an address.
133
+ # Corresponds to the JSON property `physicalAddress`
134
+ # @return [Google::Apis::CivicinfoV2::SimpleAddressType]
135
+ attr_accessor :physical_address
136
+
137
+ # A description of the services this administrative body may provide.
138
+ # Corresponds to the JSON property `voter_services`
139
+ # @return [Array<String>]
140
+ attr_accessor :voter_services
141
+
142
+ # A URL provided by this administrative body for looking up where to vote.
143
+ # Corresponds to the JSON property `votingLocationFinderUrl`
144
+ # @return [String]
145
+ attr_accessor :voting_location_finder_url
146
+
147
+ def initialize(**args)
148
+ update!(**args)
149
+ end
150
+
151
+ # Update properties of this object
152
+ def update!(**args)
153
+ @absentee_voting_info_url = args[:absentee_voting_info_url] unless args[:absentee_voting_info_url].nil?
154
+ @ballot_info_url = args[:ballot_info_url] unless args[:ballot_info_url].nil?
155
+ @correspondence_address = args[:correspondence_address] unless args[:correspondence_address].nil?
156
+ @election_info_url = args[:election_info_url] unless args[:election_info_url].nil?
157
+ @election_officials = args[:election_officials] unless args[:election_officials].nil?
158
+ @election_registration_confirmation_url = args[:election_registration_confirmation_url] unless args[:election_registration_confirmation_url].nil?
159
+ @election_registration_url = args[:election_registration_url] unless args[:election_registration_url].nil?
160
+ @election_rules_url = args[:election_rules_url] unless args[:election_rules_url].nil?
161
+ @hours_of_operation = args[:hours_of_operation] unless args[:hours_of_operation].nil?
162
+ @name = args[:name] unless args[:name].nil?
163
+ @physical_address = args[:physical_address] unless args[:physical_address].nil?
164
+ @voter_services = args[:voter_services] unless args[:voter_services].nil?
165
+ @voting_location_finder_url = args[:voting_location_finder_url] unless args[:voting_location_finder_url].nil?
166
+ end
167
+ end
168
+
169
+ # Information about a candidate running for elected office.
170
+ class Candidate
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # The URL for the candidate's campaign web site.
174
+ # Corresponds to the JSON property `candidateUrl`
175
+ # @return [String]
176
+ attr_accessor :candidate_url
177
+
178
+ # A list of known (social) media channels for this candidate.
179
+ # Corresponds to the JSON property `channels`
180
+ # @return [Array<Google::Apis::CivicinfoV2::Channel>]
181
+ attr_accessor :channels
182
+
183
+ # The email address for the candidate's campaign.
184
+ # Corresponds to the JSON property `email`
185
+ # @return [String]
186
+ attr_accessor :email
187
+
188
+ # The candidate's name.
189
+ # Corresponds to the JSON property `name`
190
+ # @return [String]
191
+ attr_accessor :name
192
+
193
+ # The order the candidate appears on the ballot for this contest.
194
+ # Corresponds to the JSON property `orderOnBallot`
195
+ # @return [String]
196
+ attr_accessor :order_on_ballot
197
+
198
+ # The full name of the party the candidate is a member of.
199
+ # Corresponds to the JSON property `party`
200
+ # @return [String]
201
+ attr_accessor :party
202
+
203
+ # The voice phone number for the candidate's campaign office.
204
+ # Corresponds to the JSON property `phone`
205
+ # @return [String]
206
+ attr_accessor :phone
207
+
208
+ # A URL for a photo of the candidate.
209
+ # Corresponds to the JSON property `photoUrl`
210
+ # @return [String]
211
+ attr_accessor :photo_url
212
+
213
+ def initialize(**args)
214
+ update!(**args)
215
+ end
216
+
217
+ # Update properties of this object
218
+ def update!(**args)
219
+ @candidate_url = args[:candidate_url] unless args[:candidate_url].nil?
220
+ @channels = args[:channels] unless args[:channels].nil?
221
+ @email = args[:email] unless args[:email].nil?
222
+ @name = args[:name] unless args[:name].nil?
223
+ @order_on_ballot = args[:order_on_ballot] unless args[:order_on_ballot].nil?
224
+ @party = args[:party] unless args[:party].nil?
225
+ @phone = args[:phone] unless args[:phone].nil?
226
+ @photo_url = args[:photo_url] unless args[:photo_url].nil?
227
+ end
228
+ end
229
+
230
+ # A social media or web channel for a candidate.
231
+ class Channel
232
+ include Google::Apis::Core::Hashable
233
+
234
+ # The unique public identifier for the candidate's channel.
235
+ # Corresponds to the JSON property `id`
236
+ # @return [String]
237
+ attr_accessor :id
238
+
239
+ # The type of channel. The following is a list of types of channels, but is not
240
+ # exhaustive. More channel types may be added at a later time. One of:
241
+ # GooglePlus, YouTube, Facebook, Twitter
242
+ # Corresponds to the JSON property `type`
243
+ # @return [String]
244
+ attr_accessor :type
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @id = args[:id] unless args[:id].nil?
253
+ @type = args[:type] unless args[:type].nil?
254
+ end
255
+ end
256
+
257
+ # Information about a contest that appears on a voter's ballot.
258
+ class Contest
259
+ include Google::Apis::Core::Hashable
260
+
261
+ # A number specifying the position of this contest on the voter's ballot.
262
+ # Corresponds to the JSON property `ballotPlacement`
263
+ # @return [String]
264
+ attr_accessor :ballot_placement
265
+
266
+ # The candidate choices for this contest.
267
+ # Corresponds to the JSON property `candidates`
268
+ # @return [Array<Google::Apis::CivicinfoV2::Candidate>]
269
+ attr_accessor :candidates
270
+
271
+ # Describes the geographic scope of a contest.
272
+ # Corresponds to the JSON property `district`
273
+ # @return [Google::Apis::CivicinfoV2::ElectoralDistrict]
274
+ attr_accessor :district
275
+
276
+ # A description of any additional eligibility requirements for voting in this
277
+ # contest.
278
+ # Corresponds to the JSON property `electorateSpecifications`
279
+ # @return [String]
280
+ attr_accessor :electorate_specifications
281
+
282
+ # An ID for this object. IDs may change in future requests and should not be
283
+ # cached. Access to this field requires special access that can be requested
284
+ # from the Request more link on the Quotas page.
285
+ # Corresponds to the JSON property `id`
286
+ # @return [String]
287
+ attr_accessor :id
288
+
289
+ # The levels of government of the office for this contest. There may be more
290
+ # than one in cases where a jurisdiction effectively acts at two different
291
+ # levels of government; for example, the mayor of the District of Columbia acts
292
+ # at "locality" level, but also effectively at both "administrative-area-2" and "
293
+ # administrative-area-1".
294
+ # Corresponds to the JSON property `level`
295
+ # @return [Array<String>]
296
+ attr_accessor :level
297
+
298
+ # The number of candidates that will be elected to office in this contest.
299
+ # Corresponds to the JSON property `numberElected`
300
+ # @return [String]
301
+ attr_accessor :number_elected
302
+
303
+ # The number of candidates that a voter may vote for in this contest.
304
+ # Corresponds to the JSON property `numberVotingFor`
305
+ # @return [String]
306
+ attr_accessor :number_voting_for
307
+
308
+ # The name of the office for this contest.
309
+ # Corresponds to the JSON property `office`
310
+ # @return [String]
311
+ attr_accessor :office
312
+
313
+ # If this is a partisan election, the name of the party it is for.
314
+ # Corresponds to the JSON property `primaryParty`
315
+ # @return [String]
316
+ attr_accessor :primary_party
317
+
318
+ # The set of ballot responses for the referendum. A ballot response represents a
319
+ # line on the ballot. Common examples might include "yes" or "no" for referenda,
320
+ # or a judge's name for a retention contest. This field is only populated for
321
+ # contests of type 'Referendum'.
322
+ # Corresponds to the JSON property `referendumBallotResponses`
323
+ # @return [Array<String>]
324
+ attr_accessor :referendum_ballot_responses
325
+
326
+ # Specifies a short summary of the referendum that is typically on the ballot
327
+ # below the title but above the text. This field is only populated for contests
328
+ # of type 'Referendum'.
329
+ # Corresponds to the JSON property `referendumBrief`
330
+ # @return [String]
331
+ attr_accessor :referendum_brief
332
+
333
+ # A statement in opposition to the referendum. It does not necessarily appear on
334
+ # the ballot. This field is only populated for contests of type 'Referendum'.
335
+ # Corresponds to the JSON property `referendumConStatement`
336
+ # @return [String]
337
+ attr_accessor :referendum_con_statement
338
+
339
+ # Specifies what effect abstaining (not voting) on the proposition will have (i.
340
+ # e. whether abstaining is considered a vote against it). This field is only
341
+ # populated for contests of type 'Referendum'.
342
+ # Corresponds to the JSON property `referendumEffectOfAbstain`
343
+ # @return [String]
344
+ attr_accessor :referendum_effect_of_abstain
345
+
346
+ # The threshold of votes that the referendum needs in order to pass, e.g. "two-
347
+ # thirds". This field is only populated for contests of type 'Referendum'.
348
+ # Corresponds to the JSON property `referendumPassageThreshold`
349
+ # @return [String]
350
+ attr_accessor :referendum_passage_threshold
351
+
352
+ # A statement in favor of the referendum. It does not necessarily appear on the
353
+ # ballot. This field is only populated for contests of type 'Referendum'.
354
+ # Corresponds to the JSON property `referendumProStatement`
355
+ # @return [String]
356
+ attr_accessor :referendum_pro_statement
357
+
358
+ # A brief description of the referendum. This field is only populated for
359
+ # contests of type 'Referendum'.
360
+ # Corresponds to the JSON property `referendumSubtitle`
361
+ # @return [String]
362
+ attr_accessor :referendum_subtitle
363
+
364
+ # The full text of the referendum. This field is only populated for contests of
365
+ # type 'Referendum'.
366
+ # Corresponds to the JSON property `referendumText`
367
+ # @return [String]
368
+ attr_accessor :referendum_text
369
+
370
+ # The title of the referendum (e.g. 'Proposition 42'). This field is only
371
+ # populated for contests of type 'Referendum'.
372
+ # Corresponds to the JSON property `referendumTitle`
373
+ # @return [String]
374
+ attr_accessor :referendum_title
375
+
376
+ # A link to the referendum. This field is only populated for contests of type '
377
+ # Referendum'.
378
+ # Corresponds to the JSON property `referendumUrl`
379
+ # @return [String]
380
+ attr_accessor :referendum_url
381
+
382
+ # The roles which this office fulfills.
383
+ # Corresponds to the JSON property `roles`
384
+ # @return [Array<String>]
385
+ attr_accessor :roles
386
+
387
+ # A list of sources for this contest. If multiple sources are listed, the data
388
+ # has been aggregated from those sources.
389
+ # Corresponds to the JSON property `sources`
390
+ # @return [Array<Google::Apis::CivicinfoV2::Source>]
391
+ attr_accessor :sources
392
+
393
+ # "Yes" or "No" depending on whether this a contest being held outside the
394
+ # normal election cycle.
395
+ # Corresponds to the JSON property `special`
396
+ # @return [String]
397
+ attr_accessor :special
398
+
399
+ # The type of contest. Usually this will be 'General', 'Primary', or 'Run-off'
400
+ # for contests with candidates. For referenda this will be 'Referendum'.
401
+ # Corresponds to the JSON property `type`
402
+ # @return [String]
403
+ attr_accessor :type
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @ballot_placement = args[:ballot_placement] unless args[:ballot_placement].nil?
412
+ @candidates = args[:candidates] unless args[:candidates].nil?
413
+ @district = args[:district] unless args[:district].nil?
414
+ @electorate_specifications = args[:electorate_specifications] unless args[:electorate_specifications].nil?
415
+ @id = args[:id] unless args[:id].nil?
416
+ @level = args[:level] unless args[:level].nil?
417
+ @number_elected = args[:number_elected] unless args[:number_elected].nil?
418
+ @number_voting_for = args[:number_voting_for] unless args[:number_voting_for].nil?
419
+ @office = args[:office] unless args[:office].nil?
420
+ @primary_party = args[:primary_party] unless args[:primary_party].nil?
421
+ @referendum_ballot_responses = args[:referendum_ballot_responses] unless args[:referendum_ballot_responses].nil?
422
+ @referendum_brief = args[:referendum_brief] unless args[:referendum_brief].nil?
423
+ @referendum_con_statement = args[:referendum_con_statement] unless args[:referendum_con_statement].nil?
424
+ @referendum_effect_of_abstain = args[:referendum_effect_of_abstain] unless args[:referendum_effect_of_abstain].nil?
425
+ @referendum_passage_threshold = args[:referendum_passage_threshold] unless args[:referendum_passage_threshold].nil?
426
+ @referendum_pro_statement = args[:referendum_pro_statement] unless args[:referendum_pro_statement].nil?
427
+ @referendum_subtitle = args[:referendum_subtitle] unless args[:referendum_subtitle].nil?
428
+ @referendum_text = args[:referendum_text] unless args[:referendum_text].nil?
429
+ @referendum_title = args[:referendum_title] unless args[:referendum_title].nil?
430
+ @referendum_url = args[:referendum_url] unless args[:referendum_url].nil?
431
+ @roles = args[:roles] unless args[:roles].nil?
432
+ @sources = args[:sources] unless args[:sources].nil?
433
+ @special = args[:special] unless args[:special].nil?
434
+ @type = args[:type] unless args[:type].nil?
435
+ end
436
+ end
437
+
438
+ # The result of a division search query.
439
+ class DivisionSearchResponse
440
+ include Google::Apis::Core::Hashable
441
+
442
+ # Identifies what kind of resource this is. Value: the fixed string "civicinfo#
443
+ # divisionSearchResponse".
444
+ # Corresponds to the JSON property `kind`
445
+ # @return [String]
446
+ attr_accessor :kind
447
+
448
+ #
449
+ # Corresponds to the JSON property `results`
450
+ # @return [Array<Google::Apis::CivicinfoV2::DivisionSearchResult>]
451
+ attr_accessor :results
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ @kind = args[:kind] unless args[:kind].nil?
460
+ @results = args[:results] unless args[:results].nil?
461
+ end
462
+ end
463
+
464
+ # Represents a political geographic division that matches the requested query.
465
+ class DivisionSearchResult
466
+ include Google::Apis::Core::Hashable
467
+
468
+ # Other Open Civic Data identifiers that refer to the same division -- for
469
+ # example, those that refer to other political divisions whose boundaries are
470
+ # defined to be coterminous with this one. For example, ocd-division/country:us/
471
+ # state:wy will include an alias of ocd-division/country:us/state:wy/cd:1, since
472
+ # Wyoming has only one Congressional district.
473
+ # Corresponds to the JSON property `aliases`
474
+ # @return [Array<String>]
475
+ attr_accessor :aliases
476
+
477
+ # The name of the division.
478
+ # Corresponds to the JSON property `name`
479
+ # @return [String]
480
+ attr_accessor :name
481
+
482
+ # The unique Open Civic Data identifier for this division.
483
+ # Corresponds to the JSON property `ocdId`
484
+ # @return [String]
485
+ attr_accessor :ocd_id
486
+
487
+ def initialize(**args)
488
+ update!(**args)
489
+ end
490
+
491
+ # Update properties of this object
492
+ def update!(**args)
493
+ @aliases = args[:aliases] unless args[:aliases].nil?
494
+ @name = args[:name] unless args[:name].nil?
495
+ @ocd_id = args[:ocd_id] unless args[:ocd_id].nil?
496
+ end
497
+ end
498
+
499
+ # Information about the election that was queried.
500
+ class Election
501
+ include Google::Apis::Core::Hashable
502
+
503
+ # Day of the election in YYYY-MM-DD format.
504
+ # Corresponds to the JSON property `electionDay`
505
+ # @return [String]
506
+ attr_accessor :election_day
507
+
508
+ # The unique ID of this election.
509
+ # Corresponds to the JSON property `id`
510
+ # @return [String]
511
+ attr_accessor :id
512
+
513
+ # A displayable name for the election.
514
+ # Corresponds to the JSON property `name`
515
+ # @return [String]
516
+ attr_accessor :name
517
+
518
+ # The political division of the election. Represented as an OCD Division ID.
519
+ # Voters within these political jurisdictions are covered by this election. This
520
+ # is typically a state such as ocd-division/country:us/state:ca or for the
521
+ # midterms or general election the entire US (i.e. ocd-division/country:us).
522
+ # Corresponds to the JSON property `ocdDivisionId`
523
+ # @return [String]
524
+ attr_accessor :ocd_division_id
525
+
526
+ def initialize(**args)
527
+ update!(**args)
528
+ end
529
+
530
+ # Update properties of this object
531
+ def update!(**args)
532
+ @election_day = args[:election_day] unless args[:election_day].nil?
533
+ @id = args[:id] unless args[:id].nil?
534
+ @name = args[:name] unless args[:name].nil?
535
+ @ocd_division_id = args[:ocd_division_id] unless args[:ocd_division_id].nil?
536
+ end
537
+ end
538
+
539
+ # Information about individual election officials.
540
+ class ElectionOfficial
541
+ include Google::Apis::Core::Hashable
542
+
543
+ # The email address of the election official.
544
+ # Corresponds to the JSON property `emailAddress`
545
+ # @return [String]
546
+ attr_accessor :email_address
547
+
548
+ # The fax number of the election official.
549
+ # Corresponds to the JSON property `faxNumber`
550
+ # @return [String]
551
+ attr_accessor :fax_number
552
+
553
+ # The full name of the election official.
554
+ # Corresponds to the JSON property `name`
555
+ # @return [String]
556
+ attr_accessor :name
557
+
558
+ # The office phone number of the election official.
559
+ # Corresponds to the JSON property `officePhoneNumber`
560
+ # @return [String]
561
+ attr_accessor :office_phone_number
562
+
563
+ # The title of the election official.
564
+ # Corresponds to the JSON property `title`
565
+ # @return [String]
566
+ attr_accessor :title
567
+
568
+ def initialize(**args)
569
+ update!(**args)
570
+ end
571
+
572
+ # Update properties of this object
573
+ def update!(**args)
574
+ @email_address = args[:email_address] unless args[:email_address].nil?
575
+ @fax_number = args[:fax_number] unless args[:fax_number].nil?
576
+ @name = args[:name] unless args[:name].nil?
577
+ @office_phone_number = args[:office_phone_number] unless args[:office_phone_number].nil?
578
+ @title = args[:title] unless args[:title].nil?
579
+ end
580
+ end
581
+
582
+ # The list of elections available for this version of the API.
583
+ class QueryElectionsResponse
584
+ include Google::Apis::Core::Hashable
585
+
586
+ # A list of available elections
587
+ # Corresponds to the JSON property `elections`
588
+ # @return [Array<Google::Apis::CivicinfoV2::Election>]
589
+ attr_accessor :elections
590
+
591
+ # Identifies what kind of resource this is. Value: the fixed string "civicinfo#
592
+ # electionsQueryResponse".
593
+ # Corresponds to the JSON property `kind`
594
+ # @return [String]
595
+ attr_accessor :kind
596
+
597
+ def initialize(**args)
598
+ update!(**args)
599
+ end
600
+
601
+ # Update properties of this object
602
+ def update!(**args)
603
+ @elections = args[:elections] unless args[:elections].nil?
604
+ @kind = args[:kind] unless args[:kind].nil?
605
+ end
606
+ end
607
+
608
+ # Describes the geographic scope of a contest.
609
+ class ElectoralDistrict
610
+ include Google::Apis::Core::Hashable
611
+
612
+ # An identifier for this district, relative to its scope. For example, the 34th
613
+ # State Senate district would have id "34" and a scope of stateUpper.
614
+ # Corresponds to the JSON property `id`
615
+ # @return [String]
616
+ attr_accessor :id
617
+
618
+ # The name of the district.
619
+ # Corresponds to the JSON property `name`
620
+ # @return [String]
621
+ attr_accessor :name
622
+
623
+ # The geographic scope of this district. If unspecified the district's geography
624
+ # is not known. One of: national, statewide, congressional, stateUpper,
625
+ # stateLower, countywide, judicial, schoolBoard, cityWide, township,
626
+ # countyCouncil, cityCouncil, ward, special
627
+ # Corresponds to the JSON property `scope`
628
+ # @return [String]
629
+ attr_accessor :scope
630
+
631
+ def initialize(**args)
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @id = args[:id] unless args[:id].nil?
638
+ @name = args[:name] unless args[:name].nil?
639
+ @scope = args[:scope] unless args[:scope].nil?
640
+ end
641
+ end
642
+
643
+ # Describes a political geography.
644
+ class GeographicDivision
645
+ include Google::Apis::Core::Hashable
646
+
647
+ # Any other valid OCD IDs that refer to the same division.
648
+ # Because OCD IDs are meant to be human-readable and at least somewhat
649
+ # predictable, there are occasionally several identifiers for a single division.
650
+ # These identifiers are defined to be equivalent to one another, and one is
651
+ # always indicated as the primary identifier. The primary identifier will be
652
+ # returned in ocd_id above, and any other equivalent valid identifiers will be
653
+ # returned in this list.
654
+ # For example, if this division's OCD ID is ocd-division/country:us/district:dc,
655
+ # this will contain ocd-division/country:us/state:dc.
656
+ # Corresponds to the JSON property `alsoKnownAs`
657
+ # @return [Array<String>]
658
+ attr_accessor :also_known_as
659
+
660
+ # The name of the division.
661
+ # Corresponds to the JSON property `name`
662
+ # @return [String]
663
+ attr_accessor :name
664
+
665
+ # List of indices in the offices array, one for each office elected from this
666
+ # division. Will only be present if includeOffices was true (or absent) in the
667
+ # request.
668
+ # Corresponds to the JSON property `officeIndices`
669
+ # @return [Array<Fixnum>]
670
+ attr_accessor :office_indices
671
+
672
+ def initialize(**args)
673
+ update!(**args)
674
+ end
675
+
676
+ # Update properties of this object
677
+ def update!(**args)
678
+ @also_known_as = args[:also_known_as] unless args[:also_known_as].nil?
679
+ @name = args[:name] unless args[:name].nil?
680
+ @office_indices = args[:office_indices] unless args[:office_indices].nil?
681
+ end
682
+ end
683
+
684
+ # Information about an Office held by one or more Officials.
685
+ class Office
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # The OCD ID of the division with which this office is associated.
689
+ # Corresponds to the JSON property `divisionId`
690
+ # @return [String]
691
+ attr_accessor :division_id
692
+
693
+ # The levels of government of which this office is part. There may be more than
694
+ # one in cases where a jurisdiction effectively acts at two different levels of
695
+ # government; for example, the mayor of the District of Columbia acts at "
696
+ # locality" level, but also effectively at both "administrative-area-2" and "
697
+ # administrative-area-1".
698
+ # Corresponds to the JSON property `levels`
699
+ # @return [Array<String>]
700
+ attr_accessor :levels
701
+
702
+ # The human-readable name of the office.
703
+ # Corresponds to the JSON property `name`
704
+ # @return [String]
705
+ attr_accessor :name
706
+
707
+ # List of indices in the officials array of people who presently hold this
708
+ # office.
709
+ # Corresponds to the JSON property `officialIndices`
710
+ # @return [Array<Fixnum>]
711
+ attr_accessor :official_indices
712
+
713
+ # The roles which this office fulfills. Roles are not meant to be exhaustive, or
714
+ # to exactly specify the entire set of responsibilities of a given office, but
715
+ # are meant to be rough categories that are useful for general selection from or
716
+ # sorting of a list of offices.
717
+ # Corresponds to the JSON property `roles`
718
+ # @return [Array<String>]
719
+ attr_accessor :roles
720
+
721
+ # A list of sources for this office. If multiple sources are listed, the data
722
+ # has been aggregated from those sources.
723
+ # Corresponds to the JSON property `sources`
724
+ # @return [Array<Google::Apis::CivicinfoV2::Source>]
725
+ attr_accessor :sources
726
+
727
+ def initialize(**args)
728
+ update!(**args)
729
+ end
730
+
731
+ # Update properties of this object
732
+ def update!(**args)
733
+ @division_id = args[:division_id] unless args[:division_id].nil?
734
+ @levels = args[:levels] unless args[:levels].nil?
735
+ @name = args[:name] unless args[:name].nil?
736
+ @official_indices = args[:official_indices] unless args[:official_indices].nil?
737
+ @roles = args[:roles] unless args[:roles].nil?
738
+ @sources = args[:sources] unless args[:sources].nil?
739
+ end
740
+ end
741
+
742
+ # Information about a person holding an elected office.
743
+ class Official
744
+ include Google::Apis::Core::Hashable
745
+
746
+ # Addresses at which to contact the official.
747
+ # Corresponds to the JSON property `address`
748
+ # @return [Array<Google::Apis::CivicinfoV2::SimpleAddressType>]
749
+ attr_accessor :address
750
+
751
+ # A list of known (social) media channels for this official.
752
+ # Corresponds to the JSON property `channels`
753
+ # @return [Array<Google::Apis::CivicinfoV2::Channel>]
754
+ attr_accessor :channels
755
+
756
+ # The direct email addresses for the official.
757
+ # Corresponds to the JSON property `emails`
758
+ # @return [Array<String>]
759
+ attr_accessor :emails
760
+
761
+ # The official's name.
762
+ # Corresponds to the JSON property `name`
763
+ # @return [String]
764
+ attr_accessor :name
765
+
766
+ # The full name of the party the official belongs to.
767
+ # Corresponds to the JSON property `party`
768
+ # @return [String]
769
+ attr_accessor :party
770
+
771
+ # The official's public contact phone numbers.
772
+ # Corresponds to the JSON property `phones`
773
+ # @return [Array<String>]
774
+ attr_accessor :phones
775
+
776
+ # A URL for a photo of the official.
777
+ # Corresponds to the JSON property `photoUrl`
778
+ # @return [String]
779
+ attr_accessor :photo_url
780
+
781
+ # The official's public website URLs.
782
+ # Corresponds to the JSON property `urls`
783
+ # @return [Array<String>]
784
+ attr_accessor :urls
785
+
786
+ def initialize(**args)
787
+ update!(**args)
788
+ end
789
+
790
+ # Update properties of this object
791
+ def update!(**args)
792
+ @address = args[:address] unless args[:address].nil?
793
+ @channels = args[:channels] unless args[:channels].nil?
794
+ @emails = args[:emails] unless args[:emails].nil?
795
+ @name = args[:name] unless args[:name].nil?
796
+ @party = args[:party] unless args[:party].nil?
797
+ @phones = args[:phones] unless args[:phones].nil?
798
+ @photo_url = args[:photo_url] unless args[:photo_url].nil?
799
+ @urls = args[:urls] unless args[:urls].nil?
800
+ end
801
+ end
802
+
803
+ # A location where a voter can vote. This may be an early vote site, an election
804
+ # day voting location, or a drop off location for a completed ballot.
805
+ class PollingLocation
806
+ include Google::Apis::Core::Hashable
807
+
808
+ # A simple representation of an address.
809
+ # Corresponds to the JSON property `address`
810
+ # @return [Google::Apis::CivicinfoV2::SimpleAddressType]
811
+ attr_accessor :address
812
+
813
+ # The last date that this early vote site or drop off location may be used. This
814
+ # field is not populated for polling locations.
815
+ # Corresponds to the JSON property `endDate`
816
+ # @return [String]
817
+ attr_accessor :end_date
818
+
819
+ # An ID for this object. IDs may change in future requests and should not be
820
+ # cached. Access to this field requires special access that can be requested
821
+ # from the Request more link on the Quotas page.
822
+ # Corresponds to the JSON property `id`
823
+ # @return [String]
824
+ attr_accessor :id
825
+
826
+ # The name of the early vote site or drop off location. This field is not
827
+ # populated for polling locations.
828
+ # Corresponds to the JSON property `name`
829
+ # @return [String]
830
+ attr_accessor :name
831
+
832
+ # Notes about this location (e.g. accessibility ramp or entrance to use).
833
+ # Corresponds to the JSON property `notes`
834
+ # @return [String]
835
+ attr_accessor :notes
836
+
837
+ # A description of when this location is open.
838
+ # Corresponds to the JSON property `pollingHours`
839
+ # @return [String]
840
+ attr_accessor :polling_hours
841
+
842
+ # A list of sources for this location. If multiple sources are listed the data
843
+ # has been aggregated from those sources.
844
+ # Corresponds to the JSON property `sources`
845
+ # @return [Array<Google::Apis::CivicinfoV2::Source>]
846
+ attr_accessor :sources
847
+
848
+ # The first date that this early vote site or drop off location may be used.
849
+ # This field is not populated for polling locations.
850
+ # Corresponds to the JSON property `startDate`
851
+ # @return [String]
852
+ attr_accessor :start_date
853
+
854
+ # The services provided by this early vote site or drop off location. This field
855
+ # is not populated for polling locations.
856
+ # Corresponds to the JSON property `voterServices`
857
+ # @return [String]
858
+ attr_accessor :voter_services
859
+
860
+ def initialize(**args)
861
+ update!(**args)
862
+ end
863
+
864
+ # Update properties of this object
865
+ def update!(**args)
866
+ @address = args[:address] unless args[:address].nil?
867
+ @end_date = args[:end_date] unless args[:end_date].nil?
868
+ @id = args[:id] unless args[:id].nil?
869
+ @name = args[:name] unless args[:name].nil?
870
+ @notes = args[:notes] unless args[:notes].nil?
871
+ @polling_hours = args[:polling_hours] unless args[:polling_hours].nil?
872
+ @sources = args[:sources] unless args[:sources].nil?
873
+ @start_date = args[:start_date] unless args[:start_date].nil?
874
+ @voter_services = args[:voter_services] unless args[:voter_services].nil?
875
+ end
876
+ end
877
+
878
+ #
879
+ class RepresentativeInfoData
880
+ include Google::Apis::Core::Hashable
881
+
882
+ # Political geographic divisions that contain the requested address.
883
+ # Corresponds to the JSON property `divisions`
884
+ # @return [Hash<String,Google::Apis::CivicinfoV2::GeographicDivision>]
885
+ attr_accessor :divisions
886
+
887
+ # Elected offices referenced by the divisions listed above. Will only be present
888
+ # if includeOffices was true in the request.
889
+ # Corresponds to the JSON property `offices`
890
+ # @return [Array<Google::Apis::CivicinfoV2::Office>]
891
+ attr_accessor :offices
892
+
893
+ # Officials holding the offices listed above. Will only be present if
894
+ # includeOffices was true in the request.
895
+ # Corresponds to the JSON property `officials`
896
+ # @return [Array<Google::Apis::CivicinfoV2::Official>]
897
+ attr_accessor :officials
898
+
899
+ def initialize(**args)
900
+ update!(**args)
901
+ end
902
+
903
+ # Update properties of this object
904
+ def update!(**args)
905
+ @divisions = args[:divisions] unless args[:divisions].nil?
906
+ @offices = args[:offices] unless args[:offices].nil?
907
+ @officials = args[:officials] unless args[:officials].nil?
908
+ end
909
+ end
910
+
911
+ # The result of a representative info lookup query.
912
+ class RepresentativeInfoResponse
913
+ include Google::Apis::Core::Hashable
914
+
915
+ # Political geographic divisions that contain the requested address.
916
+ # Corresponds to the JSON property `divisions`
917
+ # @return [Hash<String,Google::Apis::CivicinfoV2::GeographicDivision>]
918
+ attr_accessor :divisions
919
+
920
+ # Identifies what kind of resource this is. Value: the fixed string "civicinfo#
921
+ # representativeInfoResponse".
922
+ # Corresponds to the JSON property `kind`
923
+ # @return [String]
924
+ attr_accessor :kind
925
+
926
+ # A simple representation of an address.
927
+ # Corresponds to the JSON property `normalizedInput`
928
+ # @return [Google::Apis::CivicinfoV2::SimpleAddressType]
929
+ attr_accessor :normalized_input
930
+
931
+ # Elected offices referenced by the divisions listed above. Will only be present
932
+ # if includeOffices was true in the request.
933
+ # Corresponds to the JSON property `offices`
934
+ # @return [Array<Google::Apis::CivicinfoV2::Office>]
935
+ attr_accessor :offices
936
+
937
+ # Officials holding the offices listed above. Will only be present if
938
+ # includeOffices was true in the request.
939
+ # Corresponds to the JSON property `officials`
940
+ # @return [Array<Google::Apis::CivicinfoV2::Official>]
941
+ attr_accessor :officials
942
+
943
+ def initialize(**args)
944
+ update!(**args)
945
+ end
946
+
947
+ # Update properties of this object
948
+ def update!(**args)
949
+ @divisions = args[:divisions] unless args[:divisions].nil?
950
+ @kind = args[:kind] unless args[:kind].nil?
951
+ @normalized_input = args[:normalized_input] unless args[:normalized_input].nil?
952
+ @offices = args[:offices] unless args[:offices].nil?
953
+ @officials = args[:officials] unless args[:officials].nil?
954
+ end
955
+ end
956
+
957
+ # A simple representation of an address.
958
+ class SimpleAddressType
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # The city or town for the address.
962
+ # Corresponds to the JSON property `city`
963
+ # @return [String]
964
+ attr_accessor :city
965
+
966
+ # The street name and number of this address.
967
+ # Corresponds to the JSON property `line1`
968
+ # @return [String]
969
+ attr_accessor :line1
970
+
971
+ # The second line the address, if needed.
972
+ # Corresponds to the JSON property `line2`
973
+ # @return [String]
974
+ attr_accessor :line2
975
+
976
+ # The third line of the address, if needed.
977
+ # Corresponds to the JSON property `line3`
978
+ # @return [String]
979
+ attr_accessor :line3
980
+
981
+ # The name of the location.
982
+ # Corresponds to the JSON property `locationName`
983
+ # @return [String]
984
+ attr_accessor :location_name
985
+
986
+ # The US two letter state abbreviation of the address.
987
+ # Corresponds to the JSON property `state`
988
+ # @return [String]
989
+ attr_accessor :state
990
+
991
+ # The US Postal Zip Code of the address.
992
+ # Corresponds to the JSON property `zip`
993
+ # @return [String]
994
+ attr_accessor :zip
995
+
996
+ def initialize(**args)
997
+ update!(**args)
998
+ end
999
+
1000
+ # Update properties of this object
1001
+ def update!(**args)
1002
+ @city = args[:city] unless args[:city].nil?
1003
+ @line1 = args[:line1] unless args[:line1].nil?
1004
+ @line2 = args[:line2] unless args[:line2].nil?
1005
+ @line3 = args[:line3] unless args[:line3].nil?
1006
+ @location_name = args[:location_name] unless args[:location_name].nil?
1007
+ @state = args[:state] unless args[:state].nil?
1008
+ @zip = args[:zip] unless args[:zip].nil?
1009
+ end
1010
+ end
1011
+
1012
+ # Contains information about the data source for the element containing it.
1013
+ class Source
1014
+ include Google::Apis::Core::Hashable
1015
+
1016
+ # The name of the data source.
1017
+ # Corresponds to the JSON property `name`
1018
+ # @return [String]
1019
+ attr_accessor :name
1020
+
1021
+ # Whether this data comes from an official government source.
1022
+ # Corresponds to the JSON property `official`
1023
+ # @return [Boolean]
1024
+ attr_accessor :official
1025
+ alias_method :official?, :official
1026
+
1027
+ def initialize(**args)
1028
+ update!(**args)
1029
+ end
1030
+
1031
+ # Update properties of this object
1032
+ def update!(**args)
1033
+ @name = args[:name] unless args[:name].nil?
1034
+ @official = args[:official] unless args[:official].nil?
1035
+ end
1036
+ end
1037
+
1038
+ # The result of a voter info lookup query.
1039
+ class VoterInfoResponse
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # Contests that will appear on the voter's ballot.
1043
+ # Corresponds to the JSON property `contests`
1044
+ # @return [Array<Google::Apis::CivicinfoV2::Contest>]
1045
+ attr_accessor :contests
1046
+
1047
+ # Locations where a voter is eligible to drop off a completed ballot. The voter
1048
+ # must have received and completed a ballot prior to arriving at the location.
1049
+ # The location may not have ballots available on the premises. These locations
1050
+ # could be open on or before election day as indicated in the pollingHours field.
1051
+ # Corresponds to the JSON property `dropOffLocations`
1052
+ # @return [Array<Google::Apis::CivicinfoV2::PollingLocation>]
1053
+ attr_accessor :drop_off_locations
1054
+
1055
+ # Locations where the voter is eligible to vote early, prior to election day.
1056
+ # Corresponds to the JSON property `earlyVoteSites`
1057
+ # @return [Array<Google::Apis::CivicinfoV2::PollingLocation>]
1058
+ attr_accessor :early_vote_sites
1059
+
1060
+ # Information about the election that was queried.
1061
+ # Corresponds to the JSON property `election`
1062
+ # @return [Google::Apis::CivicinfoV2::Election]
1063
+ attr_accessor :election
1064
+
1065
+ # Identifies what kind of resource this is. Value: the fixed string "civicinfo#
1066
+ # voterInfoResponse".
1067
+ # Corresponds to the JSON property `kind`
1068
+ # @return [String]
1069
+ attr_accessor :kind
1070
+
1071
+ # Specifies whether voters in the precinct vote only by mailing their ballots (
1072
+ # with the possible option of dropping off their ballots as well).
1073
+ # Corresponds to the JSON property `mailOnly`
1074
+ # @return [Boolean]
1075
+ attr_accessor :mail_only
1076
+ alias_method :mail_only?, :mail_only
1077
+
1078
+ # A simple representation of an address.
1079
+ # Corresponds to the JSON property `normalizedInput`
1080
+ # @return [Google::Apis::CivicinfoV2::SimpleAddressType]
1081
+ attr_accessor :normalized_input
1082
+
1083
+ # If no election ID was specified in the query, and there was more than one
1084
+ # election with data for the given voter, this will contain information about
1085
+ # the other elections that could apply.
1086
+ # Corresponds to the JSON property `otherElections`
1087
+ # @return [Array<Google::Apis::CivicinfoV2::Election>]
1088
+ attr_accessor :other_elections
1089
+
1090
+ # Locations where the voter is eligible to vote on election day.
1091
+ # Corresponds to the JSON property `pollingLocations`
1092
+ # @return [Array<Google::Apis::CivicinfoV2::PollingLocation>]
1093
+ attr_accessor :polling_locations
1094
+
1095
+ #
1096
+ # Corresponds to the JSON property `precinctId`
1097
+ # @return [String]
1098
+ attr_accessor :precinct_id
1099
+
1100
+ # Local Election Information for the state that the voter votes in. For the US,
1101
+ # there will only be one element in this array.
1102
+ # Corresponds to the JSON property `state`
1103
+ # @return [Array<Google::Apis::CivicinfoV2::AdministrationRegion>]
1104
+ attr_accessor :state
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @contests = args[:contests] unless args[:contests].nil?
1113
+ @drop_off_locations = args[:drop_off_locations] unless args[:drop_off_locations].nil?
1114
+ @early_vote_sites = args[:early_vote_sites] unless args[:early_vote_sites].nil?
1115
+ @election = args[:election] unless args[:election].nil?
1116
+ @kind = args[:kind] unless args[:kind].nil?
1117
+ @mail_only = args[:mail_only] unless args[:mail_only].nil?
1118
+ @normalized_input = args[:normalized_input] unless args[:normalized_input].nil?
1119
+ @other_elections = args[:other_elections] unless args[:other_elections].nil?
1120
+ @polling_locations = args[:polling_locations] unless args[:polling_locations].nil?
1121
+ @precinct_id = args[:precinct_id] unless args[:precinct_id].nil?
1122
+ @state = args[:state] unless args[:state].nil?
1123
+ end
1124
+ end
1125
+ end
1126
+ end
1127
+ end