google-api-client 0.8.6 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) 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 +23 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +58 -2
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +38 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +189 -147
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +1088 -0
  15. data/api_names_out.yaml +26978 -0
  16. data/bin/generate-api +109 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  21. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +3025 -0
  22. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1240 -0
  23. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1446 -0
  24. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  25. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  26. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +347 -0
  27. data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
  28. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  29. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  30. data/generated/google/apis/admin_datatransfer_v1/representations.rb +130 -0
  31. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  32. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  33. data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
  34. data/generated/google/apis/admin_directory_v1/representations.rb +1147 -0
  35. data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
  36. data/generated/google/apis/admin_directory_v1.rb +113 -0
  37. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  38. data/generated/google/apis/admin_reports_v1/representations.rb +257 -0
  39. data/generated/google/apis/admin_reports_v1/service.rb +336 -0
  40. data/generated/google/apis/admin_reports_v1.rb +38 -0
  41. data/generated/google/apis/adsense_v1_4/classes.rb +1280 -0
  42. data/generated/google/apis/adsense_v1_4/representations.rb +555 -0
  43. data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
  44. data/generated/google/apis/adsense_v1_4.rb +38 -0
  45. data/generated/google/apis/adsensehost_v4_1/classes.rb +837 -0
  46. data/generated/google/apis/adsensehost_v4_1/representations.rb +367 -0
  47. data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
  48. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  49. data/generated/google/apis/analytics_v3/classes.rb +5118 -0
  50. data/generated/google/apis/analytics_v3/representations.rb +1850 -0
  51. data/generated/google/apis/analytics_v3/service.rb +3568 -0
  52. data/generated/google/apis/analytics_v3.rb +49 -0
  53. data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
  54. data/generated/google/apis/androidenterprise_v1/representations.rb +614 -0
  55. data/generated/google/apis/androidenterprise_v1/service.rb +2607 -0
  56. data/generated/google/apis/androidenterprise_v1.rb +35 -0
  57. data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
  58. data/generated/google/apis/androidpublisher_v2/representations.rb +738 -0
  59. data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
  60. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  61. data/generated/google/apis/appengine_v1beta4/classes.rb +1585 -0
  62. data/generated/google/apis/appengine_v1beta4/representations.rb +542 -0
  63. data/generated/google/apis/appengine_v1beta4/service.rb +477 -0
  64. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  65. data/generated/google/apis/appengine_v1beta5/classes.rb +1544 -0
  66. data/generated/google/apis/appengine_v1beta5/representations.rb +594 -0
  67. data/generated/google/apis/appengine_v1beta5/service.rb +521 -0
  68. data/generated/google/apis/appengine_v1beta5.rb +35 -0
  69. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  70. data/generated/google/apis/appsactivity_v1/representations.rb +206 -0
  71. data/generated/google/apis/appsactivity_v1/service.rb +128 -0
  72. data/generated/google/apis/appsactivity_v1.rb +46 -0
  73. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  74. data/generated/google/apis/appstate_v1/representations.rb +87 -0
  75. data/generated/google/apis/appstate_v1/service.rb +260 -0
  76. data/generated/google/apis/appstate_v1.rb +34 -0
  77. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  78. data/generated/google/apis/autoscaler_v1beta2/representations.rb +313 -0
  79. data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
  80. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  81. data/generated/google/apis/bigquery_v2/classes.rb +2503 -0
  82. data/generated/google/apis/bigquery_v2/representations.rb +914 -0
  83. data/generated/google/apis/bigquery_v2/service.rb +982 -0
  84. data/generated/google/apis/bigquery_v2.rb +52 -0
  85. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  86. data/generated/google/apis/blogger_v3/representations.rb +632 -0
  87. data/generated/google/apis/blogger_v3/service.rb +1587 -0
  88. data/generated/google/apis/blogger_v3.rb +37 -0
  89. data/generated/google/apis/books_v1/classes.rb +4006 -0
  90. data/generated/google/apis/books_v1/representations.rb +1742 -0
  91. data/generated/google/apis/books_v1/service.rb +2293 -0
  92. data/generated/google/apis/books_v1.rb +34 -0
  93. data/generated/google/apis/calendar_v3/classes.rb +1742 -0
  94. data/generated/google/apis/calendar_v3/representations.rb +631 -0
  95. data/generated/google/apis/calendar_v3/service.rb +1968 -0
  96. data/generated/google/apis/calendar_v3.rb +37 -0
  97. data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
  98. data/generated/google/apis/civicinfo_v2/representations.rb +423 -0
  99. data/generated/google/apis/civicinfo_v2/service.rb +279 -0
  100. data/generated/google/apis/civicinfo_v2.rb +31 -0
  101. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  102. data/generated/google/apis/classroom_v1/representations.rb +245 -0
  103. data/generated/google/apis/classroom_v1/service.rb +970 -0
  104. data/generated/google/apis/classroom_v1.rb +49 -0
  105. data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
  106. data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
  107. data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
  108. data/generated/google/apis/classroom_v1beta1.rb +49 -0
  109. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  110. data/generated/google/apis/cloudbilling_v1/representations.rb +87 -0
  111. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  112. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  113. data/generated/google/apis/cloudbuild_v1/classes.rb +521 -0
  114. data/generated/google/apis/cloudbuild_v1/representations.rb +214 -0
  115. data/generated/google/apis/cloudbuild_v1/service.rb +278 -0
  116. data/generated/google/apis/cloudbuild_v1.rb +35 -0
  117. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  118. data/generated/google/apis/clouddebugger_v2/representations.rb +464 -0
  119. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  120. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  121. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  122. data/generated/google/apis/cloudlatencytest_v2/representations.rb +127 -0
  123. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  124. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  125. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  126. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +353 -0
  127. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
  128. data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
  129. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +450 -0
  130. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +226 -0
  131. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +626 -0
  132. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  133. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  134. data/generated/google/apis/cloudtrace_v1/representations.rb +102 -0
  135. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  136. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  137. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  138. data/generated/google/apis/clouduseraccounts_beta/representations.rb +351 -0
  139. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  140. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  141. data/generated/google/apis/compute_beta/classes.rb +9741 -0
  142. data/generated/google/apis/compute_beta/representations.rb +3649 -0
  143. data/generated/google/apis/compute_beta/service.rb +10636 -0
  144. data/generated/google/apis/compute_beta.rb +49 -0
  145. data/generated/google/apis/compute_v1/classes.rb +9095 -0
  146. data/generated/google/apis/compute_v1/representations.rb +3389 -0
  147. data/generated/google/apis/compute_v1/service.rb +9627 -0
  148. data/generated/google/apis/compute_v1.rb +49 -0
  149. data/generated/google/apis/container_v1/classes.rb +463 -0
  150. data/generated/google/apis/container_v1/representations.rb +195 -0
  151. data/generated/google/apis/container_v1/service.rb +367 -0
  152. data/generated/google/apis/container_v1.rb +35 -0
  153. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  154. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  155. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  156. data/generated/google/apis/container_v1beta1.rb +35 -0
  157. data/generated/google/apis/content_v2/classes.rb +6114 -0
  158. data/generated/google/apis/content_v2/representations.rb +2624 -0
  159. data/generated/google/apis/content_v2/service.rb +2338 -0
  160. data/generated/google/apis/content_v2.rb +35 -0
  161. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  162. data/generated/google/apis/coordinate_v1/representations.rb +321 -0
  163. data/generated/google/apis/coordinate_v1/service.rb +678 -0
  164. data/generated/google/apis/coordinate_v1.rb +37 -0
  165. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  166. data/generated/google/apis/customsearch_v1/representations.rb +302 -0
  167. data/generated/google/apis/customsearch_v1/service.rb +207 -0
  168. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  169. data/generated/google/apis/dataproc_v1/classes.rb +1590 -0
  170. data/generated/google/apis/dataproc_v1/representations.rb +653 -0
  171. data/generated/google/apis/dataproc_v1/service.rb +719 -0
  172. data/generated/google/apis/dataproc_v1.rb +43 -0
  173. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  174. data/generated/google/apis/datastore_v1beta2/representations.rb +594 -0
  175. data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
  176. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  177. data/generated/google/apis/deploymentmanager_v2/classes.rb +1162 -0
  178. data/generated/google/apis/deploymentmanager_v2/representations.rb +508 -0
  179. data/generated/google/apis/deploymentmanager_v2/service.rb +862 -0
  180. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  181. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
  182. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
  183. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
  184. data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
  185. data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
  186. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  187. data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
  188. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  189. data/generated/google/apis/dfareporting_v2_3/classes.rb +10830 -0
  190. data/generated/google/apis/dfareporting_v2_3/representations.rb +3829 -0
  191. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  192. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  193. data/generated/google/apis/discovery_v1/classes.rb +961 -0
  194. data/generated/google/apis/discovery_v1/representations.rb +397 -0
  195. data/generated/google/apis/discovery_v1/service.rb +142 -0
  196. data/generated/google/apis/discovery_v1.rb +32 -0
  197. data/generated/google/apis/dns_v1/classes.rb +406 -0
  198. data/generated/google/apis/dns_v1/representations.rb +167 -0
  199. data/generated/google/apis/dns_v1/service.rb +454 -0
  200. data/generated/google/apis/dns_v1.rb +44 -0
  201. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +802 -0
  202. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +371 -0
  203. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +374 -0
  204. data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
  205. data/generated/google/apis/doubleclicksearch_v2/classes.rb +958 -0
  206. data/generated/google/apis/doubleclicksearch_v2/representations.rb +350 -0
  207. data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
  208. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  209. data/generated/google/apis/drive_v2/classes.rb +2569 -0
  210. data/generated/google/apis/drive_v2/representations.rb +878 -0
  211. data/generated/google/apis/drive_v2/service.rb +2740 -0
  212. data/generated/google/apis/drive_v2.rb +58 -0
  213. data/generated/google/apis/drive_v3/classes.rb +1541 -0
  214. data/generated/google/apis/drive_v3/representations.rb +548 -0
  215. data/generated/google/apis/drive_v3/service.rb +1542 -0
  216. data/generated/google/apis/drive_v3.rb +55 -0
  217. data/generated/google/apis/fitness_v1/classes.rb +885 -0
  218. data/generated/google/apis/fitness_v1/representations.rb +360 -0
  219. data/generated/google/apis/fitness_v1/service.rb +675 -0
  220. data/generated/google/apis/fitness_v1.rb +49 -0
  221. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  222. data/generated/google/apis/fusiontables_v2/representations.rb +457 -0
  223. data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
  224. data/generated/google/apis/fusiontables_v2.rb +37 -0
  225. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  226. data/generated/google/apis/games_configuration_v1configuration/representations.rb +228 -0
  227. data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
  228. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  229. data/generated/google/apis/games_management_v1management/classes.rb +533 -0
  230. data/generated/google/apis/games_management_v1management/representations.rb +262 -0
  231. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  232. data/generated/google/apis/games_management_v1management.rb +37 -0
  233. data/generated/google/apis/games_v1/classes.rb +4626 -0
  234. data/generated/google/apis/games_v1/representations.rb +1783 -0
  235. data/generated/google/apis/games_v1/service.rb +2290 -0
  236. data/generated/google/apis/games_v1.rb +40 -0
  237. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  238. data/generated/google/apis/gan_v1beta1/representations.rb +462 -0
  239. data/generated/google/apis/gan_v1beta1/service.rb +682 -0
  240. data/generated/google/apis/gan_v1beta1.rb +31 -0
  241. data/generated/google/apis/genomics_v1/classes.rb +2609 -0
  242. data/generated/google/apis/genomics_v1/representations.rb +1029 -0
  243. data/generated/google/apis/genomics_v1/service.rb +1676 -0
  244. data/generated/google/apis/genomics_v1.rb +49 -0
  245. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  246. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  247. data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
  248. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  249. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  250. data/generated/google/apis/gmail_v1/representations.rb +383 -0
  251. data/generated/google/apis/gmail_v1/service.rb +1470 -0
  252. data/generated/google/apis/gmail_v1.rb +52 -0
  253. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  254. data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
  255. data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
  256. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  257. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  258. data/generated/google/apis/groupssettings_v1/representations.rb +66 -0
  259. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  260. data/generated/google/apis/groupssettings_v1.rb +34 -0
  261. data/generated/google/apis/identitytoolkit_v3/classes.rb +1637 -0
  262. data/generated/google/apis/identitytoolkit_v3/representations.rb +618 -0
  263. data/generated/google/apis/identitytoolkit_v3/service.rb +616 -0
  264. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  265. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  266. data/generated/google/apis/kgsearch_v1/representations.rb +41 -0
  267. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  268. data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
  269. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  270. data/generated/google/apis/licensing_v1/representations.rb +74 -0
  271. data/generated/google/apis/licensing_v1/service.rb +369 -0
  272. data/generated/google/apis/licensing_v1.rb +34 -0
  273. data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
  274. data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
  275. data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
  276. data/generated/google/apis/logging_v1beta3.rb +47 -0
  277. data/generated/google/apis/logging_v2beta1/classes.rb +990 -0
  278. data/generated/google/apis/logging_v2beta1/representations.rb +377 -0
  279. data/generated/google/apis/logging_v2beta1/service.rb +547 -0
  280. data/generated/google/apis/logging_v2beta1.rb +47 -0
  281. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  282. data/generated/google/apis/manager_v1beta2/representations.rb +606 -0
  283. data/generated/google/apis/manager_v1beta2/service.rb +372 -0
  284. data/generated/google/apis/manager_v1beta2.rb +53 -0
  285. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  286. data/generated/google/apis/mirror_v1/representations.rb +390 -0
  287. data/generated/google/apis/mirror_v1/service.rb +977 -0
  288. data/generated/google/apis/mirror_v1.rb +37 -0
  289. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  290. data/generated/google/apis/oauth2_v2/representations.rb +102 -0
  291. data/generated/google/apis/oauth2_v2/service.rb +199 -0
  292. data/generated/google/apis/oauth2_v2.rb +43 -0
  293. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  294. data/generated/google/apis/pagespeedonline_v2/representations.rb +272 -0
  295. data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
  296. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  297. data/generated/google/apis/partners_v2/classes.rb +942 -0
  298. data/generated/google/apis/partners_v2/representations.rb +454 -0
  299. data/generated/google/apis/partners_v2/service.rb +400 -0
  300. data/generated/google/apis/partners_v2.rb +32 -0
  301. data/generated/google/apis/people_v1/classes.rb +1521 -0
  302. data/generated/google/apis/people_v1/representations.rb +663 -0
  303. data/generated/google/apis/people_v1/service.rb +189 -0
  304. data/generated/google/apis/people_v1.rb +59 -0
  305. data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
  306. data/generated/google/apis/plus_domains_v1/representations.rb +1111 -0
  307. data/generated/google/apis/plus_domains_v1/service.rb +904 -0
  308. data/generated/google/apis/plus_domains_v1.rb +61 -0
  309. data/generated/google/apis/plus_v1/classes.rb +2094 -0
  310. data/generated/google/apis/plus_v1/representations.rb +907 -0
  311. data/generated/google/apis/plus_v1/service.rb +470 -0
  312. data/generated/google/apis/plus_v1.rb +43 -0
  313. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  314. data/generated/google/apis/prediction_v1_6/representations.rb +369 -0
  315. data/generated/google/apis/prediction_v1_6/service.rb +380 -0
  316. data/generated/google/apis/prediction_v1_6.rb +44 -0
  317. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  318. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +312 -0
  319. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  320. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  321. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  322. data/generated/google/apis/pubsub_v1/representations.rb +323 -0
  323. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  324. data/generated/google/apis/pubsub_v1.rb +37 -0
  325. data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
  326. data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
  327. data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
  328. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  329. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  330. data/generated/google/apis/qpx_express_v1/representations.rb +472 -0
  331. data/generated/google/apis/qpx_express_v1/service.rb +100 -0
  332. data/generated/google/apis/qpx_express_v1.rb +31 -0
  333. data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
  334. data/generated/google/apis/replicapool_v1beta2/representations.rb +264 -0
  335. data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
  336. data/generated/google/apis/replicapool_v1beta2.rb +44 -0
  337. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
  338. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +294 -0
  339. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
  340. data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
  341. data/generated/google/apis/reseller_v1/classes.rb +526 -0
  342. data/generated/google/apis/reseller_v1/representations.rb +223 -0
  343. data/generated/google/apis/reseller_v1/service.rb +623 -0
  344. data/generated/google/apis/reseller_v1.rb +37 -0
  345. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  346. data/generated/google/apis/resourceviews_v1beta2/representations.rb +301 -0
  347. data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
  348. data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
  349. data/generated/google/apis/script_v1/classes.rb +259 -0
  350. data/generated/google/apis/script_v1/representations.rb +118 -0
  351. data/generated/google/apis/script_v1/service.rb +98 -0
  352. data/generated/google/apis/script_v1.rb +61 -0
  353. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  354. data/generated/google/apis/site_verification_v1/representations.rb +113 -0
  355. data/generated/google/apis/site_verification_v1/service.rb +315 -0
  356. data/generated/google/apis/site_verification_v1.rb +37 -0
  357. data/generated/google/apis/sqladmin_v1beta4/classes.rb +2030 -0
  358. data/generated/google/apis/sqladmin_v1beta4/representations.rb +856 -0
  359. data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
  360. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  361. data/generated/google/apis/storage_v1/classes.rb +1222 -0
  362. data/generated/google/apis/storage_v1/representations.rb +497 -0
  363. data/generated/google/apis/storage_v1/service.rb +1903 -0
  364. data/generated/google/apis/storage_v1.rb +46 -0
  365. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  366. data/generated/google/apis/storagetransfer_v1/representations.rb +418 -0
  367. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  368. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  369. data/generated/google/apis/tagmanager_v1/classes.rb +1494 -0
  370. data/generated/google/apis/tagmanager_v1/representations.rb +611 -0
  371. data/generated/google/apis/tagmanager_v1/service.rb +2119 -0
  372. data/generated/google/apis/tagmanager_v1.rb +52 -0
  373. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  374. data/generated/google/apis/taskqueue_v1beta2/representations.rb +126 -0
  375. data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
  376. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  377. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  378. data/generated/google/apis/tasks_v1/representations.rb +125 -0
  379. data/generated/google/apis/tasks_v1/service.rb +643 -0
  380. data/generated/google/apis/tasks_v1.rb +37 -0
  381. data/generated/google/apis/translate_v2/classes.rb +168 -0
  382. data/generated/google/apis/translate_v2/representations.rb +121 -0
  383. data/generated/google/apis/translate_v2/service.rb +182 -0
  384. data/generated/google/apis/translate_v2.rb +31 -0
  385. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  386. data/generated/google/apis/urlshortener_v1/representations.rb +121 -0
  387. data/generated/google/apis/urlshortener_v1/service.rb +176 -0
  388. data/generated/google/apis/urlshortener_v1.rb +34 -0
  389. data/generated/google/apis/vision_v1/classes.rb +1259 -0
  390. data/generated/google/apis/vision_v1/representations.rb +418 -0
  391. data/generated/google/apis/vision_v1/service.rb +91 -0
  392. data/generated/google/apis/vision_v1.rb +37 -0
  393. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  394. data/generated/google/apis/webmasters_v3/representations.rb +282 -0
  395. data/generated/google/apis/webmasters_v3/service.rb +573 -0
  396. data/generated/google/apis/webmasters_v3.rb +37 -0
  397. data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
  398. data/generated/google/apis/youtube_analytics_v1/representations.rb +273 -0
  399. data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
  400. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  401. data/generated/google/apis/youtube_v3/classes.rb +8071 -0
  402. data/generated/google/apis/youtube_v3/representations.rb +3134 -0
  403. data/generated/google/apis/youtube_v3/service.rb +4403 -0
  404. data/generated/google/apis/youtube_v3.rb +49 -0
  405. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  406. data/generated/google/apis/youtubereporting_v1/representations.rb +144 -0
  407. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  408. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  409. data/google-api-client.gemspec +25 -39
  410. data/lib/google/api_client/auth/installed_app.rb +7 -5
  411. data/lib/google/api_client/auth/key_utils.rb +1 -0
  412. data/lib/google/api_client/auth/storage.rb +4 -2
  413. data/lib/google/api_client/auth/storages/file_store.rb +2 -3
  414. data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
  415. data/lib/google/api_client/client_secrets.rb +7 -9
  416. data/lib/google/apis/core/api_command.rb +136 -0
  417. data/lib/google/apis/core/base_service.rb +317 -0
  418. data/lib/google/apis/core/batch.rb +239 -0
  419. data/lib/google/apis/core/download.rb +94 -0
  420. data/lib/google/apis/core/hashable.rb +44 -0
  421. data/lib/google/apis/core/http_client_adapter.rb +82 -0
  422. data/lib/google/apis/core/http_command.rb +328 -0
  423. data/lib/google/apis/core/json_representation.rb +145 -0
  424. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  425. data/lib/google/apis/core/multipart.rb +187 -0
  426. data/lib/google/apis/core/upload.rb +289 -0
  427. data/lib/google/{api_client → apis}/errors.rb +39 -28
  428. data/lib/google/apis/generator/annotator.rb +295 -0
  429. data/lib/google/apis/generator/helpers.rb +74 -0
  430. data/lib/google/apis/generator/model.rb +143 -0
  431. data/lib/google/apis/generator/template.rb +124 -0
  432. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  433. data/lib/google/apis/generator/templates/_method.tmpl +92 -0
  434. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  435. data/lib/google/apis/generator/templates/_representation_stub.tmpl +17 -0
  436. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  437. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  438. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  439. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  440. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  441. data/lib/google/apis/generator.rb +70 -0
  442. data/lib/google/apis/options.rb +85 -0
  443. data/lib/google/apis/version.rb +39 -0
  444. data/lib/google/apis.rb +48 -0
  445. data/rakelib/metrics.rake +22 -0
  446. data/rakelib/rubocop.rake +10 -0
  447. data/rakelib/spec.rake +11 -0
  448. data/rakelib/yard.rake +11 -0
  449. data/samples/cli/Gemfile +7 -0
  450. data/samples/cli/README.md +51 -0
  451. data/samples/cli/google-api-samples +32 -0
  452. data/samples/cli/lib/base_cli.rb +95 -0
  453. data/samples/cli/lib/samples/analytics.rb +62 -0
  454. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  455. data/samples/cli/lib/samples/calendar.rb +83 -0
  456. data/samples/cli/lib/samples/drive.rb +82 -0
  457. data/samples/cli/lib/samples/gmail.rb +50 -0
  458. data/samples/cli/lib/samples/pubsub.rb +114 -0
  459. data/samples/cli/lib/samples/translate.rb +44 -0
  460. data/samples/cli/lib/samples/you_tube.rb +44 -0
  461. data/samples/web/Gemfile +7 -0
  462. data/samples/web/README.md +44 -0
  463. data/samples/web/app.rb +120 -0
  464. data/samples/web/views/calendar.erb +34 -0
  465. data/{lib/google/api_client/service_account.rb → samples/web/views/drive.erb} +20 -8
  466. data/samples/web/views/home.erb +35 -0
  467. data/samples/web/views/layout.erb +40 -0
  468. data/script/generate +100 -0
  469. data/script/package +8 -0
  470. data/script/release +15 -0
  471. data/spec/fixtures/files/api_names.yaml +3 -0
  472. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  473. data/spec/fixtures/files/child/.gitignore +0 -0
  474. data/spec/fixtures/files/client_secrets.json +1 -0
  475. data/spec/fixtures/files/invalid.json +1 -0
  476. data/spec/fixtures/files/test.blah +1 -0
  477. data/spec/fixtures/files/test.txt +1 -0
  478. data/spec/fixtures/files/test_api.json +440 -0
  479. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  480. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  481. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  482. data/spec/google/api_client/client_secrets_spec.rb +338 -2
  483. data/spec/google/apis/core/api_command_spec.rb +209 -0
  484. data/spec/google/apis/core/batch_spec.rb +142 -0
  485. data/spec/google/apis/core/download_spec.rb +103 -0
  486. data/spec/google/apis/core/hashable_spec.rb +60 -0
  487. data/spec/google/apis/core/http_command_spec.rb +303 -0
  488. data/spec/google/apis/core/json_representation_spec.rb +199 -0
  489. data/spec/google/apis/core/service_spec.rb +247 -0
  490. data/spec/google/apis/core/upload_spec.rb +300 -0
  491. data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
  492. data/spec/google/apis/generator/generator_spec.rb +324 -0
  493. data/spec/google/apis/logging_spec.rb +45 -0
  494. data/spec/google/apis/options_spec.rb +40 -0
  495. data/spec/integration_tests/adsense_spec.rb +29 -0
  496. data/spec/integration_tests/drive_spec.rb +35 -0
  497. data/spec/integration_tests/pubsub_spec.rb +48 -0
  498. data/spec/integration_tests/url_shortener_spec.rb +45 -0
  499. data/spec/spec_helper/load_path_spec.rb +33 -0
  500. data/spec/spec_helper.rb +131 -44
  501. data/third_party/hurley_patches.rb +103 -0
  502. metadata +563 -188
  503. data/lib/compat/multi_json.rb +0 -19
  504. data/lib/google/api_client/auth/file_storage.rb +0 -59
  505. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  506. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  507. data/lib/google/api_client/batch.rb +0 -326
  508. data/lib/google/api_client/charset.rb +0 -33
  509. data/lib/google/api_client/discovery/api.rb +0 -310
  510. data/lib/google/api_client/discovery/media.rb +0 -77
  511. data/lib/google/api_client/discovery/method.rb +0 -363
  512. data/lib/google/api_client/discovery/resource.rb +0 -156
  513. data/lib/google/api_client/discovery/schema.rb +0 -117
  514. data/lib/google/api_client/environment.rb +0 -42
  515. data/lib/google/api_client/gzip.rb +0 -28
  516. data/lib/google/api_client/logging.rb +0 -32
  517. data/lib/google/api_client/media.rb +0 -259
  518. data/lib/google/api_client/railtie.rb +0 -18
  519. data/lib/google/api_client/request.rb +0 -350
  520. data/lib/google/api_client/result.rb +0 -255
  521. data/lib/google/api_client/service/batch.rb +0 -110
  522. data/lib/google/api_client/service/request.rb +0 -144
  523. data/lib/google/api_client/service/resource.rb +0 -40
  524. data/lib/google/api_client/service/result.rb +0 -162
  525. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  526. data/lib/google/api_client/service/stub_generator.rb +0 -61
  527. data/lib/google/api_client/service.rb +0 -233
  528. data/lib/google/api_client.rb +0 -750
  529. data/spec/google/api_client/batch_spec.rb +0 -248
  530. data/spec/google/api_client/discovery_spec.rb +0 -708
  531. data/spec/google/api_client/gzip_spec.rb +0 -98
  532. data/spec/google/api_client/media_spec.rb +0 -178
  533. data/spec/google/api_client/result_spec.rb +0 -207
  534. data/spec/google/api_client/service_account_spec.rb +0 -169
  535. data/spec/google/api_client/service_spec.rb +0 -618
  536. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  537. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,1544 @@
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 AppengineV1beta5
24
+
25
+ # This resource represents a long-running operation that is the result of a
26
+ # network API call.
27
+ class Operation
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # The server-assigned name, which is only unique within the same service that
31
+ # originally returns it. If you use the default HTTP mapping above, the `name`
32
+ # should have the format of `operations/some/unique/name`.
33
+ # Corresponds to the JSON property `name`
34
+ # @return [String]
35
+ attr_accessor :name
36
+
37
+ # Service-specific metadata associated with the operation. It typically contains
38
+ # progress information and common metadata such as create time. Some services
39
+ # might not provide such metadata. Any method that returns a long-running
40
+ # operation should document the metadata type, if any.
41
+ # Corresponds to the JSON property `metadata`
42
+ # @return [Hash<String,Object>]
43
+ attr_accessor :metadata
44
+
45
+ # If the value is `false`, it means the operation is still in progress. If true,
46
+ # the operation is completed, and either `error` or `response` is available.
47
+ # Corresponds to the JSON property `done`
48
+ # @return [Boolean]
49
+ attr_accessor :done
50
+ alias_method :done?, :done
51
+
52
+ # The `Status` type defines a logical error model that is suitable for different
53
+ # programming environments, including REST APIs and RPC APIs. It is used by [
54
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
55
+ # use and understand for most users - Flexible enough to meet unexpected needs #
56
+ # Overview The `Status` message contains three pieces of data: error code, error
57
+ # message, and error details. The error code should be an enum value of google.
58
+ # rpc.Code, but it may accept additional error codes if needed. The error
59
+ # message should be a developer-facing English message that helps developers *
60
+ # understand* and *resolve* the error. If a localized user-facing error message
61
+ # is needed, put the localized message in the error details or localize it in
62
+ # the client. The optional error details may contain arbitrary information about
63
+ # the error. There is a predefined set of error detail types in the package `
64
+ # google.rpc` which can be used for common error conditions. # Language mapping
65
+ # The `Status` message is the logical representation of the error model, but it
66
+ # is not necessarily the actual wire format. When the `Status` message is
67
+ # exposed in different client libraries and different wire protocols, it can be
68
+ # mapped differently. For example, it will likely be mapped to some exceptions
69
+ # in Java, but more likely mapped to some error codes in C. # Other uses The
70
+ # error model and the `Status` message can be used in a variety of environments,
71
+ # either with or without APIs, to provide a consistent developer experience
72
+ # across different environments. Example uses of this error model include: -
73
+ # Partial errors. If a service needs to return partial errors to the client, it
74
+ # may embed the `Status` in the normal response to indicate the partial errors. -
75
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a `
76
+ # Status` message for error reporting purpose. - Batch operations. If a client
77
+ # uses batch request and batch response, the `Status` message should be used
78
+ # directly inside batch response, one for each error sub-response. -
79
+ # Asynchronous operations. If an API call embeds asynchronous operation results
80
+ # in its response, the status of those operations should be represented directly
81
+ # using the `Status` message. - Logging. If some API errors are stored in logs,
82
+ # the message `Status` could be used directly after any stripping needed for
83
+ # security/privacy reasons.
84
+ # Corresponds to the JSON property `error`
85
+ # @return [Google::Apis::AppengineV1beta5::Status]
86
+ attr_accessor :error
87
+
88
+ # The normal response of the operation in case of success. If the original
89
+ # method returns no data on success, such as `Delete`, the response is `google.
90
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
91
+ # the response should be the resource. For other methods, the response should
92
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
93
+ # example, if the original method name is `TakeSnapshot()`, the inferred
94
+ # response type is `TakeSnapshotResponse`.
95
+ # Corresponds to the JSON property `response`
96
+ # @return [Hash<String,Object>]
97
+ attr_accessor :response
98
+
99
+ def initialize(**args)
100
+ update!(**args)
101
+ end
102
+
103
+ # Update properties of this object
104
+ def update!(**args)
105
+ @name = args[:name] if args.key?(:name)
106
+ @metadata = args[:metadata] if args.key?(:metadata)
107
+ @done = args[:done] if args.key?(:done)
108
+ @error = args[:error] if args.key?(:error)
109
+ @response = args[:response] if args.key?(:response)
110
+ end
111
+ end
112
+
113
+ # The `Status` type defines a logical error model that is suitable for different
114
+ # programming environments, including REST APIs and RPC APIs. It is used by [
115
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
116
+ # use and understand for most users - Flexible enough to meet unexpected needs #
117
+ # Overview The `Status` message contains three pieces of data: error code, error
118
+ # message, and error details. The error code should be an enum value of google.
119
+ # rpc.Code, but it may accept additional error codes if needed. The error
120
+ # message should be a developer-facing English message that helps developers *
121
+ # understand* and *resolve* the error. If a localized user-facing error message
122
+ # is needed, put the localized message in the error details or localize it in
123
+ # the client. The optional error details may contain arbitrary information about
124
+ # the error. There is a predefined set of error detail types in the package `
125
+ # google.rpc` which can be used for common error conditions. # Language mapping
126
+ # The `Status` message is the logical representation of the error model, but it
127
+ # is not necessarily the actual wire format. When the `Status` message is
128
+ # exposed in different client libraries and different wire protocols, it can be
129
+ # mapped differently. For example, it will likely be mapped to some exceptions
130
+ # in Java, but more likely mapped to some error codes in C. # Other uses The
131
+ # error model and the `Status` message can be used in a variety of environments,
132
+ # either with or without APIs, to provide a consistent developer experience
133
+ # across different environments. Example uses of this error model include: -
134
+ # Partial errors. If a service needs to return partial errors to the client, it
135
+ # may embed the `Status` in the normal response to indicate the partial errors. -
136
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a `
137
+ # Status` message for error reporting purpose. - Batch operations. If a client
138
+ # uses batch request and batch response, the `Status` message should be used
139
+ # directly inside batch response, one for each error sub-response. -
140
+ # Asynchronous operations. If an API call embeds asynchronous operation results
141
+ # in its response, the status of those operations should be represented directly
142
+ # using the `Status` message. - Logging. If some API errors are stored in logs,
143
+ # the message `Status` could be used directly after any stripping needed for
144
+ # security/privacy reasons.
145
+ class Status
146
+ include Google::Apis::Core::Hashable
147
+
148
+ # The status code, which should be an enum value of google.rpc.Code.
149
+ # Corresponds to the JSON property `code`
150
+ # @return [Fixnum]
151
+ attr_accessor :code
152
+
153
+ # A developer-facing error message, which should be in English. Any user-facing
154
+ # error message should be localized and sent in the google.rpc.Status.details
155
+ # field, or localized by the client.
156
+ # Corresponds to the JSON property `message`
157
+ # @return [String]
158
+ attr_accessor :message
159
+
160
+ # A list of messages that carry the error details. There will be a common set of
161
+ # message types for APIs to use.
162
+ # Corresponds to the JSON property `details`
163
+ # @return [Array<Hash<String,Object>>]
164
+ attr_accessor :details
165
+
166
+ def initialize(**args)
167
+ update!(**args)
168
+ end
169
+
170
+ # Update properties of this object
171
+ def update!(**args)
172
+ @code = args[:code] if args.key?(:code)
173
+ @message = args[:message] if args.key?(:message)
174
+ @details = args[:details] if args.key?(:details)
175
+ end
176
+ end
177
+
178
+ # The response message for Operations.ListOperations.
179
+ class ListOperationsResponse
180
+ include Google::Apis::Core::Hashable
181
+
182
+ # A list of operations that matches the specified filter in the request.
183
+ # Corresponds to the JSON property `operations`
184
+ # @return [Array<Google::Apis::AppengineV1beta5::Operation>]
185
+ attr_accessor :operations
186
+
187
+ # The standard List next-page token.
188
+ # Corresponds to the JSON property `nextPageToken`
189
+ # @return [String]
190
+ attr_accessor :next_page_token
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ @operations = args[:operations] if args.key?(:operations)
199
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
200
+ end
201
+ end
202
+
203
+ # An Application contains the top-level configuration of an App Engine
204
+ # application.
205
+ class Application
206
+ include Google::Apis::Core::Hashable
207
+
208
+ # The full path to the application in the API. Example: "apps/myapp". @
209
+ # OutputOnly
210
+ # Corresponds to the JSON property `name`
211
+ # @return [String]
212
+ attr_accessor :name
213
+
214
+ # The relative name/path of the application. Example: "myapp".
215
+ # Corresponds to the JSON property `id`
216
+ # @return [String]
217
+ attr_accessor :id
218
+
219
+ # HTTP path dispatch rules for requests to the app that do not explicitly target
220
+ # a service or version. The rules are order-dependent.
221
+ # Corresponds to the JSON property `dispatchRules`
222
+ # @return [Array<Google::Apis::AppengineV1beta5::UrlDispatchRule>]
223
+ attr_accessor :dispatch_rules
224
+
225
+ # If set, only users from the specified Google Apps authentication domain may
226
+ # access the application. If not set, any Google Account may access the
227
+ # application.
228
+ # Corresponds to the JSON property `authDomain`
229
+ # @return [String]
230
+ attr_accessor :auth_domain
231
+
232
+ # The location from which the application will be run. Choices are "us" for
233
+ # United States and "eu" for European Union. Application instances will run out
234
+ # of data centers in the chosen location and all of the application's End User
235
+ # Content will be stored at rest in the chosen location. The default is "us".
236
+ # Corresponds to the JSON property `location`
237
+ # @return [String]
238
+ attr_accessor :location
239
+
240
+ # A Google Cloud Storage bucket which can be used for storing files associated
241
+ # with an application. This bucket is associated with the application and can be
242
+ # used by the gcloud deployment commands. @OutputOnly
243
+ # Corresponds to the JSON property `codeBucket`
244
+ # @return [String]
245
+ attr_accessor :code_bucket
246
+
247
+ # Determines the cookie expiration policy for the application.
248
+ # Corresponds to the JSON property `defaultCookieExpiration`
249
+ # @return [String]
250
+ attr_accessor :default_cookie_expiration
251
+
252
+ # The hostname used to reach the application, as resolved by App Engine. @
253
+ # OutputOnly
254
+ # Corresponds to the JSON property `defaultHostname`
255
+ # @return [String]
256
+ attr_accessor :default_hostname
257
+
258
+ # A Google Cloud Storage bucket which can be used by the application to store
259
+ # content. @OutputOnly
260
+ # Corresponds to the JSON property `defaultBucket`
261
+ # @return [String]
262
+ attr_accessor :default_bucket
263
+
264
+ def initialize(**args)
265
+ update!(**args)
266
+ end
267
+
268
+ # Update properties of this object
269
+ def update!(**args)
270
+ @name = args[:name] if args.key?(:name)
271
+ @id = args[:id] if args.key?(:id)
272
+ @dispatch_rules = args[:dispatch_rules] if args.key?(:dispatch_rules)
273
+ @auth_domain = args[:auth_domain] if args.key?(:auth_domain)
274
+ @location = args[:location] if args.key?(:location)
275
+ @code_bucket = args[:code_bucket] if args.key?(:code_bucket)
276
+ @default_cookie_expiration = args[:default_cookie_expiration] if args.key?(:default_cookie_expiration)
277
+ @default_hostname = args[:default_hostname] if args.key?(:default_hostname)
278
+ @default_bucket = args[:default_bucket] if args.key?(:default_bucket)
279
+ end
280
+ end
281
+
282
+ # Rules to match an HTTP request and dispatch that request to a service.
283
+ class UrlDispatchRule
284
+ include Google::Apis::Core::Hashable
285
+
286
+ # The domain name to match on. Supports '*' (glob) wildcarding on the left-hand
287
+ # side of a '.'. If empty, all domains will be matched (the same as '*').
288
+ # Corresponds to the JSON property `domain`
289
+ # @return [String]
290
+ attr_accessor :domain
291
+
292
+ # The pathname within the host. This must start with a '/'. A single '*' (glob)
293
+ # can be included at the end of the path. The sum of the lengths of the domain
294
+ # and path may not exceed 100 characters.
295
+ # Corresponds to the JSON property `path`
296
+ # @return [String]
297
+ attr_accessor :path
298
+
299
+ # The resource id of a Service in this application that should service the
300
+ # matched request. The Service must already exist. Example: "default".
301
+ # Corresponds to the JSON property `service`
302
+ # @return [String]
303
+ attr_accessor :service
304
+
305
+ def initialize(**args)
306
+ update!(**args)
307
+ end
308
+
309
+ # Update properties of this object
310
+ def update!(**args)
311
+ @domain = args[:domain] if args.key?(:domain)
312
+ @path = args[:path] if args.key?(:path)
313
+ @service = args[:service] if args.key?(:service)
314
+ end
315
+ end
316
+
317
+ # A Version is a specific set of source code and configuration files deployed to
318
+ # a service.
319
+ class Version
320
+ include Google::Apis::Core::Hashable
321
+
322
+ # The full path to the Version resource in the API. Example: "apps/myapp/
323
+ # services/default/versions/v1". @OutputOnly
324
+ # Corresponds to the JSON property `name`
325
+ # @return [String]
326
+ attr_accessor :name
327
+
328
+ # The relative name/path of the Version within the service. Example: "v1".
329
+ # Version specifiers can contain lowercase letters, digits, and hyphens. It
330
+ # cannot begin with the prefix `ah-` and the names `default` and `latest` are
331
+ # reserved and cannot be used.
332
+ # Corresponds to the JSON property `id`
333
+ # @return [String]
334
+ attr_accessor :id
335
+
336
+ # Automatic scaling is the scaling policy that App Engine has used since its
337
+ # inception. It is based on request rate, response latencies, and other
338
+ # application metrics.
339
+ # Corresponds to the JSON property `automaticScaling`
340
+ # @return [Google::Apis::AppengineV1beta5::AutomaticScaling]
341
+ attr_accessor :automatic_scaling
342
+
343
+ # A service with basic scaling will create an instance when the application
344
+ # receives a request. The instance will be turned down when the app becomes idle.
345
+ # Basic scaling is ideal for work that is intermittent or driven by user
346
+ # activity.
347
+ # Corresponds to the JSON property `basicScaling`
348
+ # @return [Google::Apis::AppengineV1beta5::BasicScaling]
349
+ attr_accessor :basic_scaling
350
+
351
+ # A service with manual scaling runs continuously, allowing you to perform
352
+ # complex initialization and rely on the state of its memory over time.
353
+ # Corresponds to the JSON property `manualScaling`
354
+ # @return [Google::Apis::AppengineV1beta5::ManualScaling]
355
+ attr_accessor :manual_scaling
356
+
357
+ # Before an application can receive email or XMPP messages, the application must
358
+ # be configured to enable the service.
359
+ # Corresponds to the JSON property `inboundServices`
360
+ # @return [Array<String>]
361
+ attr_accessor :inbound_services
362
+
363
+ # The instance class to use to run this app. Valid values for AutomaticScaling
364
+ # are `[F1, F2, F4, F4_1G]`. Valid values for ManualScaling and BasicScaling are
365
+ # `[B1, B2, B4, B8, B4_1G]`. Default: "F1" for AutomaticScaling, "B1" for
366
+ # ManualScaling and BasicScaling
367
+ # Corresponds to the JSON property `instanceClass`
368
+ # @return [String]
369
+ attr_accessor :instance_class
370
+
371
+ # Used to specify extra network settings (for VM runtimes only).
372
+ # Corresponds to the JSON property `network`
373
+ # @return [Google::Apis::AppengineV1beta5::Network]
374
+ attr_accessor :network
375
+
376
+ # Used to specify how many machine resources an app version needs.
377
+ # Corresponds to the JSON property `resources`
378
+ # @return [Google::Apis::AppengineV1beta5::Resources]
379
+ attr_accessor :resources
380
+
381
+ # The desired runtime. Values can include python27, java7, go, etc.
382
+ # Corresponds to the JSON property `runtime`
383
+ # @return [String]
384
+ attr_accessor :runtime
385
+
386
+ # If true, multiple requests can be dispatched to the app at once.
387
+ # Corresponds to the JSON property `threadsafe`
388
+ # @return [Boolean]
389
+ attr_accessor :threadsafe
390
+ alias_method :threadsafe?, :threadsafe
391
+
392
+ # Whether to deploy this app in a VM container.
393
+ # Corresponds to the JSON property `vm`
394
+ # @return [Boolean]
395
+ attr_accessor :vm
396
+ alias_method :vm?, :vm
397
+
398
+ # Beta settings supplied to the application via metadata.
399
+ # Corresponds to the JSON property `betaSettings`
400
+ # @return [Hash<String,String>]
401
+ attr_accessor :beta_settings
402
+
403
+ # The App Engine execution environment to use for this version. Default: "1"
404
+ # Corresponds to the JSON property `env`
405
+ # @return [String]
406
+ attr_accessor :env
407
+
408
+ # The current serving status of this version. Only `SERVING` versions will have
409
+ # instances created or billed for. If this field is unset when a version is
410
+ # created, `SERVING` status will be assumed. It is an error to explicitly set
411
+ # this field to `SERVING_STATUS_UNSPECIFIED`.
412
+ # Corresponds to the JSON property `servingStatus`
413
+ # @return [String]
414
+ attr_accessor :serving_status
415
+
416
+ # The email address of the user who created this version. @OutputOnly
417
+ # Corresponds to the JSON property `deployer`
418
+ # @return [String]
419
+ attr_accessor :deployer
420
+
421
+ # Creation time of this version. This will be between the start and end times of
422
+ # the operation that creates this version. @OutputOnly
423
+ # Corresponds to the JSON property `creationTime`
424
+ # @return [String]
425
+ attr_accessor :creation_time
426
+
427
+ # Total size of version files hosted on App Engine disk in bytes. @OutputOnly
428
+ # Corresponds to the JSON property `diskUsageBytes`
429
+ # @return [String]
430
+ attr_accessor :disk_usage_bytes
431
+
432
+ # An ordered list of URL Matching patterns that should be applied to incoming
433
+ # requests. The first matching URL consumes the request, and subsequent handlers
434
+ # are not attempted. Only returned in `GET` requests if `view=FULL` is set. May
435
+ # only be set on create requests; once created, is immutable.
436
+ # Corresponds to the JSON property `handlers`
437
+ # @return [Array<Google::Apis::AppengineV1beta5::UrlMap>]
438
+ attr_accessor :handlers
439
+
440
+ # Custom static error pages instead of these generic error pages, (limit 10 KB/
441
+ # page) Only returned in `GET` requests if `view=FULL` is set. May only be set
442
+ # on create requests; once created, is immutable.
443
+ # Corresponds to the JSON property `errorHandlers`
444
+ # @return [Array<Google::Apis::AppengineV1beta5::ErrorHandler>]
445
+ attr_accessor :error_handlers
446
+
447
+ # Configuration for Python runtime third-party libraries required by the
448
+ # application. Only returned in `GET` requests if `view=FULL` is set. May only
449
+ # be set on create requests; once created, is immutable.
450
+ # Corresponds to the JSON property `libraries`
451
+ # @return [Array<Google::Apis::AppengineV1beta5::Library>]
452
+ attr_accessor :libraries
453
+
454
+ # API Serving configuration for Cloud Endpoints.
455
+ # Corresponds to the JSON property `apiConfig`
456
+ # @return [Google::Apis::AppengineV1beta5::ApiConfigHandler]
457
+ attr_accessor :api_config
458
+
459
+ # Environment variables made available to the application. Only returned in `GET`
460
+ # requests if `view=FULL` is set. May only be set on create requests; once
461
+ # created, is immutable.
462
+ # Corresponds to the JSON property `envVariables`
463
+ # @return [Hash<String,String>]
464
+ attr_accessor :env_variables
465
+
466
+ # The length of time a static file served by a static file handler ought to be
467
+ # cached by web proxies and browsers, if the handler does not specify its own
468
+ # expiration. Only returned in `GET` requests if `view=FULL` is set. May only be
469
+ # set on create requests; once created, is immutable.
470
+ # Corresponds to the JSON property `defaultExpiration`
471
+ # @return [String]
472
+ attr_accessor :default_expiration
473
+
474
+ # Configure health checking for the VM instances. Unhealthy VM instances will be
475
+ # killed and replaced with new instances.
476
+ # Corresponds to the JSON property `healthCheck`
477
+ # @return [Google::Apis::AppengineV1beta5::HealthCheck]
478
+ attr_accessor :health_check
479
+
480
+ # Go only. Files that match this pattern will not be built into the app. May
481
+ # only be set on create requests.
482
+ # Corresponds to the JSON property `nobuildFilesRegex`
483
+ # @return [String]
484
+ attr_accessor :nobuild_files_regex
485
+
486
+ # Code and application artifacts used to deploy a version to App Engine.
487
+ # Corresponds to the JSON property `deployment`
488
+ # @return [Google::Apis::AppengineV1beta5::Deployment]
489
+ attr_accessor :deployment
490
+
491
+ def initialize(**args)
492
+ update!(**args)
493
+ end
494
+
495
+ # Update properties of this object
496
+ def update!(**args)
497
+ @name = args[:name] if args.key?(:name)
498
+ @id = args[:id] if args.key?(:id)
499
+ @automatic_scaling = args[:automatic_scaling] if args.key?(:automatic_scaling)
500
+ @basic_scaling = args[:basic_scaling] if args.key?(:basic_scaling)
501
+ @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling)
502
+ @inbound_services = args[:inbound_services] if args.key?(:inbound_services)
503
+ @instance_class = args[:instance_class] if args.key?(:instance_class)
504
+ @network = args[:network] if args.key?(:network)
505
+ @resources = args[:resources] if args.key?(:resources)
506
+ @runtime = args[:runtime] if args.key?(:runtime)
507
+ @threadsafe = args[:threadsafe] if args.key?(:threadsafe)
508
+ @vm = args[:vm] if args.key?(:vm)
509
+ @beta_settings = args[:beta_settings] if args.key?(:beta_settings)
510
+ @env = args[:env] if args.key?(:env)
511
+ @serving_status = args[:serving_status] if args.key?(:serving_status)
512
+ @deployer = args[:deployer] if args.key?(:deployer)
513
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
514
+ @disk_usage_bytes = args[:disk_usage_bytes] if args.key?(:disk_usage_bytes)
515
+ @handlers = args[:handlers] if args.key?(:handlers)
516
+ @error_handlers = args[:error_handlers] if args.key?(:error_handlers)
517
+ @libraries = args[:libraries] if args.key?(:libraries)
518
+ @api_config = args[:api_config] if args.key?(:api_config)
519
+ @env_variables = args[:env_variables] if args.key?(:env_variables)
520
+ @default_expiration = args[:default_expiration] if args.key?(:default_expiration)
521
+ @health_check = args[:health_check] if args.key?(:health_check)
522
+ @nobuild_files_regex = args[:nobuild_files_regex] if args.key?(:nobuild_files_regex)
523
+ @deployment = args[:deployment] if args.key?(:deployment)
524
+ end
525
+ end
526
+
527
+ # Automatic scaling is the scaling policy that App Engine has used since its
528
+ # inception. It is based on request rate, response latencies, and other
529
+ # application metrics.
530
+ class AutomaticScaling
531
+ include Google::Apis::Core::Hashable
532
+
533
+ # The amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/
534
+ # autoscaler/) should wait between changes to the number of virtual machines.
535
+ # Applies only to the VM runtime.
536
+ # Corresponds to the JSON property `coolDownPeriod`
537
+ # @return [String]
538
+ attr_accessor :cool_down_period
539
+
540
+ # Target scaling by CPU usage.
541
+ # Corresponds to the JSON property `cpuUtilization`
542
+ # @return [Google::Apis::AppengineV1beta5::CpuUtilization]
543
+ attr_accessor :cpu_utilization
544
+
545
+ # The number of concurrent requests an automatic scaling instance can accept
546
+ # before the scheduler spawns a new instance. Default value is chosen based on
547
+ # the runtime.
548
+ # Corresponds to the JSON property `maxConcurrentRequests`
549
+ # @return [Fixnum]
550
+ attr_accessor :max_concurrent_requests
551
+
552
+ # The maximum number of idle instances that App Engine should maintain for this
553
+ # version.
554
+ # Corresponds to the JSON property `maxIdleInstances`
555
+ # @return [Fixnum]
556
+ attr_accessor :max_idle_instances
557
+
558
+ # Max number of instances that App Engine should start to handle requests.
559
+ # Corresponds to the JSON property `maxTotalInstances`
560
+ # @return [Fixnum]
561
+ attr_accessor :max_total_instances
562
+
563
+ # The maximum amount of time that App Engine should allow a request to wait in
564
+ # the pending queue before starting a new instance to handle it.
565
+ # Corresponds to the JSON property `maxPendingLatency`
566
+ # @return [String]
567
+ attr_accessor :max_pending_latency
568
+
569
+ # The minimum number of idle instances that App Engine should maintain for this
570
+ # version. Only applies to the default version of a service, since other
571
+ # versions are not expected to receive significant traffic.
572
+ # Corresponds to the JSON property `minIdleInstances`
573
+ # @return [Fixnum]
574
+ attr_accessor :min_idle_instances
575
+
576
+ # Minimum number of instances that App Engine should maintain.
577
+ # Corresponds to the JSON property `minTotalInstances`
578
+ # @return [Fixnum]
579
+ attr_accessor :min_total_instances
580
+
581
+ # The minimum amount of time that App Engine should allow a request to wait in
582
+ # the pending queue before starting a new instance to handle it.
583
+ # Corresponds to the JSON property `minPendingLatency`
584
+ # @return [String]
585
+ attr_accessor :min_pending_latency
586
+
587
+ # Target scaling by request utilization (for VM runtimes only).
588
+ # Corresponds to the JSON property `requestUtilization`
589
+ # @return [Google::Apis::AppengineV1beta5::RequestUtilization]
590
+ attr_accessor :request_utilization
591
+
592
+ # Target scaling by disk usage (for VM runtimes only).
593
+ # Corresponds to the JSON property `diskUtilization`
594
+ # @return [Google::Apis::AppengineV1beta5::DiskUtilization]
595
+ attr_accessor :disk_utilization
596
+
597
+ # Target scaling by network usage (for VM runtimes only).
598
+ # Corresponds to the JSON property `networkUtilization`
599
+ # @return [Google::Apis::AppengineV1beta5::NetworkUtilization]
600
+ attr_accessor :network_utilization
601
+
602
+ def initialize(**args)
603
+ update!(**args)
604
+ end
605
+
606
+ # Update properties of this object
607
+ def update!(**args)
608
+ @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period)
609
+ @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
610
+ @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests)
611
+ @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances)
612
+ @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances)
613
+ @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency)
614
+ @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances)
615
+ @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances)
616
+ @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency)
617
+ @request_utilization = args[:request_utilization] if args.key?(:request_utilization)
618
+ @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization)
619
+ @network_utilization = args[:network_utilization] if args.key?(:network_utilization)
620
+ end
621
+ end
622
+
623
+ # Target scaling by CPU usage.
624
+ class CpuUtilization
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # The period of time over which CPU utilization is calculated.
628
+ # Corresponds to the JSON property `aggregationWindowLength`
629
+ # @return [String]
630
+ attr_accessor :aggregation_window_length
631
+
632
+ # Target (0-1) CPU utilization ratio to maintain when scaling.
633
+ # Corresponds to the JSON property `targetUtilization`
634
+ # @return [Float]
635
+ attr_accessor :target_utilization
636
+
637
+ def initialize(**args)
638
+ update!(**args)
639
+ end
640
+
641
+ # Update properties of this object
642
+ def update!(**args)
643
+ @aggregation_window_length = args[:aggregation_window_length] if args.key?(:aggregation_window_length)
644
+ @target_utilization = args[:target_utilization] if args.key?(:target_utilization)
645
+ end
646
+ end
647
+
648
+ # Target scaling by request utilization (for VM runtimes only).
649
+ class RequestUtilization
650
+ include Google::Apis::Core::Hashable
651
+
652
+ # Target requests per second.
653
+ # Corresponds to the JSON property `targetRequestCountPerSec`
654
+ # @return [Fixnum]
655
+ attr_accessor :target_request_count_per_sec
656
+
657
+ # Target number of concurrent requests.
658
+ # Corresponds to the JSON property `targetConcurrentRequests`
659
+ # @return [Fixnum]
660
+ attr_accessor :target_concurrent_requests
661
+
662
+ def initialize(**args)
663
+ update!(**args)
664
+ end
665
+
666
+ # Update properties of this object
667
+ def update!(**args)
668
+ @target_request_count_per_sec = args[:target_request_count_per_sec] if args.key?(:target_request_count_per_sec)
669
+ @target_concurrent_requests = args[:target_concurrent_requests] if args.key?(:target_concurrent_requests)
670
+ end
671
+ end
672
+
673
+ # Target scaling by disk usage (for VM runtimes only).
674
+ class DiskUtilization
675
+ include Google::Apis::Core::Hashable
676
+
677
+ # Target bytes per second written.
678
+ # Corresponds to the JSON property `targetWriteBytesPerSec`
679
+ # @return [Fixnum]
680
+ attr_accessor :target_write_bytes_per_sec
681
+
682
+ # Target ops per second written.
683
+ # Corresponds to the JSON property `targetWriteOpsPerSec`
684
+ # @return [Fixnum]
685
+ attr_accessor :target_write_ops_per_sec
686
+
687
+ # Target bytes per second read.
688
+ # Corresponds to the JSON property `targetReadBytesPerSec`
689
+ # @return [Fixnum]
690
+ attr_accessor :target_read_bytes_per_sec
691
+
692
+ # Target ops per second read.
693
+ # Corresponds to the JSON property `targetReadOpsPerSec`
694
+ # @return [Fixnum]
695
+ attr_accessor :target_read_ops_per_sec
696
+
697
+ def initialize(**args)
698
+ update!(**args)
699
+ end
700
+
701
+ # Update properties of this object
702
+ def update!(**args)
703
+ @target_write_bytes_per_sec = args[:target_write_bytes_per_sec] if args.key?(:target_write_bytes_per_sec)
704
+ @target_write_ops_per_sec = args[:target_write_ops_per_sec] if args.key?(:target_write_ops_per_sec)
705
+ @target_read_bytes_per_sec = args[:target_read_bytes_per_sec] if args.key?(:target_read_bytes_per_sec)
706
+ @target_read_ops_per_sec = args[:target_read_ops_per_sec] if args.key?(:target_read_ops_per_sec)
707
+ end
708
+ end
709
+
710
+ # Target scaling by network usage (for VM runtimes only).
711
+ class NetworkUtilization
712
+ include Google::Apis::Core::Hashable
713
+
714
+ # Target bytes per second sent.
715
+ # Corresponds to the JSON property `targetSentBytesPerSec`
716
+ # @return [Fixnum]
717
+ attr_accessor :target_sent_bytes_per_sec
718
+
719
+ # Target packets per second sent.
720
+ # Corresponds to the JSON property `targetSentPacketsPerSec`
721
+ # @return [Fixnum]
722
+ attr_accessor :target_sent_packets_per_sec
723
+
724
+ # Target bytes per second received.
725
+ # Corresponds to the JSON property `targetReceivedBytesPerSec`
726
+ # @return [Fixnum]
727
+ attr_accessor :target_received_bytes_per_sec
728
+
729
+ # Target packets per second received.
730
+ # Corresponds to the JSON property `targetReceivedPacketsPerSec`
731
+ # @return [Fixnum]
732
+ attr_accessor :target_received_packets_per_sec
733
+
734
+ def initialize(**args)
735
+ update!(**args)
736
+ end
737
+
738
+ # Update properties of this object
739
+ def update!(**args)
740
+ @target_sent_bytes_per_sec = args[:target_sent_bytes_per_sec] if args.key?(:target_sent_bytes_per_sec)
741
+ @target_sent_packets_per_sec = args[:target_sent_packets_per_sec] if args.key?(:target_sent_packets_per_sec)
742
+ @target_received_bytes_per_sec = args[:target_received_bytes_per_sec] if args.key?(:target_received_bytes_per_sec)
743
+ @target_received_packets_per_sec = args[:target_received_packets_per_sec] if args.key?(:target_received_packets_per_sec)
744
+ end
745
+ end
746
+
747
+ # A service with basic scaling will create an instance when the application
748
+ # receives a request. The instance will be turned down when the app becomes idle.
749
+ # Basic scaling is ideal for work that is intermittent or driven by user
750
+ # activity.
751
+ class BasicScaling
752
+ include Google::Apis::Core::Hashable
753
+
754
+ # The instance will be shut down this amount of time after receiving its last
755
+ # request.
756
+ # Corresponds to the JSON property `idleTimeout`
757
+ # @return [String]
758
+ attr_accessor :idle_timeout
759
+
760
+ # The maximum number of instances for App Engine to create for this version.
761
+ # Corresponds to the JSON property `maxInstances`
762
+ # @return [Fixnum]
763
+ attr_accessor :max_instances
764
+
765
+ def initialize(**args)
766
+ update!(**args)
767
+ end
768
+
769
+ # Update properties of this object
770
+ def update!(**args)
771
+ @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout)
772
+ @max_instances = args[:max_instances] if args.key?(:max_instances)
773
+ end
774
+ end
775
+
776
+ # A service with manual scaling runs continuously, allowing you to perform
777
+ # complex initialization and rely on the state of its memory over time.
778
+ class ManualScaling
779
+ include Google::Apis::Core::Hashable
780
+
781
+ # The number of instances to assign to the service at the start. This number can
782
+ # later be altered by using the [Modules API](https://cloud.google.com/appengine/
783
+ # docs/python/modules/functions) `set_num_instances()` function.
784
+ # Corresponds to the JSON property `instances`
785
+ # @return [Fixnum]
786
+ attr_accessor :instances
787
+
788
+ def initialize(**args)
789
+ update!(**args)
790
+ end
791
+
792
+ # Update properties of this object
793
+ def update!(**args)
794
+ @instances = args[:instances] if args.key?(:instances)
795
+ end
796
+ end
797
+
798
+ # Used to specify extra network settings (for VM runtimes only).
799
+ class Network
800
+ include Google::Apis::Core::Hashable
801
+
802
+ # A list of ports (or port pairs) to forward from the VM into the app container.
803
+ # Corresponds to the JSON property `forwardedPorts`
804
+ # @return [Array<String>]
805
+ attr_accessor :forwarded_ports
806
+
807
+ # A tag to apply to the VM instance during creation.
808
+ # Corresponds to the JSON property `instanceTag`
809
+ # @return [String]
810
+ attr_accessor :instance_tag
811
+
812
+ # The Google Compute Engine network where the VMs will be created. If not
813
+ # specified, or empty, the network named "default" will be used. (The short name
814
+ # should be specified, not the resource path.)
815
+ # Corresponds to the JSON property `name`
816
+ # @return [String]
817
+ attr_accessor :name
818
+
819
+ def initialize(**args)
820
+ update!(**args)
821
+ end
822
+
823
+ # Update properties of this object
824
+ def update!(**args)
825
+ @forwarded_ports = args[:forwarded_ports] if args.key?(:forwarded_ports)
826
+ @instance_tag = args[:instance_tag] if args.key?(:instance_tag)
827
+ @name = args[:name] if args.key?(:name)
828
+ end
829
+ end
830
+
831
+ # Used to specify how many machine resources an app version needs.
832
+ class Resources
833
+ include Google::Apis::Core::Hashable
834
+
835
+ # How many CPU cores an app version needs.
836
+ # Corresponds to the JSON property `cpu`
837
+ # @return [Float]
838
+ attr_accessor :cpu
839
+
840
+ # How much disk size, in GB, an app version needs.
841
+ # Corresponds to the JSON property `diskGb`
842
+ # @return [Float]
843
+ attr_accessor :disk_gb
844
+
845
+ # How much memory, in GB, an app version needs.
846
+ # Corresponds to the JSON property `memoryGb`
847
+ # @return [Float]
848
+ attr_accessor :memory_gb
849
+
850
+ def initialize(**args)
851
+ update!(**args)
852
+ end
853
+
854
+ # Update properties of this object
855
+ def update!(**args)
856
+ @cpu = args[:cpu] if args.key?(:cpu)
857
+ @disk_gb = args[:disk_gb] if args.key?(:disk_gb)
858
+ @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
859
+ end
860
+ end
861
+
862
+ # A URL pattern and description of how it should be handled. App Engine can
863
+ # handle URLs by executing application code, or by serving static files uploaded
864
+ # with the code, such as images, CSS or JavaScript.
865
+ class UrlMap
866
+ include Google::Apis::Core::Hashable
867
+
868
+ # A URL prefix. This value uses regular expression syntax (and so regexp special
869
+ # characters must be escaped), but it should not contain groupings. All URLs
870
+ # that begin with this prefix are handled by this handler, using the portion of
871
+ # the URL after the prefix as part of the file path. This is always required.
872
+ # Corresponds to the JSON property `urlRegex`
873
+ # @return [String]
874
+ attr_accessor :url_regex
875
+
876
+ # Files served directly to the user for a given URL, such as images, CSS
877
+ # stylesheets, or JavaScript source files. Static file handlers describe which
878
+ # files in the application directory are static files, and which URLs serve them.
879
+ # Corresponds to the JSON property `staticFiles`
880
+ # @return [Google::Apis::AppengineV1beta5::StaticFilesHandler]
881
+ attr_accessor :static_files
882
+
883
+ # Executes a script to handle the request that matches the URL pattern.
884
+ # Corresponds to the JSON property `script`
885
+ # @return [Google::Apis::AppengineV1beta5::ScriptHandler]
886
+ attr_accessor :script
887
+
888
+ # Use Google Cloud Endpoints to handle requests.
889
+ # Corresponds to the JSON property `apiEndpoint`
890
+ # @return [Google::Apis::AppengineV1beta5::ApiEndpointHandler]
891
+ attr_accessor :api_endpoint
892
+
893
+ # Configures whether security (HTTPS) should be enforced for this URL.
894
+ # Corresponds to the JSON property `securityLevel`
895
+ # @return [String]
896
+ attr_accessor :security_level
897
+
898
+ # What level of login is required to access this resource.
899
+ # Corresponds to the JSON property `login`
900
+ # @return [String]
901
+ attr_accessor :login
902
+
903
+ # For users not logged in, how to handle access to resources with required login.
904
+ # Defaults to "redirect".
905
+ # Corresponds to the JSON property `authFailAction`
906
+ # @return [String]
907
+ attr_accessor :auth_fail_action
908
+
909
+ # `30x` code to use when performing redirects for the `secure` field. A `302` is
910
+ # used by default.
911
+ # Corresponds to the JSON property `redirectHttpResponseCode`
912
+ # @return [String]
913
+ attr_accessor :redirect_http_response_code
914
+
915
+ def initialize(**args)
916
+ update!(**args)
917
+ end
918
+
919
+ # Update properties of this object
920
+ def update!(**args)
921
+ @url_regex = args[:url_regex] if args.key?(:url_regex)
922
+ @static_files = args[:static_files] if args.key?(:static_files)
923
+ @script = args[:script] if args.key?(:script)
924
+ @api_endpoint = args[:api_endpoint] if args.key?(:api_endpoint)
925
+ @security_level = args[:security_level] if args.key?(:security_level)
926
+ @login = args[:login] if args.key?(:login)
927
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
928
+ @redirect_http_response_code = args[:redirect_http_response_code] if args.key?(:redirect_http_response_code)
929
+ end
930
+ end
931
+
932
+ # Files served directly to the user for a given URL, such as images, CSS
933
+ # stylesheets, or JavaScript source files. Static file handlers describe which
934
+ # files in the application directory are static files, and which URLs serve them.
935
+ class StaticFilesHandler
936
+ include Google::Apis::Core::Hashable
937
+
938
+ # The path to the static files matched by the URL pattern, from the application
939
+ # root directory. The path can refer to text matched in groupings in the URL
940
+ # pattern.
941
+ # Corresponds to the JSON property `path`
942
+ # @return [String]
943
+ attr_accessor :path
944
+
945
+ # A regular expression that matches the file paths for all files that will be
946
+ # referenced by this handler.
947
+ # Corresponds to the JSON property `uploadPathRegex`
948
+ # @return [String]
949
+ attr_accessor :upload_path_regex
950
+
951
+ # HTTP headers to use for all responses from these URLs.
952
+ # Corresponds to the JSON property `httpHeaders`
953
+ # @return [Hash<String,String>]
954
+ attr_accessor :http_headers
955
+
956
+ # If specified, all files served by this handler will be served using the
957
+ # specified MIME type. If not specified, the MIME type for a file will be
958
+ # derived from the file's filename extension.
959
+ # Corresponds to the JSON property `mimeType`
960
+ # @return [String]
961
+ attr_accessor :mime_type
962
+
963
+ # The length of time a static file served by this handler ought to be cached by
964
+ # web proxies and browsers.
965
+ # Corresponds to the JSON property `expiration`
966
+ # @return [String]
967
+ attr_accessor :expiration
968
+
969
+ # If true, this UrlMap entry does not match the request unless the file
970
+ # referenced by the handler also exists. If no such file exists, processing will
971
+ # continue with the next UrlMap that matches the requested URL.
972
+ # Corresponds to the JSON property `requireMatchingFile`
973
+ # @return [Boolean]
974
+ attr_accessor :require_matching_file
975
+ alias_method :require_matching_file?, :require_matching_file
976
+
977
+ # By default, files declared in static file handlers are uploaded as static data
978
+ # and are only served to end users, they cannot be read by an application. If
979
+ # this field is set to true, the files are also uploaded as code data so your
980
+ # application can read them. Both uploads are charged against your code and
981
+ # static data storage resource quotas.
982
+ # Corresponds to the JSON property `applicationReadable`
983
+ # @return [Boolean]
984
+ attr_accessor :application_readable
985
+ alias_method :application_readable?, :application_readable
986
+
987
+ def initialize(**args)
988
+ update!(**args)
989
+ end
990
+
991
+ # Update properties of this object
992
+ def update!(**args)
993
+ @path = args[:path] if args.key?(:path)
994
+ @upload_path_regex = args[:upload_path_regex] if args.key?(:upload_path_regex)
995
+ @http_headers = args[:http_headers] if args.key?(:http_headers)
996
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
997
+ @expiration = args[:expiration] if args.key?(:expiration)
998
+ @require_matching_file = args[:require_matching_file] if args.key?(:require_matching_file)
999
+ @application_readable = args[:application_readable] if args.key?(:application_readable)
1000
+ end
1001
+ end
1002
+
1003
+ # Executes a script to handle the request that matches the URL pattern.
1004
+ class ScriptHandler
1005
+ include Google::Apis::Core::Hashable
1006
+
1007
+ # Specifies the path to the script from the application root directory.
1008
+ # Corresponds to the JSON property `scriptPath`
1009
+ # @return [String]
1010
+ attr_accessor :script_path
1011
+
1012
+ def initialize(**args)
1013
+ update!(**args)
1014
+ end
1015
+
1016
+ # Update properties of this object
1017
+ def update!(**args)
1018
+ @script_path = args[:script_path] if args.key?(:script_path)
1019
+ end
1020
+ end
1021
+
1022
+ # Use Google Cloud Endpoints to handle requests.
1023
+ class ApiEndpointHandler
1024
+ include Google::Apis::Core::Hashable
1025
+
1026
+ # Specifies the path to the script from the application root directory.
1027
+ # Corresponds to the JSON property `scriptPath`
1028
+ # @return [String]
1029
+ attr_accessor :script_path
1030
+
1031
+ def initialize(**args)
1032
+ update!(**args)
1033
+ end
1034
+
1035
+ # Update properties of this object
1036
+ def update!(**args)
1037
+ @script_path = args[:script_path] if args.key?(:script_path)
1038
+ end
1039
+ end
1040
+
1041
+ # A custom static error page to be served when an error occurs.
1042
+ class ErrorHandler
1043
+ include Google::Apis::Core::Hashable
1044
+
1045
+ # The error condition this handler applies to.
1046
+ # Corresponds to the JSON property `errorCode`
1047
+ # @return [String]
1048
+ attr_accessor :error_code
1049
+
1050
+ # Static file content to be served for this error.
1051
+ # Corresponds to the JSON property `staticFile`
1052
+ # @return [String]
1053
+ attr_accessor :static_file
1054
+
1055
+ # MIME type of file. If unspecified, "text/html" is assumed.
1056
+ # Corresponds to the JSON property `mimeType`
1057
+ # @return [String]
1058
+ attr_accessor :mime_type
1059
+
1060
+ def initialize(**args)
1061
+ update!(**args)
1062
+ end
1063
+
1064
+ # Update properties of this object
1065
+ def update!(**args)
1066
+ @error_code = args[:error_code] if args.key?(:error_code)
1067
+ @static_file = args[:static_file] if args.key?(:static_file)
1068
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1069
+ end
1070
+ end
1071
+
1072
+ # A Python runtime third-party library required by the application.
1073
+ class Library
1074
+ include Google::Apis::Core::Hashable
1075
+
1076
+ # The name of the library, e.g. "PIL" or "django".
1077
+ # Corresponds to the JSON property `name`
1078
+ # @return [String]
1079
+ attr_accessor :name
1080
+
1081
+ # The version of the library to select, or "latest".
1082
+ # Corresponds to the JSON property `version`
1083
+ # @return [String]
1084
+ attr_accessor :version
1085
+
1086
+ def initialize(**args)
1087
+ update!(**args)
1088
+ end
1089
+
1090
+ # Update properties of this object
1091
+ def update!(**args)
1092
+ @name = args[:name] if args.key?(:name)
1093
+ @version = args[:version] if args.key?(:version)
1094
+ end
1095
+ end
1096
+
1097
+ # API Serving configuration for Cloud Endpoints.
1098
+ class ApiConfigHandler
1099
+ include Google::Apis::Core::Hashable
1100
+
1101
+ # For users not logged in, how to handle access to resources with required login.
1102
+ # Defaults to "redirect".
1103
+ # Corresponds to the JSON property `authFailAction`
1104
+ # @return [String]
1105
+ attr_accessor :auth_fail_action
1106
+
1107
+ # What level of login is required to access this resource. Default is "optional".
1108
+ # Corresponds to the JSON property `login`
1109
+ # @return [String]
1110
+ attr_accessor :login
1111
+
1112
+ # Specifies the path to the script from the application root directory.
1113
+ # Corresponds to the JSON property `script`
1114
+ # @return [String]
1115
+ attr_accessor :script
1116
+
1117
+ # Configures whether security (HTTPS) should be enforced for this URL.
1118
+ # Corresponds to the JSON property `securityLevel`
1119
+ # @return [String]
1120
+ attr_accessor :security_level
1121
+
1122
+ # URL to serve the endpoint at.
1123
+ # Corresponds to the JSON property `url`
1124
+ # @return [String]
1125
+ attr_accessor :url
1126
+
1127
+ def initialize(**args)
1128
+ update!(**args)
1129
+ end
1130
+
1131
+ # Update properties of this object
1132
+ def update!(**args)
1133
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
1134
+ @login = args[:login] if args.key?(:login)
1135
+ @script = args[:script] if args.key?(:script)
1136
+ @security_level = args[:security_level] if args.key?(:security_level)
1137
+ @url = args[:url] if args.key?(:url)
1138
+ end
1139
+ end
1140
+
1141
+ # Configure health checking for the VM instances. Unhealthy VM instances will be
1142
+ # killed and replaced with new instances.
1143
+ class HealthCheck
1144
+ include Google::Apis::Core::Hashable
1145
+
1146
+ # Whether to explicitly disable health checks for this instance.
1147
+ # Corresponds to the JSON property `disableHealthCheck`
1148
+ # @return [Boolean]
1149
+ attr_accessor :disable_health_check
1150
+ alias_method :disable_health_check?, :disable_health_check
1151
+
1152
+ # The host header to send when performing an HTTP health check (e.g. myapp.
1153
+ # appspot.com)
1154
+ # Corresponds to the JSON property `host`
1155
+ # @return [String]
1156
+ attr_accessor :host
1157
+
1158
+ # The number of consecutive successful health checks before receiving traffic.
1159
+ # Corresponds to the JSON property `healthyThreshold`
1160
+ # @return [Fixnum]
1161
+ attr_accessor :healthy_threshold
1162
+
1163
+ # The number of consecutive failed health checks before removing traffic.
1164
+ # Corresponds to the JSON property `unhealthyThreshold`
1165
+ # @return [Fixnum]
1166
+ attr_accessor :unhealthy_threshold
1167
+
1168
+ # The number of consecutive failed health checks before an instance is restarted.
1169
+ # Corresponds to the JSON property `restartThreshold`
1170
+ # @return [Fixnum]
1171
+ attr_accessor :restart_threshold
1172
+
1173
+ # The interval between health checks.
1174
+ # Corresponds to the JSON property `checkInterval`
1175
+ # @return [String]
1176
+ attr_accessor :check_interval
1177
+
1178
+ # The amount of time before the health check is considered failed.
1179
+ # Corresponds to the JSON property `timeout`
1180
+ # @return [String]
1181
+ attr_accessor :timeout
1182
+
1183
+ def initialize(**args)
1184
+ update!(**args)
1185
+ end
1186
+
1187
+ # Update properties of this object
1188
+ def update!(**args)
1189
+ @disable_health_check = args[:disable_health_check] if args.key?(:disable_health_check)
1190
+ @host = args[:host] if args.key?(:host)
1191
+ @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
1192
+ @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
1193
+ @restart_threshold = args[:restart_threshold] if args.key?(:restart_threshold)
1194
+ @check_interval = args[:check_interval] if args.key?(:check_interval)
1195
+ @timeout = args[:timeout] if args.key?(:timeout)
1196
+ end
1197
+ end
1198
+
1199
+ # Code and application artifacts used to deploy a version to App Engine.
1200
+ class Deployment
1201
+ include Google::Apis::Core::Hashable
1202
+
1203
+ # A manifest of files stored in Google Cloud Storage which should be included as
1204
+ # part of this application. All files must be readable using the credentials
1205
+ # supplied with this call.
1206
+ # Corresponds to the JSON property `files`
1207
+ # @return [Hash<String,Google::Apis::AppengineV1beta5::FileInfo>]
1208
+ attr_accessor :files
1209
+
1210
+ # A Docker (container) image which should be used to start the application.
1211
+ # Corresponds to the JSON property `container`
1212
+ # @return [Google::Apis::AppengineV1beta5::ContainerInfo]
1213
+ attr_accessor :container
1214
+
1215
+ # The origin of the source code for this deployment. There can be more than one
1216
+ # source reference per Version if source code is distributed among multiple
1217
+ # repositories.
1218
+ # Corresponds to the JSON property `sourceReferences`
1219
+ # @return [Array<Google::Apis::AppengineV1beta5::SourceReference>]
1220
+ attr_accessor :source_references
1221
+
1222
+ def initialize(**args)
1223
+ update!(**args)
1224
+ end
1225
+
1226
+ # Update properties of this object
1227
+ def update!(**args)
1228
+ @files = args[:files] if args.key?(:files)
1229
+ @container = args[:container] if args.key?(:container)
1230
+ @source_references = args[:source_references] if args.key?(:source_references)
1231
+ end
1232
+ end
1233
+
1234
+ # A single source file which is part of the application to be deployed.
1235
+ class FileInfo
1236
+ include Google::Apis::Core::Hashable
1237
+
1238
+ # The URL source to use to fetch this file. Must be a URL to a resource in
1239
+ # Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
1240
+ # Corresponds to the JSON property `sourceUrl`
1241
+ # @return [String]
1242
+ attr_accessor :source_url
1243
+
1244
+ # The SHA1 (160 bits) hash of the file in hex.
1245
+ # Corresponds to the JSON property `sha1Sum`
1246
+ # @return [String]
1247
+ attr_accessor :sha1_sum
1248
+
1249
+ # The MIME type of the file; if unspecified, the value from Google Cloud Storage
1250
+ # will be used.
1251
+ # Corresponds to the JSON property `mimeType`
1252
+ # @return [String]
1253
+ attr_accessor :mime_type
1254
+
1255
+ def initialize(**args)
1256
+ update!(**args)
1257
+ end
1258
+
1259
+ # Update properties of this object
1260
+ def update!(**args)
1261
+ @source_url = args[:source_url] if args.key?(:source_url)
1262
+ @sha1_sum = args[:sha1_sum] if args.key?(:sha1_sum)
1263
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1264
+ end
1265
+ end
1266
+
1267
+ # A Docker (container) image which should be used to start the application.
1268
+ class ContainerInfo
1269
+ include Google::Apis::Core::Hashable
1270
+
1271
+ # Reference to a hosted container image. Must be a URI to a resource in a Docker
1272
+ # repository. Must be fully qualified, including tag or digest. e.g. gcr.io/my-
1273
+ # project/image:tag or gcr.io/my-project/image@digest
1274
+ # Corresponds to the JSON property `image`
1275
+ # @return [String]
1276
+ attr_accessor :image
1277
+
1278
+ def initialize(**args)
1279
+ update!(**args)
1280
+ end
1281
+
1282
+ # Update properties of this object
1283
+ def update!(**args)
1284
+ @image = args[:image] if args.key?(:image)
1285
+ end
1286
+ end
1287
+
1288
+ # A reference to a particular snapshot of the source tree used to build and
1289
+ # deploy the application.
1290
+ class SourceReference
1291
+ include Google::Apis::Core::Hashable
1292
+
1293
+ # Optional. A URI string identifying the repository. Example: "https://source.
1294
+ # developers.google.com/p/app-123/r/default"
1295
+ # Corresponds to the JSON property `repository`
1296
+ # @return [String]
1297
+ attr_accessor :repository
1298
+
1299
+ # The canonical (and persistent) identifier of the deployed revision, i.e. any
1300
+ # kind of aliases including tags or branch names are not allowed. Example (git):
1301
+ # "2198322f89e0bb2e25021667c2ed489d1fd34e6b"
1302
+ # Corresponds to the JSON property `revisionId`
1303
+ # @return [String]
1304
+ attr_accessor :revision_id
1305
+
1306
+ def initialize(**args)
1307
+ update!(**args)
1308
+ end
1309
+
1310
+ # Update properties of this object
1311
+ def update!(**args)
1312
+ @repository = args[:repository] if args.key?(:repository)
1313
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
1314
+ end
1315
+ end
1316
+
1317
+ # Response message for `Versions.ListVersions`.
1318
+ class ListVersionsResponse
1319
+ include Google::Apis::Core::Hashable
1320
+
1321
+ # The versions belonging to the requested application service.
1322
+ # Corresponds to the JSON property `versions`
1323
+ # @return [Array<Google::Apis::AppengineV1beta5::Version>]
1324
+ attr_accessor :versions
1325
+
1326
+ # Continuation token for fetching the next page of results.
1327
+ # Corresponds to the JSON property `nextPageToken`
1328
+ # @return [String]
1329
+ attr_accessor :next_page_token
1330
+
1331
+ def initialize(**args)
1332
+ update!(**args)
1333
+ end
1334
+
1335
+ # Update properties of this object
1336
+ def update!(**args)
1337
+ @versions = args[:versions] if args.key?(:versions)
1338
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1339
+ end
1340
+ end
1341
+
1342
+ # A service is a logical component of an application that can share state and
1343
+ # communicate in a secure fashion with other services. For example, an
1344
+ # application that handles customer requests might include separate services to
1345
+ # handle other tasks such as API requests from mobile devices or backend data
1346
+ # analysis. Each service has a collection of versions that define a specific set
1347
+ # of code used to implement the functionality of that service.
1348
+ class Service
1349
+ include Google::Apis::Core::Hashable
1350
+
1351
+ # The full path to the Service resource in the API. Example: "apps/myapp/
1352
+ # services/default" @OutputOnly
1353
+ # Corresponds to the JSON property `name`
1354
+ # @return [String]
1355
+ attr_accessor :name
1356
+
1357
+ # The relative name/path of the service within the application. Example: "
1358
+ # default" @OutputOnly
1359
+ # Corresponds to the JSON property `id`
1360
+ # @return [String]
1361
+ attr_accessor :id
1362
+
1363
+ # Configuration for traffic splitting for versions within a single service.
1364
+ # Traffic splitting allows traffic directed to the service to be assigned to one
1365
+ # of several versions in a fractional way, enabling experiments and canarying
1366
+ # new builds, for example.
1367
+ # Corresponds to the JSON property `split`
1368
+ # @return [Google::Apis::AppengineV1beta5::TrafficSplit]
1369
+ attr_accessor :split
1370
+
1371
+ def initialize(**args)
1372
+ update!(**args)
1373
+ end
1374
+
1375
+ # Update properties of this object
1376
+ def update!(**args)
1377
+ @name = args[:name] if args.key?(:name)
1378
+ @id = args[:id] if args.key?(:id)
1379
+ @split = args[:split] if args.key?(:split)
1380
+ end
1381
+ end
1382
+
1383
+ # Configuration for traffic splitting for versions within a single service.
1384
+ # Traffic splitting allows traffic directed to the service to be assigned to one
1385
+ # of several versions in a fractional way, enabling experiments and canarying
1386
+ # new builds, for example.
1387
+ class TrafficSplit
1388
+ include Google::Apis::Core::Hashable
1389
+
1390
+ # Which mechanism should be used as a selector when choosing a version to send a
1391
+ # request to. The traffic selection algorithm will be stable for either type
1392
+ # until allocations are changed.
1393
+ # Corresponds to the JSON property `shardBy`
1394
+ # @return [String]
1395
+ attr_accessor :shard_by
1396
+
1397
+ # Mapping from service version IDs within the service to fractional (0.000, 1]
1398
+ # allocations of traffic for that version. Each version may only be specified
1399
+ # once, but some versions in the service may not have any traffic allocation.
1400
+ # Services that have traffic allocated in this field may not be deleted until
1401
+ # the service is deleted, or their traffic allocation is removed. Allocations
1402
+ # must sum to 1. Supports precision up to two decimal places for IP-based splits
1403
+ # and up to three decimal places for cookie-based splits.
1404
+ # Corresponds to the JSON property `allocations`
1405
+ # @return [Hash<String,Float>]
1406
+ attr_accessor :allocations
1407
+
1408
+ def initialize(**args)
1409
+ update!(**args)
1410
+ end
1411
+
1412
+ # Update properties of this object
1413
+ def update!(**args)
1414
+ @shard_by = args[:shard_by] if args.key?(:shard_by)
1415
+ @allocations = args[:allocations] if args.key?(:allocations)
1416
+ end
1417
+ end
1418
+
1419
+ # Response message for `Services.ListServices`.
1420
+ class ListServicesResponse
1421
+ include Google::Apis::Core::Hashable
1422
+
1423
+ # The services belonging to the requested application.
1424
+ # Corresponds to the JSON property `services`
1425
+ # @return [Array<Google::Apis::AppengineV1beta5::Service>]
1426
+ attr_accessor :services
1427
+
1428
+ # Continuation token for fetching the next page of results.
1429
+ # Corresponds to the JSON property `nextPageToken`
1430
+ # @return [String]
1431
+ attr_accessor :next_page_token
1432
+
1433
+ def initialize(**args)
1434
+ update!(**args)
1435
+ end
1436
+
1437
+ # Update properties of this object
1438
+ def update!(**args)
1439
+ @services = args[:services] if args.key?(:services)
1440
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1441
+ end
1442
+ end
1443
+
1444
+ # Metadata for the given google.longrunning.Operation.
1445
+ class OperationMetadata
1446
+ include Google::Apis::Core::Hashable
1447
+
1448
+ # The type of the operation (deprecated, use method field instead). Example: "
1449
+ # create_version". @OutputOnly
1450
+ # Corresponds to the JSON property `operationType`
1451
+ # @return [String]
1452
+ attr_accessor :operation_type
1453
+
1454
+ # Timestamp that this operation was received. @OutputOnly
1455
+ # Corresponds to the JSON property `insertTime`
1456
+ # @return [String]
1457
+ attr_accessor :insert_time
1458
+
1459
+ # Timestamp that this operation was completed. (Not present if the operation is
1460
+ # still in progress.) @OutputOnly
1461
+ # Corresponds to the JSON property `endTime`
1462
+ # @return [String]
1463
+ attr_accessor :end_time
1464
+
1465
+ # The user who requested this operation. @OutputOnly
1466
+ # Corresponds to the JSON property `user`
1467
+ # @return [String]
1468
+ attr_accessor :user
1469
+
1470
+ # Resource that this operation is acting on. Example: "apps/myapp/modules/
1471
+ # default". @OutputOnly
1472
+ # Corresponds to the JSON property `target`
1473
+ # @return [String]
1474
+ attr_accessor :target
1475
+
1476
+ # API method name that initiated the operation. Example: "google.appengine.
1477
+ # v1beta4.Version.CreateVersion". @OutputOnly
1478
+ # Corresponds to the JSON property `method`
1479
+ # @return [String]
1480
+ attr_accessor :method_prop
1481
+
1482
+ def initialize(**args)
1483
+ update!(**args)
1484
+ end
1485
+
1486
+ # Update properties of this object
1487
+ def update!(**args)
1488
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1489
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1490
+ @end_time = args[:end_time] if args.key?(:end_time)
1491
+ @user = args[:user] if args.key?(:user)
1492
+ @target = args[:target] if args.key?(:target)
1493
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1494
+ end
1495
+ end
1496
+
1497
+ # Metadata for the given google.longrunning.Operation.
1498
+ class OperationMetadataV1Beta5
1499
+ include Google::Apis::Core::Hashable
1500
+
1501
+ # API method name that initiated the operation. Example: "google.appengine.
1502
+ # v1beta5.Version.CreateVersion". @OutputOnly
1503
+ # Corresponds to the JSON property `method`
1504
+ # @return [String]
1505
+ attr_accessor :method_prop
1506
+
1507
+ # Timestamp that this operation was received. @OutputOnly
1508
+ # Corresponds to the JSON property `insertTime`
1509
+ # @return [String]
1510
+ attr_accessor :insert_time
1511
+
1512
+ # Timestamp that this operation was completed. (Not present if the operation is
1513
+ # still in progress.) @OutputOnly
1514
+ # Corresponds to the JSON property `endTime`
1515
+ # @return [String]
1516
+ attr_accessor :end_time
1517
+
1518
+ # The user who requested this operation. @OutputOnly
1519
+ # Corresponds to the JSON property `user`
1520
+ # @return [String]
1521
+ attr_accessor :user
1522
+
1523
+ # Resource that this operation is acting on. Example: "apps/myapp/services/
1524
+ # default". @OutputOnly
1525
+ # Corresponds to the JSON property `target`
1526
+ # @return [String]
1527
+ attr_accessor :target
1528
+
1529
+ def initialize(**args)
1530
+ update!(**args)
1531
+ end
1532
+
1533
+ # Update properties of this object
1534
+ def update!(**args)
1535
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1536
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1537
+ @end_time = args[:end_time] if args.key?(:end_time)
1538
+ @user = args[:user] if args.key?(:user)
1539
+ @target = args[:target] if args.key?(:target)
1540
+ end
1541
+ end
1542
+ end
1543
+ end
1544
+ end