google-api-client 0.8.7 → 0.9.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,380 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module ManagerV1beta2
23
+ # Deployment Manager API
24
+ #
25
+ # The Deployment Manager API allows users to declaratively configure, deploy and
26
+ # run complex solutions on the Google Cloud Platform.
27
+ #
28
+ # @example
29
+ # require 'google/apis/manager_v1beta2'
30
+ #
31
+ # Manager = Google::Apis::ManagerV1beta2 # Alias the module
32
+ # service = Manager::ManagerService.new
33
+ #
34
+ # @see https://developers.google.com/deployment-manager/
35
+ class ManagerService < Google::Apis::Core::BaseService
36
+ # @return [String]
37
+ # API key. Your API key identifies your project and provides you with API access,
38
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
39
+ attr_accessor :key
40
+
41
+ # @return [String]
42
+ # Available to use for quota purposes for server-side applications. Can be any
43
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
44
+ # Overrides userIp if both are provided.
45
+ attr_accessor :quota_user
46
+
47
+ # @return [String]
48
+ # IP address of the site where the request originates. Use this if you want to
49
+ # enforce per-user limits.
50
+ attr_accessor :user_ip
51
+
52
+ def initialize
53
+ super('https://www.googleapis.com/', 'manager/v1beta2/projects/')
54
+ end
55
+
56
+ #
57
+ # @param [String] project_id
58
+ # @param [String] region
59
+ # @param [String] deployment_name
60
+ # @param [String] fields
61
+ # Selector specifying which fields to include in a partial response.
62
+ # @param [String] quota_user
63
+ # Available to use for quota purposes for server-side applications. Can be any
64
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
65
+ # Overrides userIp if both are provided.
66
+ # @param [String] user_ip
67
+ # IP address of the site where the request originates. Use this if you want to
68
+ # enforce per-user limits.
69
+ # @param [Google::Apis::RequestOptions] options
70
+ # Request-specific options
71
+ #
72
+ # @yield [result, err] Result & error if block supplied
73
+ # @yieldparam result [NilClass] No result returned for this method
74
+ # @yieldparam err [StandardError] error object if request failed
75
+ #
76
+ # @return [void]
77
+ #
78
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
79
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
80
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
81
+ def delete_deployment(project_id, region, deployment_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
82
+ path = '{projectId}/regions/{region}/deployments/{deploymentName}'
83
+ command = make_simple_command(:delete, path, options)
84
+ command.params['projectId'] = project_id unless project_id.nil?
85
+ command.params['region'] = region unless region.nil?
86
+ command.params['deploymentName'] = deployment_name unless deployment_name.nil?
87
+ command.query['fields'] = fields unless fields.nil?
88
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
89
+ command.query['userIp'] = user_ip unless user_ip.nil?
90
+ execute_or_queue_command(command, &block)
91
+ end
92
+
93
+ #
94
+ # @param [String] project_id
95
+ # @param [String] region
96
+ # @param [String] deployment_name
97
+ # @param [String] fields
98
+ # Selector specifying which fields to include in a partial response.
99
+ # @param [String] quota_user
100
+ # Available to use for quota purposes for server-side applications. Can be any
101
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
102
+ # Overrides userIp if both are provided.
103
+ # @param [String] user_ip
104
+ # IP address of the site where the request originates. Use this if you want to
105
+ # enforce per-user limits.
106
+ # @param [Google::Apis::RequestOptions] options
107
+ # Request-specific options
108
+ #
109
+ # @yield [result, err] Result & error if block supplied
110
+ # @yieldparam result [Google::Apis::ManagerV1beta2::Deployment] parsed result object
111
+ # @yieldparam err [StandardError] error object if request failed
112
+ #
113
+ # @return [Google::Apis::ManagerV1beta2::Deployment]
114
+ #
115
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
116
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
117
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
118
+ def get_deployment(project_id, region, deployment_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
119
+ path = '{projectId}/regions/{region}/deployments/{deploymentName}'
120
+ command = make_simple_command(:get, path, options)
121
+ command.response_representation = Google::Apis::ManagerV1beta2::Deployment::Representation
122
+ command.response_class = Google::Apis::ManagerV1beta2::Deployment
123
+ command.params['projectId'] = project_id unless project_id.nil?
124
+ command.params['region'] = region unless region.nil?
125
+ command.params['deploymentName'] = deployment_name unless deployment_name.nil?
126
+ command.query['fields'] = fields unless fields.nil?
127
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
128
+ command.query['userIp'] = user_ip unless user_ip.nil?
129
+ execute_or_queue_command(command, &block)
130
+ end
131
+
132
+ #
133
+ # @param [String] project_id
134
+ # @param [String] region
135
+ # @param [Google::Apis::ManagerV1beta2::Deployment] deployment_object
136
+ # @param [String] fields
137
+ # Selector specifying which fields to include in a partial response.
138
+ # @param [String] quota_user
139
+ # Available to use for quota purposes for server-side applications. Can be any
140
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
141
+ # Overrides userIp if both are provided.
142
+ # @param [String] user_ip
143
+ # IP address of the site where the request originates. Use this if you want to
144
+ # enforce per-user limits.
145
+ # @param [Google::Apis::RequestOptions] options
146
+ # Request-specific options
147
+ #
148
+ # @yield [result, err] Result & error if block supplied
149
+ # @yieldparam result [Google::Apis::ManagerV1beta2::Deployment] parsed result object
150
+ # @yieldparam err [StandardError] error object if request failed
151
+ #
152
+ # @return [Google::Apis::ManagerV1beta2::Deployment]
153
+ #
154
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
155
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
156
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
157
+ def insert_deployment(project_id, region, deployment_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
158
+ path = '{projectId}/regions/{region}/deployments'
159
+ command = make_simple_command(:post, path, options)
160
+ command.request_representation = Google::Apis::ManagerV1beta2::Deployment::Representation
161
+ command.request_object = deployment_object
162
+ command.response_representation = Google::Apis::ManagerV1beta2::Deployment::Representation
163
+ command.response_class = Google::Apis::ManagerV1beta2::Deployment
164
+ command.params['projectId'] = project_id unless project_id.nil?
165
+ command.params['region'] = region unless region.nil?
166
+ command.query['fields'] = fields unless fields.nil?
167
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
168
+ command.query['userIp'] = user_ip unless user_ip.nil?
169
+ execute_or_queue_command(command, &block)
170
+ end
171
+
172
+ #
173
+ # @param [String] project_id
174
+ # @param [String] region
175
+ # @param [Fixnum] max_results
176
+ # Maximum count of results to be returned. Acceptable values are 0 to 100,
177
+ # inclusive. (Default: 50)
178
+ # @param [String] page_token
179
+ # Specifies a nextPageToken returned by a previous list request. This token can
180
+ # be used to request the next page of results from a previous list request.
181
+ # @param [String] fields
182
+ # Selector specifying which fields to include in a partial response.
183
+ # @param [String] quota_user
184
+ # Available to use for quota purposes for server-side applications. Can be any
185
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
186
+ # Overrides userIp if both are provided.
187
+ # @param [String] user_ip
188
+ # IP address of the site where the request originates. Use this if you want to
189
+ # enforce per-user limits.
190
+ # @param [Google::Apis::RequestOptions] options
191
+ # Request-specific options
192
+ #
193
+ # @yield [result, err] Result & error if block supplied
194
+ # @yieldparam result [Google::Apis::ManagerV1beta2::ListDeploymentsResponse] parsed result object
195
+ # @yieldparam err [StandardError] error object if request failed
196
+ #
197
+ # @return [Google::Apis::ManagerV1beta2::ListDeploymentsResponse]
198
+ #
199
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
200
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
201
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
202
+ def list_deployments(project_id, region, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
203
+ path = '{projectId}/regions/{region}/deployments'
204
+ command = make_simple_command(:get, path, options)
205
+ command.response_representation = Google::Apis::ManagerV1beta2::ListDeploymentsResponse::Representation
206
+ command.response_class = Google::Apis::ManagerV1beta2::ListDeploymentsResponse
207
+ command.params['projectId'] = project_id unless project_id.nil?
208
+ command.params['region'] = region unless region.nil?
209
+ command.query['maxResults'] = max_results unless max_results.nil?
210
+ command.query['pageToken'] = page_token unless page_token.nil?
211
+ command.query['fields'] = fields unless fields.nil?
212
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
213
+ command.query['userIp'] = user_ip unless user_ip.nil?
214
+ execute_or_queue_command(command, &block)
215
+ end
216
+
217
+ #
218
+ # @param [String] project_id
219
+ # @param [String] template_name
220
+ # @param [String] fields
221
+ # Selector specifying which fields to include in a partial response.
222
+ # @param [String] quota_user
223
+ # Available to use for quota purposes for server-side applications. Can be any
224
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
225
+ # Overrides userIp if both are provided.
226
+ # @param [String] user_ip
227
+ # IP address of the site where the request originates. Use this if you want to
228
+ # enforce per-user limits.
229
+ # @param [Google::Apis::RequestOptions] options
230
+ # Request-specific options
231
+ #
232
+ # @yield [result, err] Result & error if block supplied
233
+ # @yieldparam result [NilClass] No result returned for this method
234
+ # @yieldparam err [StandardError] error object if request failed
235
+ #
236
+ # @return [void]
237
+ #
238
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
239
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
240
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
241
+ def delete_template(project_id, template_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
242
+ path = '{projectId}/templates/{templateName}'
243
+ command = make_simple_command(:delete, path, options)
244
+ command.params['projectId'] = project_id unless project_id.nil?
245
+ command.params['templateName'] = template_name unless template_name.nil?
246
+ command.query['fields'] = fields unless fields.nil?
247
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
248
+ command.query['userIp'] = user_ip unless user_ip.nil?
249
+ execute_or_queue_command(command, &block)
250
+ end
251
+
252
+ #
253
+ # @param [String] project_id
254
+ # @param [String] template_name
255
+ # @param [String] fields
256
+ # Selector specifying which fields to include in a partial response.
257
+ # @param [String] quota_user
258
+ # Available to use for quota purposes for server-side applications. Can be any
259
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
260
+ # Overrides userIp if both are provided.
261
+ # @param [String] user_ip
262
+ # IP address of the site where the request originates. Use this if you want to
263
+ # enforce per-user limits.
264
+ # @param [Google::Apis::RequestOptions] options
265
+ # Request-specific options
266
+ #
267
+ # @yield [result, err] Result & error if block supplied
268
+ # @yieldparam result [Google::Apis::ManagerV1beta2::Template] parsed result object
269
+ # @yieldparam err [StandardError] error object if request failed
270
+ #
271
+ # @return [Google::Apis::ManagerV1beta2::Template]
272
+ #
273
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
274
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
275
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
276
+ def get_template(project_id, template_name, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
277
+ path = '{projectId}/templates/{templateName}'
278
+ command = make_simple_command(:get, path, options)
279
+ command.response_representation = Google::Apis::ManagerV1beta2::Template::Representation
280
+ command.response_class = Google::Apis::ManagerV1beta2::Template
281
+ command.params['projectId'] = project_id unless project_id.nil?
282
+ command.params['templateName'] = template_name unless template_name.nil?
283
+ command.query['fields'] = fields unless fields.nil?
284
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
285
+ command.query['userIp'] = user_ip unless user_ip.nil?
286
+ execute_or_queue_command(command, &block)
287
+ end
288
+
289
+ #
290
+ # @param [String] project_id
291
+ # @param [Google::Apis::ManagerV1beta2::Template] template_object
292
+ # @param [String] fields
293
+ # Selector specifying which fields to include in a partial response.
294
+ # @param [String] quota_user
295
+ # Available to use for quota purposes for server-side applications. Can be any
296
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
297
+ # Overrides userIp if both are provided.
298
+ # @param [String] user_ip
299
+ # IP address of the site where the request originates. Use this if you want to
300
+ # enforce per-user limits.
301
+ # @param [Google::Apis::RequestOptions] options
302
+ # Request-specific options
303
+ #
304
+ # @yield [result, err] Result & error if block supplied
305
+ # @yieldparam result [Google::Apis::ManagerV1beta2::Template] parsed result object
306
+ # @yieldparam err [StandardError] error object if request failed
307
+ #
308
+ # @return [Google::Apis::ManagerV1beta2::Template]
309
+ #
310
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
311
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
312
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
313
+ def insert_template(project_id, template_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
314
+ path = '{projectId}/templates'
315
+ command = make_simple_command(:post, path, options)
316
+ command.request_representation = Google::Apis::ManagerV1beta2::Template::Representation
317
+ command.request_object = template_object
318
+ command.response_representation = Google::Apis::ManagerV1beta2::Template::Representation
319
+ command.response_class = Google::Apis::ManagerV1beta2::Template
320
+ command.params['projectId'] = project_id unless project_id.nil?
321
+ command.query['fields'] = fields unless fields.nil?
322
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
323
+ command.query['userIp'] = user_ip unless user_ip.nil?
324
+ execute_or_queue_command(command, &block)
325
+ end
326
+
327
+ #
328
+ # @param [String] project_id
329
+ # @param [Fixnum] max_results
330
+ # Maximum count of results to be returned. Acceptable values are 0 to 100,
331
+ # inclusive. (Default: 50)
332
+ # @param [String] page_token
333
+ # Specifies a nextPageToken returned by a previous list request. This token can
334
+ # be used to request the next page of results from a previous list request.
335
+ # @param [String] fields
336
+ # Selector specifying which fields to include in a partial response.
337
+ # @param [String] quota_user
338
+ # Available to use for quota purposes for server-side applications. Can be any
339
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
340
+ # Overrides userIp if both are provided.
341
+ # @param [String] user_ip
342
+ # IP address of the site where the request originates. Use this if you want to
343
+ # enforce per-user limits.
344
+ # @param [Google::Apis::RequestOptions] options
345
+ # Request-specific options
346
+ #
347
+ # @yield [result, err] Result & error if block supplied
348
+ # @yieldparam result [Google::Apis::ManagerV1beta2::ListTemplatesResponse] parsed result object
349
+ # @yieldparam err [StandardError] error object if request failed
350
+ #
351
+ # @return [Google::Apis::ManagerV1beta2::ListTemplatesResponse]
352
+ #
353
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
354
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
355
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
356
+ def list_templates(project_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
357
+ path = '{projectId}/templates'
358
+ command = make_simple_command(:get, path, options)
359
+ command.response_representation = Google::Apis::ManagerV1beta2::ListTemplatesResponse::Representation
360
+ command.response_class = Google::Apis::ManagerV1beta2::ListTemplatesResponse
361
+ command.params['projectId'] = project_id unless project_id.nil?
362
+ command.query['maxResults'] = max_results unless max_results.nil?
363
+ command.query['pageToken'] = page_token unless page_token.nil?
364
+ command.query['fields'] = fields unless fields.nil?
365
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
366
+ command.query['userIp'] = user_ip unless user_ip.nil?
367
+ execute_or_queue_command(command, &block)
368
+ end
369
+
370
+ protected
371
+
372
+ def apply_command_defaults(command)
373
+ command.query['key'] = key unless key.nil?
374
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
375
+ command.query['userIp'] = user_ip unless user_ip.nil?
376
+ end
377
+ end
378
+ end
379
+ end
380
+ end
@@ -0,0 +1,38 @@
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/mapsengine_v1/service.rb'
16
+ require 'google/apis/mapsengine_v1/classes.rb'
17
+ require 'google/apis/mapsengine_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Maps Engine API
22
+ #
23
+ # The Google Maps Engine API allows developers to store and query geospatial
24
+ # vector and raster data.
25
+ #
26
+ # @see https://developers.google.com/maps-engine/
27
+ module MapsengineV1
28
+ VERSION = 'V1'
29
+ REVISION = '20150619'
30
+
31
+ # View and manage your Google My Maps data
32
+ AUTH_MAPSENGINE = 'https://www.googleapis.com/auth/mapsengine'
33
+
34
+ # View your Google My Maps data
35
+ AUTH_MAPSENGINE_READONLY = 'https://www.googleapis.com/auth/mapsengine.readonly'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,2873 @@
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 MapsengineV1
24
+
25
+ #
26
+ class GeoJsonGeometry
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ #
39
+ class MapItem
40
+ include Google::Apis::Core::Hashable
41
+
42
+ def initialize(**args)
43
+ update!(**args)
44
+ end
45
+
46
+ # Update properties of this object
47
+ def update!(**args)
48
+ end
49
+ end
50
+
51
+ # Acquisition time represents acquired time of a raster.
52
+ class AcquisitionTime
53
+ include Google::Apis::Core::Hashable
54
+
55
+ # The end time if acquisition time is a range. The value is an RFC 3339
56
+ # formatted date-time value (1970-01-01T00:00:00Z).
57
+ # Corresponds to the JSON property `end`
58
+ # @return [DateTime]
59
+ attr_accessor :end
60
+
61
+ # The precision of acquisition time.
62
+ # Corresponds to the JSON property `precision`
63
+ # @return [String]
64
+ attr_accessor :precision
65
+
66
+ # The acquisition time, or start time if acquisition time is a range. The value
67
+ # is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
68
+ # Corresponds to the JSON property `start`
69
+ # @return [DateTime]
70
+ attr_accessor :start
71
+
72
+ def initialize(**args)
73
+ update!(**args)
74
+ end
75
+
76
+ # Update properties of this object
77
+ def update!(**args)
78
+ @end = args[:end] unless args[:end].nil?
79
+ @precision = args[:precision] unless args[:precision].nil?
80
+ @start = args[:start] unless args[:start].nil?
81
+ end
82
+ end
83
+
84
+ # An asset is any Google Maps Engine resource that has a globally unique ID.
85
+ # Assets include maps, layers, vector tables, raster collections, and rasters.
86
+ # Projects and features are not considered assets.
87
+ # More detailed information about an asset can be obtained by querying the asset'
88
+ # s particular endpoint.
89
+ class Asset
90
+ include Google::Apis::Core::Hashable
91
+
92
+ # A rectangular bounding box which contains all of the data in this asset. The
93
+ # box is expressed as \"west, south, east, north\". The numbers represent
94
+ # latitude and longitude in decimal degrees.
95
+ # Corresponds to the JSON property `bbox`
96
+ # @return [Array<Float>]
97
+ attr_accessor :bbox
98
+
99
+ # The creation time of this asset. The value is an RFC 3339-formatted date-time
100
+ # value (for example, 1970-01-01T00:00:00Z).
101
+ # Corresponds to the JSON property `creationTime`
102
+ # @return [DateTime]
103
+ attr_accessor :creation_time
104
+
105
+ # The email address of the creator of this asset. This is only returned on GET
106
+ # requests and not LIST requests.
107
+ # Corresponds to the JSON property `creatorEmail`
108
+ # @return [String]
109
+ attr_accessor :creator_email
110
+
111
+ # The asset's description.
112
+ # Corresponds to the JSON property `description`
113
+ # @return [String]
114
+ attr_accessor :description
115
+
116
+ # The ETag, used to refer to the current version of the asset.
117
+ # Corresponds to the JSON property `etag`
118
+ # @return [String]
119
+ attr_accessor :etag
120
+
121
+ # The asset's globally unique ID.
122
+ # Corresponds to the JSON property `id`
123
+ # @return [String]
124
+ attr_accessor :id
125
+
126
+ # The last modified time of this asset. The value is an RFC 3339-formatted date-
127
+ # time value (for example, 1970-01-01T00:00:00Z).
128
+ # Corresponds to the JSON property `lastModifiedTime`
129
+ # @return [DateTime]
130
+ attr_accessor :last_modified_time
131
+
132
+ # The email address of the last modifier of this asset. This is only returned on
133
+ # GET requests and not LIST requests.
134
+ # Corresponds to the JSON property `lastModifierEmail`
135
+ # @return [String]
136
+ attr_accessor :last_modifier_email
137
+
138
+ # The asset's name.
139
+ # Corresponds to the JSON property `name`
140
+ # @return [String]
141
+ attr_accessor :name
142
+
143
+ # The ID of the project to which the asset belongs.
144
+ # Corresponds to the JSON property `projectId`
145
+ # @return [String]
146
+ attr_accessor :project_id
147
+
148
+ # The URL to query to retrieve the asset's complete object. The assets endpoint
149
+ # only returns high-level information about a resource.
150
+ # Corresponds to the JSON property `resource`
151
+ # @return [String]
152
+ attr_accessor :resource
153
+
154
+ # An array of text strings, with each string representing a tag. More
155
+ # information about tags can be found in the Tagging data article of the Maps
156
+ # Engine help center.
157
+ # Corresponds to the JSON property `tags`
158
+ # @return [Array<String>]
159
+ attr_accessor :tags
160
+
161
+ # The type of asset. One of raster, rasterCollection, table, map, or layer.
162
+ # Corresponds to the JSON property `type`
163
+ # @return [String]
164
+ attr_accessor :type
165
+
166
+ # If true, WRITERs of the asset are able to edit the asset permissions.
167
+ # Corresponds to the JSON property `writersCanEditPermissions`
168
+ # @return [Boolean]
169
+ attr_accessor :writers_can_edit_permissions
170
+ alias_method :writers_can_edit_permissions?, :writers_can_edit_permissions
171
+
172
+ def initialize(**args)
173
+ update!(**args)
174
+ end
175
+
176
+ # Update properties of this object
177
+ def update!(**args)
178
+ @bbox = args[:bbox] unless args[:bbox].nil?
179
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
180
+ @creator_email = args[:creator_email] unless args[:creator_email].nil?
181
+ @description = args[:description] unless args[:description].nil?
182
+ @etag = args[:etag] unless args[:etag].nil?
183
+ @id = args[:id] unless args[:id].nil?
184
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
185
+ @last_modifier_email = args[:last_modifier_email] unless args[:last_modifier_email].nil?
186
+ @name = args[:name] unless args[:name].nil?
187
+ @project_id = args[:project_id] unless args[:project_id].nil?
188
+ @resource = args[:resource] unless args[:resource].nil?
189
+ @tags = args[:tags] unless args[:tags].nil?
190
+ @type = args[:type] unless args[:type].nil?
191
+ @writers_can_edit_permissions = args[:writers_can_edit_permissions] unless args[:writers_can_edit_permissions].nil?
192
+ end
193
+ end
194
+
195
+ # The response returned by a call to resources.List.
196
+ class ListAssetsResponse
197
+ include Google::Apis::Core::Hashable
198
+
199
+ # Assets returned.
200
+ # Corresponds to the JSON property `assets`
201
+ # @return [Array<Google::Apis::MapsengineV1::Asset>]
202
+ attr_accessor :assets
203
+
204
+ # Next page token.
205
+ # Corresponds to the JSON property `nextPageToken`
206
+ # @return [String]
207
+ attr_accessor :next_page_token
208
+
209
+ def initialize(**args)
210
+ update!(**args)
211
+ end
212
+
213
+ # Update properties of this object
214
+ def update!(**args)
215
+ @assets = args[:assets] unless args[:assets].nil?
216
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
217
+ end
218
+ end
219
+
220
+ # Border in line style. Both color and width are required.
221
+ class Border
222
+ include Google::Apis::Core::Hashable
223
+
224
+ # Color of the border.
225
+ # Corresponds to the JSON property `color`
226
+ # @return [String]
227
+ attr_accessor :color
228
+
229
+ # Opacity of the border.
230
+ # Corresponds to the JSON property `opacity`
231
+ # @return [Float]
232
+ attr_accessor :opacity
233
+
234
+ # Width of the border, in pixels.
235
+ # Corresponds to the JSON property `width`
236
+ # @return [Float]
237
+ attr_accessor :width
238
+
239
+ def initialize(**args)
240
+ update!(**args)
241
+ end
242
+
243
+ # Update properties of this object
244
+ def update!(**args)
245
+ @color = args[:color] unless args[:color].nil?
246
+ @opacity = args[:opacity] unless args[:opacity].nil?
247
+ @width = args[:width] unless args[:width].nil?
248
+ end
249
+ end
250
+
251
+ # Basic color used in styling.
252
+ class Color
253
+ include Google::Apis::Core::Hashable
254
+
255
+ # The CSS style color, can be in format of "red" or "#7733EE".
256
+ # Corresponds to the JSON property `color`
257
+ # @return [String]
258
+ attr_accessor :color
259
+
260
+ # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
261
+ # Corresponds to the JSON property `opacity`
262
+ # @return [Float]
263
+ attr_accessor :opacity
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ @color = args[:color] unless args[:color].nil?
272
+ @opacity = args[:opacity] unless args[:opacity].nil?
273
+ end
274
+ end
275
+
276
+ #
277
+ class Datasource
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # The ID of a datasource.
281
+ # Corresponds to the JSON property `id`
282
+ # @return [String]
283
+ attr_accessor :id
284
+
285
+ def initialize(**args)
286
+ update!(**args)
287
+ end
288
+
289
+ # Update properties of this object
290
+ def update!(**args)
291
+ @id = args[:id] unless args[:id].nil?
292
+ end
293
+ end
294
+
295
+ # A display rule of the vector style.
296
+ class DisplayRule
297
+ include Google::Apis::Core::Hashable
298
+
299
+ # This display rule will only be applied to features that match all of the
300
+ # filters here. If filters is empty, then the rule applies to all features.
301
+ # Corresponds to the JSON property `filters`
302
+ # @return [Array<Google::Apis::MapsengineV1::Filter>]
303
+ attr_accessor :filters
304
+
305
+ # Style for lines.
306
+ # Corresponds to the JSON property `lineOptions`
307
+ # @return [Google::Apis::MapsengineV1::LineStyle]
308
+ attr_accessor :line_options
309
+
310
+ # Display rule name. Name is not unique and cannot be used for identification
311
+ # purpose.
312
+ # Corresponds to the JSON property `name`
313
+ # @return [String]
314
+ attr_accessor :name
315
+
316
+ # Style for points.
317
+ # Corresponds to the JSON property `pointOptions`
318
+ # @return [Google::Apis::MapsengineV1::PointStyle]
319
+ attr_accessor :point_options
320
+
321
+ # Style for polygons.
322
+ # Corresponds to the JSON property `polygonOptions`
323
+ # @return [Google::Apis::MapsengineV1::PolygonStyle]
324
+ attr_accessor :polygon_options
325
+
326
+ # Zoom level range. Zoom levels are restricted between 0 and 24, inclusive.
327
+ # Corresponds to the JSON property `zoomLevels`
328
+ # @return [Google::Apis::MapsengineV1::ZoomLevels]
329
+ attr_accessor :zoom_levels
330
+
331
+ def initialize(**args)
332
+ update!(**args)
333
+ end
334
+
335
+ # Update properties of this object
336
+ def update!(**args)
337
+ @filters = args[:filters] unless args[:filters].nil?
338
+ @line_options = args[:line_options] unless args[:line_options].nil?
339
+ @name = args[:name] unless args[:name].nil?
340
+ @point_options = args[:point_options] unless args[:point_options].nil?
341
+ @polygon_options = args[:polygon_options] unless args[:polygon_options].nil?
342
+ @zoom_levels = args[:zoom_levels] unless args[:zoom_levels].nil?
343
+ end
344
+ end
345
+
346
+ # A feature within a table.
347
+ class Feature
348
+ include Google::Apis::Core::Hashable
349
+
350
+ # The geometry member of this Feature.
351
+ # Corresponds to the JSON property `geometry`
352
+ # @return [Google::Apis::MapsengineV1::GeoJsonGeometry]
353
+ attr_accessor :geometry
354
+
355
+ # The properties associated with a feature.
356
+ # Corresponds to the JSON property `properties`
357
+ # @return [Hash<String,Object>]
358
+ attr_accessor :properties
359
+
360
+ # Identifies this object as a feature.
361
+ # Corresponds to the JSON property `type`
362
+ # @return [String]
363
+ attr_accessor :type
364
+
365
+ def initialize(**args)
366
+ update!(**args)
367
+ end
368
+
369
+ # Update properties of this object
370
+ def update!(**args)
371
+ @geometry = args[:geometry] unless args[:geometry].nil?
372
+ @properties = args[:properties] unless args[:properties].nil?
373
+ @type = args[:type] unless args[:type].nil?
374
+ end
375
+ end
376
+
377
+ # A feature info contains information about individual feature.
378
+ class FeatureInfo
379
+ include Google::Apis::Core::Hashable
380
+
381
+ # HTML template of the info window. If not provided, a default template with all
382
+ # attributes will be generated.
383
+ # Corresponds to the JSON property `content`
384
+ # @return [String]
385
+ attr_accessor :content
386
+
387
+ def initialize(**args)
388
+ update!(**args)
389
+ end
390
+
391
+ # Update properties of this object
392
+ def update!(**args)
393
+ @content = args[:content] unless args[:content].nil?
394
+ end
395
+ end
396
+
397
+ # The request sent to features.BatchDelete.
398
+ class BatchDeleteFeaturesRequest
399
+ include Google::Apis::Core::Hashable
400
+
401
+ #
402
+ # Corresponds to the JSON property `gx_ids`
403
+ # @return [Array<String>]
404
+ attr_accessor :gx_ids
405
+
406
+ #
407
+ # Corresponds to the JSON property `primaryKeys`
408
+ # @return [Array<String>]
409
+ attr_accessor :primary_keys
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @gx_ids = args[:gx_ids] unless args[:gx_ids].nil?
418
+ @primary_keys = args[:primary_keys] unless args[:primary_keys].nil?
419
+ end
420
+ end
421
+
422
+ # The request sent to features.Insert.
423
+ class BatchInsertFeaturesRequest
424
+ include Google::Apis::Core::Hashable
425
+
426
+ #
427
+ # Corresponds to the JSON property `features`
428
+ # @return [Array<Google::Apis::MapsengineV1::Feature>]
429
+ attr_accessor :features
430
+
431
+ # If true, the server will normalize feature geometries. It is assumed that the
432
+ # South Pole is exterior to any polygons given. See here for a list of
433
+ # normalizations. If false, all feature geometries must be given already
434
+ # normalized. The points in all LinearRings must be listed in counter-clockwise
435
+ # order, and LinearRings may not intersect.
436
+ # Corresponds to the JSON property `normalizeGeometries`
437
+ # @return [Boolean]
438
+ attr_accessor :normalize_geometries
439
+ alias_method :normalize_geometries?, :normalize_geometries
440
+
441
+ def initialize(**args)
442
+ update!(**args)
443
+ end
444
+
445
+ # Update properties of this object
446
+ def update!(**args)
447
+ @features = args[:features] unless args[:features].nil?
448
+ @normalize_geometries = args[:normalize_geometries] unless args[:normalize_geometries].nil?
449
+ end
450
+ end
451
+
452
+ # The request sent to features.BatchPatch.
453
+ class BatchPatchFeaturesRequest
454
+ include Google::Apis::Core::Hashable
455
+
456
+ #
457
+ # Corresponds to the JSON property `features`
458
+ # @return [Array<Google::Apis::MapsengineV1::Feature>]
459
+ attr_accessor :features
460
+
461
+ # If true, the server will normalize feature geometries. It is assumed that the
462
+ # South Pole is exterior to any polygons given. See here for a list of
463
+ # normalizations. If false, all feature geometries must be given already
464
+ # normalized. The points in all LinearRings must be listed in counter-clockwise
465
+ # order, and LinearRings may not intersect.
466
+ # Corresponds to the JSON property `normalizeGeometries`
467
+ # @return [Boolean]
468
+ attr_accessor :normalize_geometries
469
+ alias_method :normalize_geometries?, :normalize_geometries
470
+
471
+ def initialize(**args)
472
+ update!(**args)
473
+ end
474
+
475
+ # Update properties of this object
476
+ def update!(**args)
477
+ @features = args[:features] unless args[:features].nil?
478
+ @normalize_geometries = args[:normalize_geometries] unless args[:normalize_geometries].nil?
479
+ end
480
+ end
481
+
482
+ # The response returned by a call to features.List.
483
+ class ListFeaturesResponse
484
+ include Google::Apis::Core::Hashable
485
+
486
+ # An indicator of the maximum rate at which queries may be made, if all queries
487
+ # were as expensive as this query.
488
+ # Corresponds to the JSON property `allowedQueriesPerSecond`
489
+ # @return [Float]
490
+ attr_accessor :allowed_queries_per_second
491
+
492
+ # Resources returned.
493
+ # Corresponds to the JSON property `features`
494
+ # @return [Array<Google::Apis::MapsengineV1::Feature>]
495
+ attr_accessor :features
496
+
497
+ # Next page token.
498
+ # Corresponds to the JSON property `nextPageToken`
499
+ # @return [String]
500
+ attr_accessor :next_page_token
501
+
502
+ # A schema indicating the properties which may be associated with features
503
+ # within a Table, and the types of those properties.
504
+ # Corresponds to the JSON property `schema`
505
+ # @return [Google::Apis::MapsengineV1::Schema]
506
+ attr_accessor :schema
507
+
508
+ #
509
+ # Corresponds to the JSON property `type`
510
+ # @return [String]
511
+ attr_accessor :type
512
+
513
+ def initialize(**args)
514
+ update!(**args)
515
+ end
516
+
517
+ # Update properties of this object
518
+ def update!(**args)
519
+ @allowed_queries_per_second = args[:allowed_queries_per_second] unless args[:allowed_queries_per_second].nil?
520
+ @features = args[:features] unless args[:features].nil?
521
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
522
+ @schema = args[:schema] unless args[:schema].nil?
523
+ @type = args[:type] unless args[:type].nil?
524
+ end
525
+ end
526
+
527
+ # A single File, which is a component of an Asset.
528
+ class File
529
+ include Google::Apis::Core::Hashable
530
+
531
+ # The name of the file.
532
+ # Corresponds to the JSON property `filename`
533
+ # @return [String]
534
+ attr_accessor :filename
535
+
536
+ # The size of the file in bytes.
537
+ # Corresponds to the JSON property `size`
538
+ # @return [String]
539
+ attr_accessor :size
540
+
541
+ # The upload status of the file.
542
+ # Corresponds to the JSON property `uploadStatus`
543
+ # @return [String]
544
+ attr_accessor :upload_status
545
+
546
+ def initialize(**args)
547
+ update!(**args)
548
+ end
549
+
550
+ # Update properties of this object
551
+ def update!(**args)
552
+ @filename = args[:filename] unless args[:filename].nil?
553
+ @size = args[:size] unless args[:size].nil?
554
+ @upload_status = args[:upload_status] unless args[:upload_status].nil?
555
+ end
556
+ end
557
+
558
+ # Conditions for filtering features.
559
+ class Filter
560
+ include Google::Apis::Core::Hashable
561
+
562
+ # The column name to filter on.
563
+ # Corresponds to the JSON property `column`
564
+ # @return [String]
565
+ attr_accessor :column
566
+
567
+ # Operation used to evaluate the filter.
568
+ # Corresponds to the JSON property `operator`
569
+ # @return [String]
570
+ attr_accessor :operator
571
+
572
+ # Value to be evaluated against attribute.
573
+ # Corresponds to the JSON property `value`
574
+ # @return [Object]
575
+ attr_accessor :value
576
+
577
+ def initialize(**args)
578
+ update!(**args)
579
+ end
580
+
581
+ # Update properties of this object
582
+ def update!(**args)
583
+ @column = args[:column] unless args[:column].nil?
584
+ @operator = args[:operator] unless args[:operator].nil?
585
+ @value = args[:value] unless args[:value].nil?
586
+ end
587
+ end
588
+
589
+ # A heterogenous collection of GeoJsonGeometry objects.
590
+ class GeoJsonGeometryCollection < Google::Apis::MapsengineV1::GeoJsonGeometry
591
+ include Google::Apis::Core::Hashable
592
+
593
+ # An array of geometry objects. There must be at least 2 different types of
594
+ # geometries in the array.
595
+ # Corresponds to the JSON property `geometries`
596
+ # @return [Array<Google::Apis::MapsengineV1::GeoJsonGeometry>]
597
+ attr_accessor :geometries
598
+
599
+ # Identifies this object as a GeoJsonGeometryCollection.
600
+ # Corresponds to the JSON property `type`
601
+ # @return [String]
602
+ attr_accessor :type
603
+
604
+ def initialize(**args)
605
+ @type = 'GeometryCollection'
606
+ update!(**args)
607
+ end
608
+
609
+ # Update properties of this object
610
+ def update!(**args)
611
+ @geometries = args[:geometries] unless args[:geometries].nil?
612
+ @type = args[:type] unless args[:type].nil?
613
+ end
614
+ end
615
+
616
+ #
617
+ class GeoJsonLineString < Google::Apis::MapsengineV1::GeoJsonGeometry
618
+ include Google::Apis::Core::Hashable
619
+
620
+ # An array of two or more positions, representing a line.
621
+ # Corresponds to the JSON property `coordinates`
622
+ # @return [Array<Array<Float>>]
623
+ attr_accessor :coordinates
624
+
625
+ # Identifies this object as a GeoJsonLineString.
626
+ # Corresponds to the JSON property `type`
627
+ # @return [String]
628
+ attr_accessor :type
629
+
630
+ def initialize(**args)
631
+ @type = 'LineString'
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @coordinates = args[:coordinates] unless args[:coordinates].nil?
638
+ @type = args[:type] unless args[:type].nil?
639
+ end
640
+ end
641
+
642
+ # Multi Line String
643
+ class GeoJsonMultiLineString < Google::Apis::MapsengineV1::GeoJsonGeometry
644
+ include Google::Apis::Core::Hashable
645
+
646
+ # An array of at least two GeoJsonLineString coordinate arrays.
647
+ # Corresponds to the JSON property `coordinates`
648
+ # @return [Array<Array<Array<Float>>>]
649
+ attr_accessor :coordinates
650
+
651
+ # Identifies this object as a GeoJsonMultiLineString.
652
+ # Corresponds to the JSON property `type`
653
+ # @return [String]
654
+ attr_accessor :type
655
+
656
+ def initialize(**args)
657
+ @type = 'MultiLineString'
658
+ update!(**args)
659
+ end
660
+
661
+ # Update properties of this object
662
+ def update!(**args)
663
+ @coordinates = args[:coordinates] unless args[:coordinates].nil?
664
+ @type = args[:type] unless args[:type].nil?
665
+ end
666
+ end
667
+
668
+ #
669
+ class GeoJsonMultiPoint < Google::Apis::MapsengineV1::GeoJsonGeometry
670
+ include Google::Apis::Core::Hashable
671
+
672
+ # An array of at least two GeoJsonPoint coordinate arrays.
673
+ # Corresponds to the JSON property `coordinates`
674
+ # @return [Array<Array<Float>>]
675
+ attr_accessor :coordinates
676
+
677
+ # Identifies this object as a GeoJsonMultiPoint.
678
+ # Corresponds to the JSON property `type`
679
+ # @return [String]
680
+ attr_accessor :type
681
+
682
+ def initialize(**args)
683
+ @type = 'MultiPoint'
684
+ update!(**args)
685
+ end
686
+
687
+ # Update properties of this object
688
+ def update!(**args)
689
+ @coordinates = args[:coordinates] unless args[:coordinates].nil?
690
+ @type = args[:type] unless args[:type].nil?
691
+ end
692
+ end
693
+
694
+ #
695
+ class GeoJsonMultiPolygon < Google::Apis::MapsengineV1::GeoJsonGeometry
696
+ include Google::Apis::Core::Hashable
697
+
698
+ # An array of at least two GeoJsonPolygon coordinate arrays.
699
+ # Corresponds to the JSON property `coordinates`
700
+ # @return [Array<Array<Array<Array<Float>>>>]
701
+ attr_accessor :coordinates
702
+
703
+ # Identifies this object as a GeoJsonMultiPolygon.
704
+ # Corresponds to the JSON property `type`
705
+ # @return [String]
706
+ attr_accessor :type
707
+
708
+ def initialize(**args)
709
+ @type = 'MultiPolygon'
710
+ update!(**args)
711
+ end
712
+
713
+ # Update properties of this object
714
+ def update!(**args)
715
+ @coordinates = args[:coordinates] unless args[:coordinates].nil?
716
+ @type = args[:type] unless args[:type].nil?
717
+ end
718
+ end
719
+
720
+ #
721
+ class GeoJsonPoint < Google::Apis::MapsengineV1::GeoJsonGeometry
722
+ include Google::Apis::Core::Hashable
723
+
724
+ # A position represents a geographical position as an array containing a
725
+ # longitude and a latitude, and optionally an altitude, in that order. All
726
+ # Geometry objects make use of positions to represent geometries as nested
727
+ # arrays. The structure of the array is governed by the type of the geometry.
728
+ # Corresponds to the JSON property `coordinates`
729
+ # @return [Array<Float>]
730
+ attr_accessor :coordinates
731
+
732
+ # Identifies this object as a GeoJsonPoint.
733
+ # Corresponds to the JSON property `type`
734
+ # @return [String]
735
+ attr_accessor :type
736
+
737
+ def initialize(**args)
738
+ @type = 'Point'
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @coordinates = args[:coordinates] unless args[:coordinates].nil?
745
+ @type = args[:type] unless args[:type].nil?
746
+ end
747
+ end
748
+
749
+ #
750
+ class GeoJsonPolygon < Google::Apis::MapsengineV1::GeoJsonGeometry
751
+ include Google::Apis::Core::Hashable
752
+
753
+ # An array of LinearRings. A LinearRing is a GeoJsonLineString which is closed (
754
+ # that is, the first and last GeoJsonPositions are equal), and which contains at
755
+ # least four GeoJsonPositions. For polygons with multiple rings, the first
756
+ # LinearRing is the exterior ring, and any subsequent rings are interior rings (
757
+ # that is, holes).
758
+ # Corresponds to the JSON property `coordinates`
759
+ # @return [Array<Array<Array<Float>>>]
760
+ attr_accessor :coordinates
761
+
762
+ # Identifies this object as a GeoJsonPolygon.
763
+ # Corresponds to the JSON property `type`
764
+ # @return [String]
765
+ attr_accessor :type
766
+
767
+ def initialize(**args)
768
+ @type = 'Polygon'
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @coordinates = args[:coordinates] unless args[:coordinates].nil?
775
+ @type = args[:type] unless args[:type].nil?
776
+ end
777
+ end
778
+
779
+ # An icon is a user-uploaded image that can be used to style point geometries.
780
+ class Icon
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # The description of this Icon, supplied by the author.
784
+ # Corresponds to the JSON property `description`
785
+ # @return [String]
786
+ attr_accessor :description
787
+
788
+ # An ID used to refer to this Icon.
789
+ # Corresponds to the JSON property `id`
790
+ # @return [String]
791
+ attr_accessor :id
792
+
793
+ # The name of this Icon, supplied by the author.
794
+ # Corresponds to the JSON property `name`
795
+ # @return [String]
796
+ attr_accessor :name
797
+
798
+ def initialize(**args)
799
+ update!(**args)
800
+ end
801
+
802
+ # Update properties of this object
803
+ def update!(**args)
804
+ @description = args[:description] unless args[:description].nil?
805
+ @id = args[:id] unless args[:id].nil?
806
+ @name = args[:name] unless args[:name].nil?
807
+ end
808
+ end
809
+
810
+ # Style for icon, this is part of point style.
811
+ class IconStyle
812
+ include Google::Apis::Core::Hashable
813
+
814
+ # Custom icon id.
815
+ # Corresponds to the JSON property `id`
816
+ # @return [String]
817
+ attr_accessor :id
818
+
819
+ # Stock icon name. To use a stock icon, prefix it with 'gx_'. See Stock icon
820
+ # names for valid icon names. For example, to specify small_red, set name to '
821
+ # gx_small_red'.
822
+ # Corresponds to the JSON property `name`
823
+ # @return [String]
824
+ attr_accessor :name
825
+
826
+ # Parameters for styling points as scaled shapes.
827
+ # Corresponds to the JSON property `scaledShape`
828
+ # @return [Google::Apis::MapsengineV1::ScaledShape]
829
+ attr_accessor :scaled_shape
830
+
831
+ # Parameters for scaling scaled shapes.
832
+ # Corresponds to the JSON property `scalingFunction`
833
+ # @return [Google::Apis::MapsengineV1::ScalingFunction]
834
+ attr_accessor :scaling_function
835
+
836
+ def initialize(**args)
837
+ update!(**args)
838
+ end
839
+
840
+ # Update properties of this object
841
+ def update!(**args)
842
+ @id = args[:id] unless args[:id].nil?
843
+ @name = args[:name] unless args[:name].nil?
844
+ @scaled_shape = args[:scaled_shape] unless args[:scaled_shape].nil?
845
+ @scaling_function = args[:scaling_function] unless args[:scaling_function].nil?
846
+ end
847
+ end
848
+
849
+ # The response returned by a call to icons.List.
850
+ class ListIconsResponse
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # Resources returned.
854
+ # Corresponds to the JSON property `icons`
855
+ # @return [Array<Google::Apis::MapsengineV1::Icon>]
856
+ attr_accessor :icons
857
+
858
+ # Next page token.
859
+ # Corresponds to the JSON property `nextPageToken`
860
+ # @return [String]
861
+ attr_accessor :next_page_token
862
+
863
+ def initialize(**args)
864
+ update!(**args)
865
+ end
866
+
867
+ # Update properties of this object
868
+ def update!(**args)
869
+ @icons = args[:icons] unless args[:icons].nil?
870
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
871
+ end
872
+ end
873
+
874
+ # Text label style.
875
+ class LabelStyle
876
+ include Google::Apis::Core::Hashable
877
+
878
+ # Color of the text. If not provided, default to black.
879
+ # Corresponds to the JSON property `color`
880
+ # @return [String]
881
+ attr_accessor :color
882
+
883
+ # The column value of the feature to be displayed.
884
+ # Corresponds to the JSON property `column`
885
+ # @return [String]
886
+ attr_accessor :column
887
+
888
+ # Font style of the label, defaults to 'normal'.
889
+ # Corresponds to the JSON property `fontStyle`
890
+ # @return [String]
891
+ attr_accessor :font_style
892
+
893
+ # Font weight of the label, defaults to 'normal'.
894
+ # Corresponds to the JSON property `fontWeight`
895
+ # @return [String]
896
+ attr_accessor :font_weight
897
+
898
+ # Opacity of the text.
899
+ # Corresponds to the JSON property `opacity`
900
+ # @return [Float]
901
+ attr_accessor :opacity
902
+
903
+ # Basic color used in styling.
904
+ # Corresponds to the JSON property `outline`
905
+ # @return [Google::Apis::MapsengineV1::Color]
906
+ attr_accessor :outline
907
+
908
+ # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default
909
+ # size will be provided.
910
+ # Corresponds to the JSON property `size`
911
+ # @return [Float]
912
+ attr_accessor :size
913
+
914
+ def initialize(**args)
915
+ update!(**args)
916
+ end
917
+
918
+ # Update properties of this object
919
+ def update!(**args)
920
+ @color = args[:color] unless args[:color].nil?
921
+ @column = args[:column] unless args[:column].nil?
922
+ @font_style = args[:font_style] unless args[:font_style].nil?
923
+ @font_weight = args[:font_weight] unless args[:font_weight].nil?
924
+ @opacity = args[:opacity] unless args[:opacity].nil?
925
+ @outline = args[:outline] unless args[:outline].nil?
926
+ @size = args[:size] unless args[:size].nil?
927
+ end
928
+ end
929
+
930
+ # A Layer combines multiple datasources, with styling information, for
931
+ # presentation on a map.
932
+ class Layer
933
+ include Google::Apis::Core::Hashable
934
+
935
+ # A rectangular bounding box which contains all of the data in this Layer. The
936
+ # box is expressed as \"west, south, east, north\". The numbers represent
937
+ # latitude and longitude in decimal degrees.
938
+ # Corresponds to the JSON property `bbox`
939
+ # @return [Array<Float>]
940
+ attr_accessor :bbox
941
+
942
+ # The creation time of this layer. The value is an RFC 3339 formatted date-time
943
+ # value (e.g. 1970-01-01T00:00:00Z).
944
+ # Corresponds to the JSON property `creationTime`
945
+ # @return [DateTime]
946
+ attr_accessor :creation_time
947
+
948
+ # The email address of the creator of this layer. This is only returned on GET
949
+ # requests and not LIST requests.
950
+ # Corresponds to the JSON property `creatorEmail`
951
+ # @return [String]
952
+ attr_accessor :creator_email
953
+
954
+ # Deprecated: The type of the datasources used to build this Layer. Note: This
955
+ # has been replaced by layerType, but is still available for now to maintain
956
+ # backward compatibility.
957
+ # Corresponds to the JSON property `datasourceType`
958
+ # @return [String]
959
+ attr_accessor :datasource_type
960
+
961
+ # An array of datasources used to build this layer. If layerType is "image", or
962
+ # layerType is not specified and datasourceType is "image", then each element in
963
+ # this array is a reference to an Image or RasterCollection. If layerType is "
964
+ # vector", or layerType is not specified and datasourceType is "table" then each
965
+ # element in this array is a reference to a Vector Table.
966
+ # Corresponds to the JSON property `datasources`
967
+ # @return [Array<Google::Apis::MapsengineV1::Datasource>]
968
+ attr_accessor :datasources
969
+
970
+ # The description of this Layer, supplied by the author.
971
+ # Corresponds to the JSON property `description`
972
+ # @return [String]
973
+ attr_accessor :description
974
+
975
+ # Deprecated: The name of an access list of the Map Editor type. The user on
976
+ # whose behalf the request is being sent must be an editor on that access list.
977
+ # Note: Google Maps Engine no longer uses access lists. Instead, each asset has
978
+ # its own list of permissions. For backward compatibility, the API still accepts
979
+ # access lists for projects that are already using access lists. If you created
980
+ # a GME account/project after July 14th, 2014, you will not be able to send API
981
+ # requests that include access lists. Note: This is an input field only. It is
982
+ # not returned in response to a list or get request.
983
+ # Corresponds to the JSON property `draftAccessList`
984
+ # @return [String]
985
+ attr_accessor :draft_access_list
986
+
987
+ # The ETag, used to refer to the current version of the asset.
988
+ # Corresponds to the JSON property `etag`
989
+ # @return [String]
990
+ attr_accessor :etag
991
+
992
+ # A globally unique ID, used to refer to this Layer.
993
+ # Corresponds to the JSON property `id`
994
+ # @return [String]
995
+ attr_accessor :id
996
+
997
+ # The last modified time of this layer. The value is an RFC 3339 formatted date-
998
+ # time value (e.g. 1970-01-01T00:00:00Z).
999
+ # Corresponds to the JSON property `lastModifiedTime`
1000
+ # @return [DateTime]
1001
+ attr_accessor :last_modified_time
1002
+
1003
+ # The email address of the last modifier of this layer. This is only returned on
1004
+ # GET requests and not LIST requests.
1005
+ # Corresponds to the JSON property `lastModifierEmail`
1006
+ # @return [String]
1007
+ attr_accessor :last_modifier_email
1008
+
1009
+ # The type of the datasources used to build this Layer. This should be used
1010
+ # instead of datasourceType. At least one of layerType and datasourceType and
1011
+ # must be specified, but layerType takes precedence.
1012
+ # Corresponds to the JSON property `layerType`
1013
+ # @return [String]
1014
+ attr_accessor :layer_type
1015
+
1016
+ # The name of this Layer, supplied by the author.
1017
+ # Corresponds to the JSON property `name`
1018
+ # @return [String]
1019
+ attr_accessor :name
1020
+
1021
+ # The processing status of this layer.
1022
+ # Corresponds to the JSON property `processingStatus`
1023
+ # @return [String]
1024
+ attr_accessor :processing_status
1025
+
1026
+ # The ID of the project that this Layer is in.
1027
+ # Corresponds to the JSON property `projectId`
1028
+ # @return [String]
1029
+ attr_accessor :project_id
1030
+
1031
+ # Deprecated: The access list to whom view permissions are granted. The value
1032
+ # must be the name of a Maps Engine access list of the Map Viewer type, and the
1033
+ # user must be a viewer on that list. Note: Google Maps Engine no longer uses
1034
+ # access lists. Instead, each asset has its own list of permissions. For
1035
+ # backward compatibility, the API still accepts access lists for projects that
1036
+ # are already using access lists. If you created a GME account/project after
1037
+ # July 14th, 2014, you will not be able to send API requests that include access
1038
+ # lists. Note: This is an input field only. It is not returned in response to a
1039
+ # list or get request.
1040
+ # Corresponds to the JSON property `publishedAccessList`
1041
+ # @return [String]
1042
+ attr_accessor :published_access_list
1043
+
1044
+ # The publishing status of this layer.
1045
+ # Corresponds to the JSON property `publishingStatus`
1046
+ # @return [String]
1047
+ attr_accessor :publishing_status
1048
+
1049
+ # A vector style contains styling information for vector layer.
1050
+ # Corresponds to the JSON property `style`
1051
+ # @return [Google::Apis::MapsengineV1::VectorStyle]
1052
+ attr_accessor :style
1053
+
1054
+ # Tags of this Layer.
1055
+ # Corresponds to the JSON property `tags`
1056
+ # @return [Array<String>]
1057
+ attr_accessor :tags
1058
+
1059
+ # If true, WRITERs of the asset are able to edit the asset permissions.
1060
+ # Corresponds to the JSON property `writersCanEditPermissions`
1061
+ # @return [Boolean]
1062
+ attr_accessor :writers_can_edit_permissions
1063
+ alias_method :writers_can_edit_permissions?, :writers_can_edit_permissions
1064
+
1065
+ def initialize(**args)
1066
+ update!(**args)
1067
+ end
1068
+
1069
+ # Update properties of this object
1070
+ def update!(**args)
1071
+ @bbox = args[:bbox] unless args[:bbox].nil?
1072
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
1073
+ @creator_email = args[:creator_email] unless args[:creator_email].nil?
1074
+ @datasource_type = args[:datasource_type] unless args[:datasource_type].nil?
1075
+ @datasources = args[:datasources] unless args[:datasources].nil?
1076
+ @description = args[:description] unless args[:description].nil?
1077
+ @draft_access_list = args[:draft_access_list] unless args[:draft_access_list].nil?
1078
+ @etag = args[:etag] unless args[:etag].nil?
1079
+ @id = args[:id] unless args[:id].nil?
1080
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
1081
+ @last_modifier_email = args[:last_modifier_email] unless args[:last_modifier_email].nil?
1082
+ @layer_type = args[:layer_type] unless args[:layer_type].nil?
1083
+ @name = args[:name] unless args[:name].nil?
1084
+ @processing_status = args[:processing_status] unless args[:processing_status].nil?
1085
+ @project_id = args[:project_id] unless args[:project_id].nil?
1086
+ @published_access_list = args[:published_access_list] unless args[:published_access_list].nil?
1087
+ @publishing_status = args[:publishing_status] unless args[:publishing_status].nil?
1088
+ @style = args[:style] unless args[:style].nil?
1089
+ @tags = args[:tags] unless args[:tags].nil?
1090
+ @writers_can_edit_permissions = args[:writers_can_edit_permissions] unless args[:writers_can_edit_permissions].nil?
1091
+ end
1092
+ end
1093
+
1094
+ # The response returned by a call to layers.List. Note: The list response does
1095
+ # not include all the fields available in a layer. Refer to the layer resource
1096
+ # description for details of the fields that are not included. You'll need to
1097
+ # send a get request to retrieve the additional fields for each layer.
1098
+ class ListLayersResponse
1099
+ include Google::Apis::Core::Hashable
1100
+
1101
+ # Resources returned.
1102
+ # Corresponds to the JSON property `layers`
1103
+ # @return [Array<Google::Apis::MapsengineV1::Layer>]
1104
+ attr_accessor :layers
1105
+
1106
+ # Next page token.
1107
+ # Corresponds to the JSON property `nextPageToken`
1108
+ # @return [String]
1109
+ attr_accessor :next_page_token
1110
+
1111
+ def initialize(**args)
1112
+ update!(**args)
1113
+ end
1114
+
1115
+ # Update properties of this object
1116
+ def update!(**args)
1117
+ @layers = args[:layers] unless args[:layers].nil?
1118
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1119
+ end
1120
+ end
1121
+
1122
+ # Style for lines.
1123
+ class LineStyle
1124
+ include Google::Apis::Core::Hashable
1125
+
1126
+ # Border in line style. Both color and width are required.
1127
+ # Corresponds to the JSON property `border`
1128
+ # @return [Google::Apis::MapsengineV1::Border]
1129
+ attr_accessor :border
1130
+
1131
+ # Dash defines the pattern of the line, the values are pixel lengths of
1132
+ # alternating dash and gap. If dash is not provided, then it means a solid line.
1133
+ # Dash can contain up to 10 values and must contain even number of values.
1134
+ # Corresponds to the JSON property `dash`
1135
+ # @return [Array<Float>]
1136
+ attr_accessor :dash
1137
+
1138
+ # Text label style.
1139
+ # Corresponds to the JSON property `label`
1140
+ # @return [Google::Apis::MapsengineV1::LabelStyle]
1141
+ attr_accessor :label
1142
+
1143
+ # Stroke of the line.
1144
+ # Corresponds to the JSON property `stroke`
1145
+ # @return [Google::Apis::MapsengineV1::LineStyle::Stroke]
1146
+ attr_accessor :stroke
1147
+
1148
+ def initialize(**args)
1149
+ update!(**args)
1150
+ end
1151
+
1152
+ # Update properties of this object
1153
+ def update!(**args)
1154
+ @border = args[:border] unless args[:border].nil?
1155
+ @dash = args[:dash] unless args[:dash].nil?
1156
+ @label = args[:label] unless args[:label].nil?
1157
+ @stroke = args[:stroke] unless args[:stroke].nil?
1158
+ end
1159
+
1160
+ # Stroke of the line.
1161
+ class Stroke
1162
+ include Google::Apis::Core::Hashable
1163
+
1164
+ # Color of the line.
1165
+ # Corresponds to the JSON property `color`
1166
+ # @return [String]
1167
+ attr_accessor :color
1168
+
1169
+ # Opacity of the line.
1170
+ # Corresponds to the JSON property `opacity`
1171
+ # @return [Float]
1172
+ attr_accessor :opacity
1173
+
1174
+ # Width of the line, in pixels. 0 <= width <= 10. If width is set to 0, the line
1175
+ # will be invisible.
1176
+ # Corresponds to the JSON property `width`
1177
+ # @return [Float]
1178
+ attr_accessor :width
1179
+
1180
+ def initialize(**args)
1181
+ update!(**args)
1182
+ end
1183
+
1184
+ # Update properties of this object
1185
+ def update!(**args)
1186
+ @color = args[:color] unless args[:color].nil?
1187
+ @opacity = args[:opacity] unless args[:opacity].nil?
1188
+ @width = args[:width] unless args[:width].nil?
1189
+ end
1190
+ end
1191
+ end
1192
+
1193
+ # A Map is a collection of Layers, optionally contained within folders.
1194
+ class Map
1195
+ include Google::Apis::Core::Hashable
1196
+
1197
+ # A rectangular bounding box which contains all of the data in this Map. The box
1198
+ # is expressed as \"west, south, east, north\". The numbers represent latitude
1199
+ # and longitude in decimal degrees.
1200
+ # Corresponds to the JSON property `bbox`
1201
+ # @return [Array<Float>]
1202
+ attr_accessor :bbox
1203
+
1204
+ # The contents of this Map.
1205
+ # Corresponds to the JSON property `contents`
1206
+ # @return [Array<Google::Apis::MapsengineV1::MapItem>]
1207
+ attr_accessor :contents
1208
+
1209
+ # The creation time of this map. The value is an RFC 3339 formatted date-time
1210
+ # value (e.g. 1970-01-01T00:00:00Z).
1211
+ # Corresponds to the JSON property `creationTime`
1212
+ # @return [DateTime]
1213
+ attr_accessor :creation_time
1214
+
1215
+ # The email address of the creator of this map. This is only returned on GET
1216
+ # requests and not LIST requests.
1217
+ # Corresponds to the JSON property `creatorEmail`
1218
+ # @return [String]
1219
+ attr_accessor :creator_email
1220
+
1221
+ # A rectangular geographic bounds.
1222
+ # Corresponds to the JSON property `defaultViewport`
1223
+ # @return [Array<Float>]
1224
+ attr_accessor :default_viewport
1225
+
1226
+ # The description of this Map, supplied by the author.
1227
+ # Corresponds to the JSON property `description`
1228
+ # @return [String]
1229
+ attr_accessor :description
1230
+
1231
+ # Deprecated: The name of an access list of the Map Editor type. The user on
1232
+ # whose behalf the request is being sent must be an editor on that access list.
1233
+ # Note: Google Maps Engine no longer uses access lists. Instead, each asset has
1234
+ # its own list of permissions. For backward compatibility, the API still accepts
1235
+ # access lists for projects that are already using access lists. If you created
1236
+ # a GME account/project after July 14th, 2014, you will not be able to send API
1237
+ # requests that include access lists. Note: This is an input field only. It is
1238
+ # not returned in response to a list or get request.
1239
+ # Corresponds to the JSON property `draftAccessList`
1240
+ # @return [String]
1241
+ attr_accessor :draft_access_list
1242
+
1243
+ # The ETag, used to refer to the current version of the asset.
1244
+ # Corresponds to the JSON property `etag`
1245
+ # @return [String]
1246
+ attr_accessor :etag
1247
+
1248
+ # A globally unique ID, used to refer to this Map.
1249
+ # Corresponds to the JSON property `id`
1250
+ # @return [String]
1251
+ attr_accessor :id
1252
+
1253
+ # The last modified time of this map. The value is an RFC 3339 formatted date-
1254
+ # time value (e.g. 1970-01-01T00:00:00Z).
1255
+ # Corresponds to the JSON property `lastModifiedTime`
1256
+ # @return [DateTime]
1257
+ attr_accessor :last_modified_time
1258
+
1259
+ # The email address of the last modifier of this map. This is only returned on
1260
+ # GET requests and not LIST requests.
1261
+ # Corresponds to the JSON property `lastModifierEmail`
1262
+ # @return [String]
1263
+ attr_accessor :last_modifier_email
1264
+
1265
+ # The name of this Map, supplied by the author.
1266
+ # Corresponds to the JSON property `name`
1267
+ # @return [String]
1268
+ attr_accessor :name
1269
+
1270
+ # The processing status of this map. Map processing is automatically started
1271
+ # once a map becomes ready for processing.
1272
+ # Corresponds to the JSON property `processingStatus`
1273
+ # @return [String]
1274
+ attr_accessor :processing_status
1275
+
1276
+ # The ID of the project that this Map is in.
1277
+ # Corresponds to the JSON property `projectId`
1278
+ # @return [String]
1279
+ attr_accessor :project_id
1280
+
1281
+ # Deprecated: The access list to whom view permissions are granted. The value
1282
+ # must be the name of a Maps Engine access list of the Map Viewer type, and the
1283
+ # user must be a viewer on that list. Note: Google Maps Engine no longer uses
1284
+ # access lists. Instead, each asset has its own list of permissions. For
1285
+ # backward compatibility, the API still accepts access lists for projects that
1286
+ # are already using access lists. If you created a GME account/project after
1287
+ # July 14th, 2014, you will not be able to send API requests that include access
1288
+ # lists. This is an input field only. It is not returned in response to a list
1289
+ # or get request.
1290
+ # Corresponds to the JSON property `publishedAccessList`
1291
+ # @return [String]
1292
+ attr_accessor :published_access_list
1293
+
1294
+ # The publishing status of this map.
1295
+ # Corresponds to the JSON property `publishingStatus`
1296
+ # @return [String]
1297
+ attr_accessor :publishing_status
1298
+
1299
+ # Tags of this Map.
1300
+ # Corresponds to the JSON property `tags`
1301
+ # @return [Array<String>]
1302
+ attr_accessor :tags
1303
+
1304
+ # Deprecated: An array containing the available versions of this Map. Currently
1305
+ # may only contain "published". The publishingStatus field should be used
1306
+ # instead.
1307
+ # Corresponds to the JSON property `versions`
1308
+ # @return [Array<String>]
1309
+ attr_accessor :versions
1310
+
1311
+ # If true, WRITERs of the asset are able to edit the asset permissions.
1312
+ # Corresponds to the JSON property `writersCanEditPermissions`
1313
+ # @return [Boolean]
1314
+ attr_accessor :writers_can_edit_permissions
1315
+ alias_method :writers_can_edit_permissions?, :writers_can_edit_permissions
1316
+
1317
+ def initialize(**args)
1318
+ update!(**args)
1319
+ end
1320
+
1321
+ # Update properties of this object
1322
+ def update!(**args)
1323
+ @bbox = args[:bbox] unless args[:bbox].nil?
1324
+ @contents = args[:contents] unless args[:contents].nil?
1325
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
1326
+ @creator_email = args[:creator_email] unless args[:creator_email].nil?
1327
+ @default_viewport = args[:default_viewport] unless args[:default_viewport].nil?
1328
+ @description = args[:description] unless args[:description].nil?
1329
+ @draft_access_list = args[:draft_access_list] unless args[:draft_access_list].nil?
1330
+ @etag = args[:etag] unless args[:etag].nil?
1331
+ @id = args[:id] unless args[:id].nil?
1332
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
1333
+ @last_modifier_email = args[:last_modifier_email] unless args[:last_modifier_email].nil?
1334
+ @name = args[:name] unless args[:name].nil?
1335
+ @processing_status = args[:processing_status] unless args[:processing_status].nil?
1336
+ @project_id = args[:project_id] unless args[:project_id].nil?
1337
+ @published_access_list = args[:published_access_list] unless args[:published_access_list].nil?
1338
+ @publishing_status = args[:publishing_status] unless args[:publishing_status].nil?
1339
+ @tags = args[:tags] unless args[:tags].nil?
1340
+ @versions = args[:versions] unless args[:versions].nil?
1341
+ @writers_can_edit_permissions = args[:writers_can_edit_permissions] unless args[:writers_can_edit_permissions].nil?
1342
+ end
1343
+ end
1344
+
1345
+ #
1346
+ class MapFolder < Google::Apis::MapsengineV1::MapItem
1347
+ include Google::Apis::Core::Hashable
1348
+
1349
+ #
1350
+ # Corresponds to the JSON property `contents`
1351
+ # @return [Array<Google::Apis::MapsengineV1::MapItem>]
1352
+ attr_accessor :contents
1353
+
1354
+ # An array of four numbers (west, south, east, north) which defines the
1355
+ # rectangular bounding box of the default viewport. The numbers represent
1356
+ # latitude and longitude in decimal degrees.
1357
+ # Corresponds to the JSON property `defaultViewport`
1358
+ # @return [Array<Float>]
1359
+ attr_accessor :default_viewport
1360
+
1361
+ # The expandability setting of this MapFolder. If true, the folder can be
1362
+ # expanded.
1363
+ # Corresponds to the JSON property `expandable`
1364
+ # @return [Boolean]
1365
+ attr_accessor :expandable
1366
+ alias_method :expandable?, :expandable
1367
+
1368
+ # A user defined alias for this MapFolder, specific to this Map.
1369
+ # Corresponds to the JSON property `key`
1370
+ # @return [String]
1371
+ attr_accessor :key
1372
+
1373
+ # The name of this MapFolder.
1374
+ # Corresponds to the JSON property `name`
1375
+ # @return [String]
1376
+ attr_accessor :name
1377
+
1378
+ # Identifies this object as a MapFolder.
1379
+ # Corresponds to the JSON property `type`
1380
+ # @return [String]
1381
+ attr_accessor :type
1382
+
1383
+ # The visibility setting of this MapFolder. One of "defaultOn" or "defaultOff".
1384
+ # Corresponds to the JSON property `visibility`
1385
+ # @return [String]
1386
+ attr_accessor :visibility
1387
+
1388
+ def initialize(**args)
1389
+ @type = 'folder'
1390
+ update!(**args)
1391
+ end
1392
+
1393
+ # Update properties of this object
1394
+ def update!(**args)
1395
+ @contents = args[:contents] unless args[:contents].nil?
1396
+ @default_viewport = args[:default_viewport] unless args[:default_viewport].nil?
1397
+ @expandable = args[:expandable] unless args[:expandable].nil?
1398
+ @key = args[:key] unless args[:key].nil?
1399
+ @name = args[:name] unless args[:name].nil?
1400
+ @type = args[:type] unless args[:type].nil?
1401
+ @visibility = args[:visibility] unless args[:visibility].nil?
1402
+ end
1403
+ end
1404
+
1405
+ #
1406
+ class MapKmlLink < Google::Apis::MapsengineV1::MapItem
1407
+ include Google::Apis::Core::Hashable
1408
+
1409
+ # An array of four numbers (west, south, east, north) which defines the
1410
+ # rectangular bounding box of the default viewport. The numbers represent
1411
+ # latitude and longitude in decimal degrees.
1412
+ # Corresponds to the JSON property `defaultViewport`
1413
+ # @return [Array<Float>]
1414
+ attr_accessor :default_viewport
1415
+
1416
+ # The URL to the KML file represented by this MapKmlLink.
1417
+ # Corresponds to the JSON property `kmlUrl`
1418
+ # @return [String]
1419
+ attr_accessor :kml_url
1420
+
1421
+ # The name of this MapKmlLink.
1422
+ # Corresponds to the JSON property `name`
1423
+ # @return [String]
1424
+ attr_accessor :name
1425
+
1426
+ # Identifies this object as a MapKmlLink.
1427
+ # Corresponds to the JSON property `type`
1428
+ # @return [String]
1429
+ attr_accessor :type
1430
+
1431
+ # The visibility setting of this MapKmlLink. One of "defaultOn" or "defaultOff".
1432
+ # Corresponds to the JSON property `visibility`
1433
+ # @return [String]
1434
+ attr_accessor :visibility
1435
+
1436
+ def initialize(**args)
1437
+ @type = 'kmlLink'
1438
+ update!(**args)
1439
+ end
1440
+
1441
+ # Update properties of this object
1442
+ def update!(**args)
1443
+ @default_viewport = args[:default_viewport] unless args[:default_viewport].nil?
1444
+ @kml_url = args[:kml_url] unless args[:kml_url].nil?
1445
+ @name = args[:name] unless args[:name].nil?
1446
+ @type = args[:type] unless args[:type].nil?
1447
+ @visibility = args[:visibility] unless args[:visibility].nil?
1448
+ end
1449
+ end
1450
+
1451
+ #
1452
+ class MapLayer < Google::Apis::MapsengineV1::MapItem
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ # An array of four numbers (west, south, east, north) which defines the
1456
+ # rectangular bounding box of the default viewport. The numbers represent
1457
+ # latitude and longitude in decimal degrees.
1458
+ # Corresponds to the JSON property `defaultViewport`
1459
+ # @return [Array<Float>]
1460
+ attr_accessor :default_viewport
1461
+
1462
+ # The ID of this MapLayer. This ID can be used to request more details about the
1463
+ # layer.
1464
+ # Corresponds to the JSON property `id`
1465
+ # @return [String]
1466
+ attr_accessor :id
1467
+
1468
+ # A user defined alias for this MapLayer, specific to this Map.
1469
+ # Corresponds to the JSON property `key`
1470
+ # @return [String]
1471
+ attr_accessor :key
1472
+
1473
+ # The name of this MapLayer.
1474
+ # Corresponds to the JSON property `name`
1475
+ # @return [String]
1476
+ attr_accessor :name
1477
+
1478
+ # Identifies this object as a MapLayer.
1479
+ # Corresponds to the JSON property `type`
1480
+ # @return [String]
1481
+ attr_accessor :type
1482
+
1483
+ # The visibility setting of this MapLayer. One of "defaultOn" or "defaultOff".
1484
+ # Corresponds to the JSON property `visibility`
1485
+ # @return [String]
1486
+ attr_accessor :visibility
1487
+
1488
+ def initialize(**args)
1489
+ @type = 'layer'
1490
+ update!(**args)
1491
+ end
1492
+
1493
+ # Update properties of this object
1494
+ def update!(**args)
1495
+ @default_viewport = args[:default_viewport] unless args[:default_viewport].nil?
1496
+ @id = args[:id] unless args[:id].nil?
1497
+ @key = args[:key] unless args[:key].nil?
1498
+ @name = args[:name] unless args[:name].nil?
1499
+ @type = args[:type] unless args[:type].nil?
1500
+ @visibility = args[:visibility] unless args[:visibility].nil?
1501
+ end
1502
+ end
1503
+
1504
+ # The response returned by a call to maps.List.
1505
+ class ListMapsResponse
1506
+ include Google::Apis::Core::Hashable
1507
+
1508
+ # Resources returned.
1509
+ # Corresponds to the JSON property `maps`
1510
+ # @return [Array<Google::Apis::MapsengineV1::Map>]
1511
+ attr_accessor :maps
1512
+
1513
+ # Next page token.
1514
+ # Corresponds to the JSON property `nextPageToken`
1515
+ # @return [String]
1516
+ attr_accessor :next_page_token
1517
+
1518
+ def initialize(**args)
1519
+ update!(**args)
1520
+ end
1521
+
1522
+ # Update properties of this object
1523
+ def update!(**args)
1524
+ @maps = args[:maps] unless args[:maps].nil?
1525
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1526
+ end
1527
+ end
1528
+
1529
+ # A list of the parents of an asset.
1530
+ class Parent
1531
+ include Google::Apis::Core::Hashable
1532
+
1533
+ # The ID of this parent.
1534
+ # Corresponds to the JSON property `id`
1535
+ # @return [String]
1536
+ attr_accessor :id
1537
+
1538
+ def initialize(**args)
1539
+ update!(**args)
1540
+ end
1541
+
1542
+ # Update properties of this object
1543
+ def update!(**args)
1544
+ @id = args[:id] unless args[:id].nil?
1545
+ end
1546
+ end
1547
+
1548
+ # The response returned by a call to parents.List.
1549
+ class ListParentsResponse
1550
+ include Google::Apis::Core::Hashable
1551
+
1552
+ # Next page token.
1553
+ # Corresponds to the JSON property `nextPageToken`
1554
+ # @return [String]
1555
+ attr_accessor :next_page_token
1556
+
1557
+ # The parent assets.
1558
+ # Corresponds to the JSON property `parents`
1559
+ # @return [Array<Google::Apis::MapsengineV1::Parent>]
1560
+ attr_accessor :parents
1561
+
1562
+ def initialize(**args)
1563
+ update!(**args)
1564
+ end
1565
+
1566
+ # Update properties of this object
1567
+ def update!(**args)
1568
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1569
+ @parents = args[:parents] unless args[:parents].nil?
1570
+ end
1571
+ end
1572
+
1573
+ # A permission defines the user or group that has access to an asset, and the
1574
+ # type of access they have.
1575
+ class Permission
1576
+ include Google::Apis::Core::Hashable
1577
+
1578
+ # Indicates whether a public asset is listed and can be found via a web search (
1579
+ # value true), or is visible only to people who have a link to the asset (value
1580
+ # false).
1581
+ # Corresponds to the JSON property `discoverable`
1582
+ # @return [Boolean]
1583
+ attr_accessor :discoverable
1584
+ alias_method :discoverable?, :discoverable
1585
+
1586
+ # The unique identifier of the permission. This could be the email address of
1587
+ # the user or group this permission refers to, or the string "anyone" for public
1588
+ # permissions.
1589
+ # Corresponds to the JSON property `id`
1590
+ # @return [String]
1591
+ attr_accessor :id
1592
+
1593
+ # The type of access granted to this user or group.
1594
+ # Corresponds to the JSON property `role`
1595
+ # @return [String]
1596
+ attr_accessor :role
1597
+
1598
+ # The account type.
1599
+ # Corresponds to the JSON property `type`
1600
+ # @return [String]
1601
+ attr_accessor :type
1602
+
1603
+ def initialize(**args)
1604
+ update!(**args)
1605
+ end
1606
+
1607
+ # Update properties of this object
1608
+ def update!(**args)
1609
+ @discoverable = args[:discoverable] unless args[:discoverable].nil?
1610
+ @id = args[:id] unless args[:id].nil?
1611
+ @role = args[:role] unless args[:role].nil?
1612
+ @type = args[:type] unless args[:type].nil?
1613
+ end
1614
+ end
1615
+
1616
+ # The request sent to mapsengine.permissions.batchDelete.
1617
+ class BatchDeletePermissionsRequest
1618
+ include Google::Apis::Core::Hashable
1619
+
1620
+ # An array of permission ids to be removed. This could be the email address of
1621
+ # the user or group this permission refers to, or the string "anyone" for public
1622
+ # permissions.
1623
+ # Corresponds to the JSON property `ids`
1624
+ # @return [Array<String>]
1625
+ attr_accessor :ids
1626
+
1627
+ def initialize(**args)
1628
+ update!(**args)
1629
+ end
1630
+
1631
+ # Update properties of this object
1632
+ def update!(**args)
1633
+ @ids = args[:ids] unless args[:ids].nil?
1634
+ end
1635
+ end
1636
+
1637
+ # The response returned by a call to mapsengine.permissions.batchDelete.
1638
+ class BatchDeletePermissionsResponse
1639
+ include Google::Apis::Core::Hashable
1640
+
1641
+ def initialize(**args)
1642
+ update!(**args)
1643
+ end
1644
+
1645
+ # Update properties of this object
1646
+ def update!(**args)
1647
+ end
1648
+ end
1649
+
1650
+ # The request sent to mapsengine.permissions.batchUpdate.
1651
+ class BatchUpdatePermissionsRequest
1652
+ include Google::Apis::Core::Hashable
1653
+
1654
+ # The permissions to be inserted or updated.
1655
+ # Corresponds to the JSON property `permissions`
1656
+ # @return [Array<Google::Apis::MapsengineV1::Permission>]
1657
+ attr_accessor :permissions
1658
+
1659
+ def initialize(**args)
1660
+ update!(**args)
1661
+ end
1662
+
1663
+ # Update properties of this object
1664
+ def update!(**args)
1665
+ @permissions = args[:permissions] unless args[:permissions].nil?
1666
+ end
1667
+ end
1668
+
1669
+ # The response returned by a call to mapsengine.permissions.batchUpdate.
1670
+ class BatchUpdatePermissionsResponse
1671
+ include Google::Apis::Core::Hashable
1672
+
1673
+ def initialize(**args)
1674
+ update!(**args)
1675
+ end
1676
+
1677
+ # Update properties of this object
1678
+ def update!(**args)
1679
+ end
1680
+ end
1681
+
1682
+ #
1683
+ class ListPermissionsResponse
1684
+ include Google::Apis::Core::Hashable
1685
+
1686
+ # The set of permissions associated with this asset.
1687
+ # Corresponds to the JSON property `permissions`
1688
+ # @return [Array<Google::Apis::MapsengineV1::Permission>]
1689
+ attr_accessor :permissions
1690
+
1691
+ def initialize(**args)
1692
+ update!(**args)
1693
+ end
1694
+
1695
+ # Update properties of this object
1696
+ def update!(**args)
1697
+ @permissions = args[:permissions] unless args[:permissions].nil?
1698
+ end
1699
+ end
1700
+
1701
+ # Style for points.
1702
+ class PointStyle
1703
+ include Google::Apis::Core::Hashable
1704
+
1705
+ # Style for icon, this is part of point style.
1706
+ # Corresponds to the JSON property `icon`
1707
+ # @return [Google::Apis::MapsengineV1::IconStyle]
1708
+ attr_accessor :icon
1709
+
1710
+ # Text label style.
1711
+ # Corresponds to the JSON property `label`
1712
+ # @return [Google::Apis::MapsengineV1::LabelStyle]
1713
+ attr_accessor :label
1714
+
1715
+ def initialize(**args)
1716
+ update!(**args)
1717
+ end
1718
+
1719
+ # Update properties of this object
1720
+ def update!(**args)
1721
+ @icon = args[:icon] unless args[:icon].nil?
1722
+ @label = args[:label] unless args[:label].nil?
1723
+ end
1724
+ end
1725
+
1726
+ # Style for polygons.
1727
+ class PolygonStyle
1728
+ include Google::Apis::Core::Hashable
1729
+
1730
+ # Basic color used in styling.
1731
+ # Corresponds to the JSON property `fill`
1732
+ # @return [Google::Apis::MapsengineV1::Color]
1733
+ attr_accessor :fill
1734
+
1735
+ # Text label style.
1736
+ # Corresponds to the JSON property `label`
1737
+ # @return [Google::Apis::MapsengineV1::LabelStyle]
1738
+ attr_accessor :label
1739
+
1740
+ # Border in line style. Both color and width are required.
1741
+ # Corresponds to the JSON property `stroke`
1742
+ # @return [Google::Apis::MapsengineV1::Border]
1743
+ attr_accessor :stroke
1744
+
1745
+ def initialize(**args)
1746
+ update!(**args)
1747
+ end
1748
+
1749
+ # Update properties of this object
1750
+ def update!(**args)
1751
+ @fill = args[:fill] unless args[:fill].nil?
1752
+ @label = args[:label] unless args[:label].nil?
1753
+ @stroke = args[:stroke] unless args[:stroke].nil?
1754
+ end
1755
+ end
1756
+
1757
+ # The response returned by a call to any asset's Process method.
1758
+ class ProcessResponse
1759
+ include Google::Apis::Core::Hashable
1760
+
1761
+ def initialize(**args)
1762
+ update!(**args)
1763
+ end
1764
+
1765
+ # Update properties of this object
1766
+ def update!(**args)
1767
+ end
1768
+ end
1769
+
1770
+ # A Maps Engine project groups a collection of resources.
1771
+ class Project
1772
+ include Google::Apis::Core::Hashable
1773
+
1774
+ # An ID used to refer to this Maps Engine project.
1775
+ # Corresponds to the JSON property `id`
1776
+ # @return [String]
1777
+ attr_accessor :id
1778
+
1779
+ # A user provided name for this Maps Engine project.
1780
+ # Corresponds to the JSON property `name`
1781
+ # @return [String]
1782
+ attr_accessor :name
1783
+
1784
+ def initialize(**args)
1785
+ update!(**args)
1786
+ end
1787
+
1788
+ # Update properties of this object
1789
+ def update!(**args)
1790
+ @id = args[:id] unless args[:id].nil?
1791
+ @name = args[:name] unless args[:name].nil?
1792
+ end
1793
+ end
1794
+
1795
+ # The response returned by a call to projects.List.
1796
+ class ListProjectsResponse
1797
+ include Google::Apis::Core::Hashable
1798
+
1799
+ # Projects returned.
1800
+ # Corresponds to the JSON property `projects`
1801
+ # @return [Array<Google::Apis::MapsengineV1::Project>]
1802
+ attr_accessor :projects
1803
+
1804
+ def initialize(**args)
1805
+ update!(**args)
1806
+ end
1807
+
1808
+ # Update properties of this object
1809
+ def update!(**args)
1810
+ @projects = args[:projects] unless args[:projects].nil?
1811
+ end
1812
+ end
1813
+
1814
+ # The response returned by a call to any asset's Publish method.
1815
+ class PublishResponse
1816
+ include Google::Apis::Core::Hashable
1817
+
1818
+ def initialize(**args)
1819
+ update!(**args)
1820
+ end
1821
+
1822
+ # Update properties of this object
1823
+ def update!(**args)
1824
+ end
1825
+ end
1826
+
1827
+ # The published version of a layer.
1828
+ class PublishedLayer
1829
+ include Google::Apis::Core::Hashable
1830
+
1831
+ # The description of this Layer, supplied by the author.
1832
+ # Corresponds to the JSON property `description`
1833
+ # @return [String]
1834
+ attr_accessor :description
1835
+
1836
+ # A globally unique ID, used to refer to this Layer.
1837
+ # Corresponds to the JSON property `id`
1838
+ # @return [String]
1839
+ attr_accessor :id
1840
+
1841
+ # The type of the datasources used to build this Layer. This should be used
1842
+ # instead of datasourceType. At least one of layerType and datasourceType and
1843
+ # must be specified, but layerType takes precedence.
1844
+ # Corresponds to the JSON property `layerType`
1845
+ # @return [String]
1846
+ attr_accessor :layer_type
1847
+
1848
+ # The name of this Layer, supplied by the author.
1849
+ # Corresponds to the JSON property `name`
1850
+ # @return [String]
1851
+ attr_accessor :name
1852
+
1853
+ # The ID of the project that this Layer is in.
1854
+ # Corresponds to the JSON property `projectId`
1855
+ # @return [String]
1856
+ attr_accessor :project_id
1857
+
1858
+ def initialize(**args)
1859
+ update!(**args)
1860
+ end
1861
+
1862
+ # Update properties of this object
1863
+ def update!(**args)
1864
+ @description = args[:description] unless args[:description].nil?
1865
+ @id = args[:id] unless args[:id].nil?
1866
+ @layer_type = args[:layer_type] unless args[:layer_type].nil?
1867
+ @name = args[:name] unless args[:name].nil?
1868
+ @project_id = args[:project_id] unless args[:project_id].nil?
1869
+ end
1870
+ end
1871
+
1872
+ # The response returned by a call to layers.List.published.
1873
+ class ListPublishedLayersResponse
1874
+ include Google::Apis::Core::Hashable
1875
+
1876
+ # Resources returned.
1877
+ # Corresponds to the JSON property `layers`
1878
+ # @return [Array<Google::Apis::MapsengineV1::PublishedLayer>]
1879
+ attr_accessor :layers
1880
+
1881
+ # Next page token.
1882
+ # Corresponds to the JSON property `nextPageToken`
1883
+ # @return [String]
1884
+ attr_accessor :next_page_token
1885
+
1886
+ def initialize(**args)
1887
+ update!(**args)
1888
+ end
1889
+
1890
+ # Update properties of this object
1891
+ def update!(**args)
1892
+ @layers = args[:layers] unless args[:layers].nil?
1893
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1894
+ end
1895
+ end
1896
+
1897
+ # The published version of a map asset.
1898
+ class PublishedMap
1899
+ include Google::Apis::Core::Hashable
1900
+
1901
+ # The contents of this Map.
1902
+ # Corresponds to the JSON property `contents`
1903
+ # @return [Array<Google::Apis::MapsengineV1::MapItem>]
1904
+ attr_accessor :contents
1905
+
1906
+ # A rectangular geographic bounds.
1907
+ # Corresponds to the JSON property `defaultViewport`
1908
+ # @return [Array<Float>]
1909
+ attr_accessor :default_viewport
1910
+
1911
+ # The description of this Map, supplied by the author.
1912
+ # Corresponds to the JSON property `description`
1913
+ # @return [String]
1914
+ attr_accessor :description
1915
+
1916
+ # A globally unique ID, used to refer to this Map.
1917
+ # Corresponds to the JSON property `id`
1918
+ # @return [String]
1919
+ attr_accessor :id
1920
+
1921
+ # The name of this Map, supplied by the author.
1922
+ # Corresponds to the JSON property `name`
1923
+ # @return [String]
1924
+ attr_accessor :name
1925
+
1926
+ # The ID of the project that this Map is in.
1927
+ # Corresponds to the JSON property `projectId`
1928
+ # @return [String]
1929
+ attr_accessor :project_id
1930
+
1931
+ def initialize(**args)
1932
+ update!(**args)
1933
+ end
1934
+
1935
+ # Update properties of this object
1936
+ def update!(**args)
1937
+ @contents = args[:contents] unless args[:contents].nil?
1938
+ @default_viewport = args[:default_viewport] unless args[:default_viewport].nil?
1939
+ @description = args[:description] unless args[:description].nil?
1940
+ @id = args[:id] unless args[:id].nil?
1941
+ @name = args[:name] unless args[:name].nil?
1942
+ @project_id = args[:project_id] unless args[:project_id].nil?
1943
+ end
1944
+ end
1945
+
1946
+ # The response returned by a call to maps.List.published.
1947
+ class ListPublishedMapsResponse
1948
+ include Google::Apis::Core::Hashable
1949
+
1950
+ # Resources returned.
1951
+ # Corresponds to the JSON property `maps`
1952
+ # @return [Array<Google::Apis::MapsengineV1::PublishedMap>]
1953
+ attr_accessor :maps
1954
+
1955
+ # Next page token.
1956
+ # Corresponds to the JSON property `nextPageToken`
1957
+ # @return [String]
1958
+ attr_accessor :next_page_token
1959
+
1960
+ def initialize(**args)
1961
+ update!(**args)
1962
+ end
1963
+
1964
+ # Update properties of this object
1965
+ def update!(**args)
1966
+ @maps = args[:maps] unless args[:maps].nil?
1967
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1968
+ end
1969
+ end
1970
+
1971
+ # A geo-referenced raster.
1972
+ class Raster
1973
+ include Google::Apis::Core::Hashable
1974
+
1975
+ # Acquisition time represents acquired time of a raster.
1976
+ # Corresponds to the JSON property `acquisitionTime`
1977
+ # @return [Google::Apis::MapsengineV1::AcquisitionTime]
1978
+ attr_accessor :acquisition_time
1979
+
1980
+ # The name of the attribution to be used for this Raster.
1981
+ # Corresponds to the JSON property `attribution`
1982
+ # @return [String]
1983
+ attr_accessor :attribution
1984
+
1985
+ # A rectangular bounding box which contains all of the data in this Raster. The
1986
+ # box is expressed as \"west, south, east, north\". The numbers represent
1987
+ # latitudes and longitudes in decimal degrees.
1988
+ # Corresponds to the JSON property `bbox`
1989
+ # @return [Array<Float>]
1990
+ attr_accessor :bbox
1991
+
1992
+ # The creation time of this raster. The value is an RFC 3339 formatted date-time
1993
+ # value (e.g. 1970-01-01T00:00:00Z).
1994
+ # Corresponds to the JSON property `creationTime`
1995
+ # @return [DateTime]
1996
+ attr_accessor :creation_time
1997
+
1998
+ # The email address of the creator of this raster. This is only returned on GET
1999
+ # requests and not LIST requests.
2000
+ # Corresponds to the JSON property `creatorEmail`
2001
+ # @return [String]
2002
+ attr_accessor :creator_email
2003
+
2004
+ # The description of this Raster, supplied by the author.
2005
+ # Corresponds to the JSON property `description`
2006
+ # @return [String]
2007
+ attr_accessor :description
2008
+
2009
+ # Deprecated: The name of an access list of the Map Editor type. The user on
2010
+ # whose behalf the request is being sent must be an editor on that access list.
2011
+ # Note: Google Maps Engine no longer uses access lists. Instead, each asset has
2012
+ # its own list of permissions. For backward compatibility, the API still accepts
2013
+ # access lists for projects that are already using access lists. If you created
2014
+ # a GME account/project after July 14th, 2014, you will not be able to send API
2015
+ # requests that include access lists. Note: This is an input field only. It is
2016
+ # not returned in response to a list or get request.
2017
+ # Corresponds to the JSON property `draftAccessList`
2018
+ # @return [String]
2019
+ attr_accessor :draft_access_list
2020
+
2021
+ # The ETag, used to refer to the current version of the asset.
2022
+ # Corresponds to the JSON property `etag`
2023
+ # @return [String]
2024
+ attr_accessor :etag
2025
+
2026
+ # The files associated with this Raster.
2027
+ # Corresponds to the JSON property `files`
2028
+ # @return [Array<Google::Apis::MapsengineV1::File>]
2029
+ attr_accessor :files
2030
+
2031
+ # A globally unique ID, used to refer to this Raster.
2032
+ # Corresponds to the JSON property `id`
2033
+ # @return [String]
2034
+ attr_accessor :id
2035
+
2036
+ # The last modified time of this raster. The value is an RFC 3339 formatted date-
2037
+ # time value (e.g. 1970-01-01T00:00:00Z).
2038
+ # Corresponds to the JSON property `lastModifiedTime`
2039
+ # @return [DateTime]
2040
+ attr_accessor :last_modified_time
2041
+
2042
+ # The email address of the last modifier of this raster. This is only returned
2043
+ # on GET requests and not LIST requests.
2044
+ # Corresponds to the JSON property `lastModifierEmail`
2045
+ # @return [String]
2046
+ attr_accessor :last_modifier_email
2047
+
2048
+ # The mask processing type of this Raster.
2049
+ # Corresponds to the JSON property `maskType`
2050
+ # @return [String]
2051
+ attr_accessor :mask_type
2052
+
2053
+ # The name of this Raster, supplied by the author.
2054
+ # Corresponds to the JSON property `name`
2055
+ # @return [String]
2056
+ attr_accessor :name
2057
+
2058
+ # The processing status of this Raster.
2059
+ # Corresponds to the JSON property `processingStatus`
2060
+ # @return [String]
2061
+ attr_accessor :processing_status
2062
+
2063
+ # The ID of the project that this Raster is in.
2064
+ # Corresponds to the JSON property `projectId`
2065
+ # @return [String]
2066
+ attr_accessor :project_id
2067
+
2068
+ # The type of this Raster. Always "image" today.
2069
+ # Corresponds to the JSON property `rasterType`
2070
+ # @return [String]
2071
+ attr_accessor :raster_type
2072
+
2073
+ # Tags of this Raster.
2074
+ # Corresponds to the JSON property `tags`
2075
+ # @return [Array<String>]
2076
+ attr_accessor :tags
2077
+
2078
+ # If true, WRITERs of the asset are able to edit the asset permissions.
2079
+ # Corresponds to the JSON property `writersCanEditPermissions`
2080
+ # @return [Boolean]
2081
+ attr_accessor :writers_can_edit_permissions
2082
+ alias_method :writers_can_edit_permissions?, :writers_can_edit_permissions
2083
+
2084
+ def initialize(**args)
2085
+ update!(**args)
2086
+ end
2087
+
2088
+ # Update properties of this object
2089
+ def update!(**args)
2090
+ @acquisition_time = args[:acquisition_time] unless args[:acquisition_time].nil?
2091
+ @attribution = args[:attribution] unless args[:attribution].nil?
2092
+ @bbox = args[:bbox] unless args[:bbox].nil?
2093
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
2094
+ @creator_email = args[:creator_email] unless args[:creator_email].nil?
2095
+ @description = args[:description] unless args[:description].nil?
2096
+ @draft_access_list = args[:draft_access_list] unless args[:draft_access_list].nil?
2097
+ @etag = args[:etag] unless args[:etag].nil?
2098
+ @files = args[:files] unless args[:files].nil?
2099
+ @id = args[:id] unless args[:id].nil?
2100
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
2101
+ @last_modifier_email = args[:last_modifier_email] unless args[:last_modifier_email].nil?
2102
+ @mask_type = args[:mask_type] unless args[:mask_type].nil?
2103
+ @name = args[:name] unless args[:name].nil?
2104
+ @processing_status = args[:processing_status] unless args[:processing_status].nil?
2105
+ @project_id = args[:project_id] unless args[:project_id].nil?
2106
+ @raster_type = args[:raster_type] unless args[:raster_type].nil?
2107
+ @tags = args[:tags] unless args[:tags].nil?
2108
+ @writers_can_edit_permissions = args[:writers_can_edit_permissions] unless args[:writers_can_edit_permissions].nil?
2109
+ end
2110
+ end
2111
+
2112
+ # A raster collection groups multiple Raster resources for inclusion in a Layer.
2113
+ class RasterCollection
2114
+ include Google::Apis::Core::Hashable
2115
+
2116
+ # The name of the attribution to be used for this RasterCollection. Note:
2117
+ # Attribution is returned in response to a get request but not a list request.
2118
+ # After requesting a list of raster collections, you'll need to send a get
2119
+ # request to retrieve the attribution for each raster collection.
2120
+ # Corresponds to the JSON property `attribution`
2121
+ # @return [String]
2122
+ attr_accessor :attribution
2123
+
2124
+ # A rectangular bounding box which contains all of the data in this
2125
+ # RasterCollection. The box is expressed as \"west, south, east, north\". The
2126
+ # numbers represent latitude and longitude in decimal degrees.
2127
+ # Corresponds to the JSON property `bbox`
2128
+ # @return [Array<Float>]
2129
+ attr_accessor :bbox
2130
+
2131
+ # The creation time of this RasterCollection. The value is an RFC 3339 formatted
2132
+ # date-time value (e.g. 1970-01-01T00:00:00Z).
2133
+ # Corresponds to the JSON property `creationTime`
2134
+ # @return [DateTime]
2135
+ attr_accessor :creation_time
2136
+
2137
+ # The email address of the creator of this raster collection. This is only
2138
+ # returned on GET requests and not LIST requests.
2139
+ # Corresponds to the JSON property `creatorEmail`
2140
+ # @return [String]
2141
+ attr_accessor :creator_email
2142
+
2143
+ # The description of this RasterCollection, supplied by the author.
2144
+ # Corresponds to the JSON property `description`
2145
+ # @return [String]
2146
+ attr_accessor :description
2147
+
2148
+ # Deprecated: The name of an access list of the Map Editor type. The user on
2149
+ # whose behalf the request is being sent must be an editor on that access list.
2150
+ # Note: Google Maps Engine no longer uses access lists. Instead, each asset has
2151
+ # its own list of permissions. For backward compatibility, the API still accepts
2152
+ # access lists for projects that are already using access lists. If you created
2153
+ # a GME account/project after July 14th, 2014, you will not be able to send API
2154
+ # requests that include access lists. Note: This is an input field only. It is
2155
+ # not returned in response to a list or get request.
2156
+ # Corresponds to the JSON property `draftAccessList`
2157
+ # @return [String]
2158
+ attr_accessor :draft_access_list
2159
+
2160
+ # The ETag, used to refer to the current version of the asset.
2161
+ # Corresponds to the JSON property `etag`
2162
+ # @return [String]
2163
+ attr_accessor :etag
2164
+
2165
+ # A globally unique ID, used to refer to this RasterCollection.
2166
+ # Corresponds to the JSON property `id`
2167
+ # @return [String]
2168
+ attr_accessor :id
2169
+
2170
+ # The last modified time of this RasterCollection. The value is an RFC 3339
2171
+ # formatted date-time value (e.g. 1970-01-01T00:00:00Z).
2172
+ # Corresponds to the JSON property `lastModifiedTime`
2173
+ # @return [DateTime]
2174
+ attr_accessor :last_modified_time
2175
+
2176
+ # The email address of the last modifier of this raster collection. This is only
2177
+ # returned on GET requests and not LIST requests.
2178
+ # Corresponds to the JSON property `lastModifierEmail`
2179
+ # @return [String]
2180
+ attr_accessor :last_modifier_email
2181
+
2182
+ # True if this RasterCollection is a mosaic.
2183
+ # Corresponds to the JSON property `mosaic`
2184
+ # @return [Boolean]
2185
+ attr_accessor :mosaic
2186
+ alias_method :mosaic?, :mosaic
2187
+
2188
+ # The name of this RasterCollection, supplied by the author.
2189
+ # Corresponds to the JSON property `name`
2190
+ # @return [String]
2191
+ attr_accessor :name
2192
+
2193
+ # The processing status of this RasterCollection.
2194
+ # Corresponds to the JSON property `processingStatus`
2195
+ # @return [String]
2196
+ attr_accessor :processing_status
2197
+
2198
+ # The ID of the project that this RasterCollection is in.
2199
+ # Corresponds to the JSON property `projectId`
2200
+ # @return [String]
2201
+ attr_accessor :project_id
2202
+
2203
+ # The type of rasters contained within this RasterCollection.
2204
+ # Corresponds to the JSON property `rasterType`
2205
+ # @return [String]
2206
+ attr_accessor :raster_type
2207
+
2208
+ # Tags of this RasterCollection.
2209
+ # Corresponds to the JSON property `tags`
2210
+ # @return [Array<String>]
2211
+ attr_accessor :tags
2212
+
2213
+ # If true, WRITERs of the asset are able to edit the asset permissions.
2214
+ # Corresponds to the JSON property `writersCanEditPermissions`
2215
+ # @return [Boolean]
2216
+ attr_accessor :writers_can_edit_permissions
2217
+ alias_method :writers_can_edit_permissions?, :writers_can_edit_permissions
2218
+
2219
+ def initialize(**args)
2220
+ update!(**args)
2221
+ end
2222
+
2223
+ # Update properties of this object
2224
+ def update!(**args)
2225
+ @attribution = args[:attribution] unless args[:attribution].nil?
2226
+ @bbox = args[:bbox] unless args[:bbox].nil?
2227
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
2228
+ @creator_email = args[:creator_email] unless args[:creator_email].nil?
2229
+ @description = args[:description] unless args[:description].nil?
2230
+ @draft_access_list = args[:draft_access_list] unless args[:draft_access_list].nil?
2231
+ @etag = args[:etag] unless args[:etag].nil?
2232
+ @id = args[:id] unless args[:id].nil?
2233
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
2234
+ @last_modifier_email = args[:last_modifier_email] unless args[:last_modifier_email].nil?
2235
+ @mosaic = args[:mosaic] unless args[:mosaic].nil?
2236
+ @name = args[:name] unless args[:name].nil?
2237
+ @processing_status = args[:processing_status] unless args[:processing_status].nil?
2238
+ @project_id = args[:project_id] unless args[:project_id].nil?
2239
+ @raster_type = args[:raster_type] unless args[:raster_type].nil?
2240
+ @tags = args[:tags] unless args[:tags].nil?
2241
+ @writers_can_edit_permissions = args[:writers_can_edit_permissions] unless args[:writers_can_edit_permissions].nil?
2242
+ end
2243
+ end
2244
+
2245
+ # The response returned by a call to raster_collections.List. Note: The list
2246
+ # response does not include all the fields available in a raster collection.
2247
+ # Refer to the RasterCollection resource description for details of the fields
2248
+ # that are not included. You'll need to send a get request to retrieve the
2249
+ # additional fields for each raster collection.
2250
+ class ListRasterCollectionsResponse
2251
+ include Google::Apis::Core::Hashable
2252
+
2253
+ # Next page token.
2254
+ # Corresponds to the JSON property `nextPageToken`
2255
+ # @return [String]
2256
+ attr_accessor :next_page_token
2257
+
2258
+ # Resources returned.
2259
+ # Corresponds to the JSON property `rasterCollections`
2260
+ # @return [Array<Google::Apis::MapsengineV1::RasterCollection>]
2261
+ attr_accessor :raster_collections
2262
+
2263
+ def initialize(**args)
2264
+ update!(**args)
2265
+ end
2266
+
2267
+ # Update properties of this object
2268
+ def update!(**args)
2269
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2270
+ @raster_collections = args[:raster_collections] unless args[:raster_collections].nil?
2271
+ end
2272
+ end
2273
+
2274
+ # A raster resource.
2275
+ class RasterCollectionsRaster
2276
+ include Google::Apis::Core::Hashable
2277
+
2278
+ # A rectangular bounding box which contains all of the data in this Raster. The
2279
+ # box is expressed as \"west, south, east, north\". The numbers represent
2280
+ # latitudes and longitudes in decimal degrees.
2281
+ # Corresponds to the JSON property `bbox`
2282
+ # @return [Array<Float>]
2283
+ attr_accessor :bbox
2284
+
2285
+ # The creation time of this raster. The value is an RFC 3339 formatted date-time
2286
+ # value (e.g. 1970-01-01T00:00:00Z).
2287
+ # Corresponds to the JSON property `creationTime`
2288
+ # @return [DateTime]
2289
+ attr_accessor :creation_time
2290
+
2291
+ # The description of this Raster, supplied by the author.
2292
+ # Corresponds to the JSON property `description`
2293
+ # @return [String]
2294
+ attr_accessor :description
2295
+
2296
+ # A globally unique ID, used to refer to this Raster.
2297
+ # Corresponds to the JSON property `id`
2298
+ # @return [String]
2299
+ attr_accessor :id
2300
+
2301
+ # The last modified time of this raster. The value is an RFC 3339 formatted date-
2302
+ # time value (e.g. 1970-01-01T00:00:00Z).
2303
+ # Corresponds to the JSON property `lastModifiedTime`
2304
+ # @return [DateTime]
2305
+ attr_accessor :last_modified_time
2306
+
2307
+ # The name of this Raster, supplied by the author.
2308
+ # Corresponds to the JSON property `name`
2309
+ # @return [String]
2310
+ attr_accessor :name
2311
+
2312
+ # The ID of the project that this Raster is in.
2313
+ # Corresponds to the JSON property `projectId`
2314
+ # @return [String]
2315
+ attr_accessor :project_id
2316
+
2317
+ # The type of this Raster. Always "image" today.
2318
+ # Corresponds to the JSON property `rasterType`
2319
+ # @return [String]
2320
+ attr_accessor :raster_type
2321
+
2322
+ # Tags of this Raster.
2323
+ # Corresponds to the JSON property `tags`
2324
+ # @return [Array<String>]
2325
+ attr_accessor :tags
2326
+
2327
+ def initialize(**args)
2328
+ update!(**args)
2329
+ end
2330
+
2331
+ # Update properties of this object
2332
+ def update!(**args)
2333
+ @bbox = args[:bbox] unless args[:bbox].nil?
2334
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
2335
+ @description = args[:description] unless args[:description].nil?
2336
+ @id = args[:id] unless args[:id].nil?
2337
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
2338
+ @name = args[:name] unless args[:name].nil?
2339
+ @project_id = args[:project_id] unless args[:project_id].nil?
2340
+ @raster_type = args[:raster_type] unless args[:raster_type].nil?
2341
+ @tags = args[:tags] unless args[:tags].nil?
2342
+ end
2343
+ end
2344
+
2345
+ # The request sent to rasterCollections.Rasters.BatchDelete.
2346
+ class BatchDeleteRasterCollectionsRasterRequest
2347
+ include Google::Apis::Core::Hashable
2348
+
2349
+ # An array of Raster asset IDs to be removed from this RasterCollection.
2350
+ # Corresponds to the JSON property `ids`
2351
+ # @return [Array<String>]
2352
+ attr_accessor :ids
2353
+
2354
+ def initialize(**args)
2355
+ update!(**args)
2356
+ end
2357
+
2358
+ # Update properties of this object
2359
+ def update!(**args)
2360
+ @ids = args[:ids] unless args[:ids].nil?
2361
+ end
2362
+ end
2363
+
2364
+ # The response returned by a call to rasterCollections.rasters.batchDelete.
2365
+ class BatchDeleteRasterCollectionsRastersResponse
2366
+ include Google::Apis::Core::Hashable
2367
+
2368
+ def initialize(**args)
2369
+ update!(**args)
2370
+ end
2371
+
2372
+ # Update properties of this object
2373
+ def update!(**args)
2374
+ end
2375
+ end
2376
+
2377
+ # The request sent to rasterCollections.Rasters.BatchInsert.
2378
+ class BatchInsertRasterCollectionsRastersRequest
2379
+ include Google::Apis::Core::Hashable
2380
+
2381
+ # An array of Raster asset IDs to be added to this RasterCollection.
2382
+ # Corresponds to the JSON property `ids`
2383
+ # @return [Array<String>]
2384
+ attr_accessor :ids
2385
+
2386
+ def initialize(**args)
2387
+ update!(**args)
2388
+ end
2389
+
2390
+ # Update properties of this object
2391
+ def update!(**args)
2392
+ @ids = args[:ids] unless args[:ids].nil?
2393
+ end
2394
+ end
2395
+
2396
+ # The response returned by a call to rasterCollections.rasters.batchInsert.
2397
+ class BatchInsertRasterCollectionsRastersResponse
2398
+ include Google::Apis::Core::Hashable
2399
+
2400
+ def initialize(**args)
2401
+ update!(**args)
2402
+ end
2403
+
2404
+ # Update properties of this object
2405
+ def update!(**args)
2406
+ end
2407
+ end
2408
+
2409
+ # The response returned by a call to rasterCollections.rasters.List.
2410
+ class ListRasterCollectionsRastersResponse
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # Next page token.
2414
+ # Corresponds to the JSON property `nextPageToken`
2415
+ # @return [String]
2416
+ attr_accessor :next_page_token
2417
+
2418
+ # Resources returned.
2419
+ # Corresponds to the JSON property `rasters`
2420
+ # @return [Array<Google::Apis::MapsengineV1::RasterCollectionsRaster>]
2421
+ attr_accessor :rasters
2422
+
2423
+ def initialize(**args)
2424
+ update!(**args)
2425
+ end
2426
+
2427
+ # Update properties of this object
2428
+ def update!(**args)
2429
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2430
+ @rasters = args[:rasters] unless args[:rasters].nil?
2431
+ end
2432
+ end
2433
+
2434
+ # The response returned by a call to rasters.List.
2435
+ class ListRastersResponse
2436
+ include Google::Apis::Core::Hashable
2437
+
2438
+ # Next page token.
2439
+ # Corresponds to the JSON property `nextPageToken`
2440
+ # @return [String]
2441
+ attr_accessor :next_page_token
2442
+
2443
+ # Resources returned.
2444
+ # Corresponds to the JSON property `rasters`
2445
+ # @return [Array<Google::Apis::MapsengineV1::Raster>]
2446
+ attr_accessor :rasters
2447
+
2448
+ def initialize(**args)
2449
+ update!(**args)
2450
+ end
2451
+
2452
+ # Update properties of this object
2453
+ def update!(**args)
2454
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2455
+ @rasters = args[:rasters] unless args[:rasters].nil?
2456
+ end
2457
+ end
2458
+
2459
+ # Parameters for styling points as scaled shapes.
2460
+ class ScaledShape
2461
+ include Google::Apis::Core::Hashable
2462
+
2463
+ # Border in line style. Both color and width are required.
2464
+ # Corresponds to the JSON property `border`
2465
+ # @return [Google::Apis::MapsengineV1::Border]
2466
+ attr_accessor :border
2467
+
2468
+ # Basic color used in styling.
2469
+ # Corresponds to the JSON property `fill`
2470
+ # @return [Google::Apis::MapsengineV1::Color]
2471
+ attr_accessor :fill
2472
+
2473
+ # Name of the shape.
2474
+ # Corresponds to the JSON property `shape`
2475
+ # @return [String]
2476
+ attr_accessor :shape
2477
+
2478
+ def initialize(**args)
2479
+ update!(**args)
2480
+ end
2481
+
2482
+ # Update properties of this object
2483
+ def update!(**args)
2484
+ @border = args[:border] unless args[:border].nil?
2485
+ @fill = args[:fill] unless args[:fill].nil?
2486
+ @shape = args[:shape] unless args[:shape].nil?
2487
+ end
2488
+ end
2489
+
2490
+ # Parameters for scaling scaled shapes.
2491
+ class ScalingFunction
2492
+ include Google::Apis::Core::Hashable
2493
+
2494
+ # Name of the numeric column used to scale a shape.
2495
+ # Corresponds to the JSON property `column`
2496
+ # @return [String]
2497
+ attr_accessor :column
2498
+
2499
+ # The type of scaling function to use. Defaults to SQRT. Currently only linear
2500
+ # and square root scaling are supported.
2501
+ # Corresponds to the JSON property `scalingType`
2502
+ # @return [String]
2503
+ attr_accessor :scaling_type
2504
+
2505
+ # Scaled shape size range in pixels. For circles, size corresponds to diameter.
2506
+ # Corresponds to the JSON property `sizeRange`
2507
+ # @return [Google::Apis::MapsengineV1::SizeRange]
2508
+ attr_accessor :size_range
2509
+
2510
+ # Range of values used for scaling shapes. The min/max values will be drawn as
2511
+ # shapes with the min/max size.
2512
+ # Corresponds to the JSON property `valueRange`
2513
+ # @return [Google::Apis::MapsengineV1::ValueRange]
2514
+ attr_accessor :value_range
2515
+
2516
+ def initialize(**args)
2517
+ update!(**args)
2518
+ end
2519
+
2520
+ # Update properties of this object
2521
+ def update!(**args)
2522
+ @column = args[:column] unless args[:column].nil?
2523
+ @scaling_type = args[:scaling_type] unless args[:scaling_type].nil?
2524
+ @size_range = args[:size_range] unless args[:size_range].nil?
2525
+ @value_range = args[:value_range] unless args[:value_range].nil?
2526
+ end
2527
+ end
2528
+
2529
+ # A schema indicating the properties which may be associated with features
2530
+ # within a Table, and the types of those properties.
2531
+ class Schema
2532
+ include Google::Apis::Core::Hashable
2533
+
2534
+ # An array of TableColumn objects. The first object in the array must be named
2535
+ # geometry and be of type points, lineStrings, polygons, or mixedGeometry.
2536
+ # Corresponds to the JSON property `columns`
2537
+ # @return [Array<Google::Apis::MapsengineV1::TableColumn>]
2538
+ attr_accessor :columns
2539
+
2540
+ # The name of the column that contains a feature's geometry. This field can be
2541
+ # omitted during table create; Google Maps Engine supports only a single
2542
+ # geometry column, which must be named geometry and be the first object in the
2543
+ # columns array.
2544
+ # Corresponds to the JSON property `primaryGeometry`
2545
+ # @return [String]
2546
+ attr_accessor :primary_geometry
2547
+
2548
+ # The name of the column that contains the unique identifier of a Feature.
2549
+ # Corresponds to the JSON property `primaryKey`
2550
+ # @return [String]
2551
+ attr_accessor :primary_key
2552
+
2553
+ def initialize(**args)
2554
+ update!(**args)
2555
+ end
2556
+
2557
+ # Update properties of this object
2558
+ def update!(**args)
2559
+ @columns = args[:columns] unless args[:columns].nil?
2560
+ @primary_geometry = args[:primary_geometry] unless args[:primary_geometry].nil?
2561
+ @primary_key = args[:primary_key] unless args[:primary_key].nil?
2562
+ end
2563
+ end
2564
+
2565
+ # Scaled shape size range in pixels. For circles, size corresponds to diameter.
2566
+ class SizeRange
2567
+ include Google::Apis::Core::Hashable
2568
+
2569
+ # Maximum size, in pixels.
2570
+ # Corresponds to the JSON property `max`
2571
+ # @return [Float]
2572
+ attr_accessor :max
2573
+
2574
+ # Minimum size, in pixels.
2575
+ # Corresponds to the JSON property `min`
2576
+ # @return [Float]
2577
+ attr_accessor :min
2578
+
2579
+ def initialize(**args)
2580
+ update!(**args)
2581
+ end
2582
+
2583
+ # Update properties of this object
2584
+ def update!(**args)
2585
+ @max = args[:max] unless args[:max].nil?
2586
+ @min = args[:min] unless args[:min].nil?
2587
+ end
2588
+ end
2589
+
2590
+ # A collection of geographic features, and associated metadata.
2591
+ class Table
2592
+ include Google::Apis::Core::Hashable
2593
+
2594
+ # A rectangular bounding box which contains all of the data in this Table. The
2595
+ # box is expressed as \"west, south, east, north\". The numbers represent
2596
+ # latitude and longitude in decimal degrees.
2597
+ # Corresponds to the JSON property `bbox`
2598
+ # @return [Array<Float>]
2599
+ attr_accessor :bbox
2600
+
2601
+ # The creation time of this table. The value is an RFC 3339 formatted date-time
2602
+ # value (e.g. 1970-01-01T00:00:00Z).
2603
+ # Corresponds to the JSON property `creationTime`
2604
+ # @return [DateTime]
2605
+ attr_accessor :creation_time
2606
+
2607
+ # The email address of the creator of this table. This is only returned on GET
2608
+ # requests and not LIST requests.
2609
+ # Corresponds to the JSON property `creatorEmail`
2610
+ # @return [String]
2611
+ attr_accessor :creator_email
2612
+
2613
+ # The description of this table, supplied by the author.
2614
+ # Corresponds to the JSON property `description`
2615
+ # @return [String]
2616
+ attr_accessor :description
2617
+
2618
+ # Deprecated: The name of an access list of the Map Editor type. The user on
2619
+ # whose behalf the request is being sent must be an editor on that access list.
2620
+ # Note: Google Maps Engine no longer uses access lists. Instead, each asset has
2621
+ # its own list of permissions. For backward compatibility, the API still accepts
2622
+ # access lists for projects that are already using access lists. If you created
2623
+ # a GME account/project after July 14th, 2014, you will not be able to send API
2624
+ # requests that include access lists. Note: This is an input field only. It is
2625
+ # not returned in response to a list or get request.
2626
+ # Corresponds to the JSON property `draftAccessList`
2627
+ # @return [String]
2628
+ attr_accessor :draft_access_list
2629
+
2630
+ # The ETag, used to refer to the current version of the asset.
2631
+ # Corresponds to the JSON property `etag`
2632
+ # @return [String]
2633
+ attr_accessor :etag
2634
+
2635
+ # The files associated with this table.
2636
+ # Corresponds to the JSON property `files`
2637
+ # @return [Array<Google::Apis::MapsengineV1::File>]
2638
+ attr_accessor :files
2639
+
2640
+ # A globally unique ID, used to refer to this table.
2641
+ # Corresponds to the JSON property `id`
2642
+ # @return [String]
2643
+ attr_accessor :id
2644
+
2645
+ # The last modified time of this table. The value is an RFC 3339 formatted date-
2646
+ # time value (e.g. 1970-01-01T00:00:00Z).
2647
+ # Corresponds to the JSON property `lastModifiedTime`
2648
+ # @return [DateTime]
2649
+ attr_accessor :last_modified_time
2650
+
2651
+ # The email address of the last modifier of this table. This is only returned on
2652
+ # GET requests and not LIST requests.
2653
+ # Corresponds to the JSON property `lastModifierEmail`
2654
+ # @return [String]
2655
+ attr_accessor :last_modifier_email
2656
+
2657
+ # The name of this table, supplied by the author.
2658
+ # Corresponds to the JSON property `name`
2659
+ # @return [String]
2660
+ attr_accessor :name
2661
+
2662
+ # The processing status of this table.
2663
+ # Corresponds to the JSON property `processingStatus`
2664
+ # @return [String]
2665
+ attr_accessor :processing_status
2666
+
2667
+ # The ID of the project to which the table belongs.
2668
+ # Corresponds to the JSON property `projectId`
2669
+ # @return [String]
2670
+ attr_accessor :project_id
2671
+
2672
+ # Deprecated: The access list to whom view permissions are granted. The value
2673
+ # must be the name of a Maps Engine access list of the Map Viewer type, and the
2674
+ # user must be a viewer on that list. Note: Google Maps Engine no longer uses
2675
+ # access lists. Instead, each asset has its own list of permissions. For
2676
+ # backward compatibility, the API still accepts access lists for projects that
2677
+ # are already using access lists. If you created a GME account/project after
2678
+ # July 14th, 2014, you will not be able to send API requests that include access
2679
+ # lists. Note: This is an input field only. It is not returned in response to a
2680
+ # list or get request.
2681
+ # Corresponds to the JSON property `publishedAccessList`
2682
+ # @return [String]
2683
+ attr_accessor :published_access_list
2684
+
2685
+ # A schema indicating the properties which may be associated with features
2686
+ # within a Table, and the types of those properties.
2687
+ # Corresponds to the JSON property `schema`
2688
+ # @return [Google::Apis::MapsengineV1::Schema]
2689
+ attr_accessor :schema
2690
+
2691
+ # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1,
2692
+ # and Shift_JIS.
2693
+ # Corresponds to the JSON property `sourceEncoding`
2694
+ # @return [String]
2695
+ attr_accessor :source_encoding
2696
+
2697
+ # An array of text strings, with each string representing a tag. More
2698
+ # information about tags can be found in the Tagging data article of the Maps
2699
+ # Engine help center.
2700
+ # Corresponds to the JSON property `tags`
2701
+ # @return [Array<String>]
2702
+ attr_accessor :tags
2703
+
2704
+ # If true, WRITERs of the asset are able to edit the asset permissions.
2705
+ # Corresponds to the JSON property `writersCanEditPermissions`
2706
+ # @return [Boolean]
2707
+ attr_accessor :writers_can_edit_permissions
2708
+ alias_method :writers_can_edit_permissions?, :writers_can_edit_permissions
2709
+
2710
+ def initialize(**args)
2711
+ update!(**args)
2712
+ end
2713
+
2714
+ # Update properties of this object
2715
+ def update!(**args)
2716
+ @bbox = args[:bbox] unless args[:bbox].nil?
2717
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
2718
+ @creator_email = args[:creator_email] unless args[:creator_email].nil?
2719
+ @description = args[:description] unless args[:description].nil?
2720
+ @draft_access_list = args[:draft_access_list] unless args[:draft_access_list].nil?
2721
+ @etag = args[:etag] unless args[:etag].nil?
2722
+ @files = args[:files] unless args[:files].nil?
2723
+ @id = args[:id] unless args[:id].nil?
2724
+ @last_modified_time = args[:last_modified_time] unless args[:last_modified_time].nil?
2725
+ @last_modifier_email = args[:last_modifier_email] unless args[:last_modifier_email].nil?
2726
+ @name = args[:name] unless args[:name].nil?
2727
+ @processing_status = args[:processing_status] unless args[:processing_status].nil?
2728
+ @project_id = args[:project_id] unless args[:project_id].nil?
2729
+ @published_access_list = args[:published_access_list] unless args[:published_access_list].nil?
2730
+ @schema = args[:schema] unless args[:schema].nil?
2731
+ @source_encoding = args[:source_encoding] unless args[:source_encoding].nil?
2732
+ @tags = args[:tags] unless args[:tags].nil?
2733
+ @writers_can_edit_permissions = args[:writers_can_edit_permissions] unless args[:writers_can_edit_permissions].nil?
2734
+ end
2735
+ end
2736
+
2737
+ #
2738
+ class TableColumn
2739
+ include Google::Apis::Core::Hashable
2740
+
2741
+ # The column name.
2742
+ # Corresponds to the JSON property `name`
2743
+ # @return [String]
2744
+ attr_accessor :name
2745
+
2746
+ # The type of data stored in this column.
2747
+ # Corresponds to the JSON property `type`
2748
+ # @return [String]
2749
+ attr_accessor :type
2750
+
2751
+ def initialize(**args)
2752
+ update!(**args)
2753
+ end
2754
+
2755
+ # Update properties of this object
2756
+ def update!(**args)
2757
+ @name = args[:name] unless args[:name].nil?
2758
+ @type = args[:type] unless args[:type].nil?
2759
+ end
2760
+ end
2761
+
2762
+ # The response returned by a call to tables.List. Note: The list response does
2763
+ # not include all the fields available in a table. Refer to the table resource
2764
+ # description for details of the fields that are not included. You'll need to
2765
+ # send a get request to retrieve the additional fields for each table.
2766
+ class ListTablesResponse
2767
+ include Google::Apis::Core::Hashable
2768
+
2769
+ # Next page token.
2770
+ # Corresponds to the JSON property `nextPageToken`
2771
+ # @return [String]
2772
+ attr_accessor :next_page_token
2773
+
2774
+ # Resources returned.
2775
+ # Corresponds to the JSON property `tables`
2776
+ # @return [Array<Google::Apis::MapsengineV1::Table>]
2777
+ attr_accessor :tables
2778
+
2779
+ def initialize(**args)
2780
+ update!(**args)
2781
+ end
2782
+
2783
+ # Update properties of this object
2784
+ def update!(**args)
2785
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
2786
+ @tables = args[:tables] unless args[:tables].nil?
2787
+ end
2788
+ end
2789
+
2790
+ # Range of values used for scaling shapes. The min/max values will be drawn as
2791
+ # shapes with the min/max size.
2792
+ class ValueRange
2793
+ include Google::Apis::Core::Hashable
2794
+
2795
+ # Maximum value.
2796
+ # Corresponds to the JSON property `max`
2797
+ # @return [Float]
2798
+ attr_accessor :max
2799
+
2800
+ # Minimum value.
2801
+ # Corresponds to the JSON property `min`
2802
+ # @return [Float]
2803
+ attr_accessor :min
2804
+
2805
+ def initialize(**args)
2806
+ update!(**args)
2807
+ end
2808
+
2809
+ # Update properties of this object
2810
+ def update!(**args)
2811
+ @max = args[:max] unless args[:max].nil?
2812
+ @min = args[:min] unless args[:min].nil?
2813
+ end
2814
+ end
2815
+
2816
+ # A vector style contains styling information for vector layer.
2817
+ class VectorStyle
2818
+ include Google::Apis::Core::Hashable
2819
+
2820
+ #
2821
+ # Corresponds to the JSON property `displayRules`
2822
+ # @return [Array<Google::Apis::MapsengineV1::DisplayRule>]
2823
+ attr_accessor :display_rules
2824
+
2825
+ # A feature info contains information about individual feature.
2826
+ # Corresponds to the JSON property `featureInfo`
2827
+ # @return [Google::Apis::MapsengineV1::FeatureInfo]
2828
+ attr_accessor :feature_info
2829
+
2830
+ # The type of the vector style. Currently, only displayRule is supported.
2831
+ # Corresponds to the JSON property `type`
2832
+ # @return [String]
2833
+ attr_accessor :type
2834
+
2835
+ def initialize(**args)
2836
+ update!(**args)
2837
+ end
2838
+
2839
+ # Update properties of this object
2840
+ def update!(**args)
2841
+ @display_rules = args[:display_rules] unless args[:display_rules].nil?
2842
+ @feature_info = args[:feature_info] unless args[:feature_info].nil?
2843
+ @type = args[:type] unless args[:type].nil?
2844
+ end
2845
+ end
2846
+
2847
+ # Zoom level range. Zoom levels are restricted between 0 and 24, inclusive.
2848
+ class ZoomLevels
2849
+ include Google::Apis::Core::Hashable
2850
+
2851
+ # Maximum zoom level.
2852
+ # Corresponds to the JSON property `max`
2853
+ # @return [Fixnum]
2854
+ attr_accessor :max
2855
+
2856
+ # Minimum zoom level.
2857
+ # Corresponds to the JSON property `min`
2858
+ # @return [Fixnum]
2859
+ attr_accessor :min
2860
+
2861
+ def initialize(**args)
2862
+ update!(**args)
2863
+ end
2864
+
2865
+ # Update properties of this object
2866
+ def update!(**args)
2867
+ @max = args[:max] unless args[:max].nil?
2868
+ @min = args[:min] unless args[:min].nil?
2869
+ end
2870
+ end
2871
+ end
2872
+ end
2873
+ end