google-api-client 0.8.6 → 0.9

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