google-api-client 0.9.pre3 → 0.9.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +4 -0
  5. data/MIGRATING.md +1 -1
  6. data/README.md +17 -3
  7. data/api_names.yaml +127 -14
  8. data/api_names_out.yaml +5442 -710
  9. data/bin/generate-api +16 -14
  10. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +213 -2
  12. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +71 -0
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -42
  14. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  15. data/generated/google/apis/adexchangeseller_v2_0/service.rb +15 -29
  16. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  17. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  18. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  20. data/generated/google/apis/admin_directory_v1.rb +25 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +718 -0
  22. data/generated/google/apis/admin_directory_v1/representations.rb +244 -0
  23. data/generated/google/apis/admin_directory_v1/service.rb +1522 -509
  24. data/generated/google/apis/admin_reports_v1.rb +1 -1
  25. data/generated/google/apis/admin_reports_v1/service.rb +5 -10
  26. data/generated/google/apis/adsense_v1_4.rb +1 -1
  27. data/generated/google/apis/adsense_v1_4/classes.rb +6 -0
  28. data/generated/google/apis/adsense_v1_4/representations.rb +1 -0
  29. data/generated/google/apis/adsense_v1_4/service.rb +40 -78
  30. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  31. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -52
  32. data/generated/google/apis/analytics_v3.rb +1 -1
  33. data/generated/google/apis/analytics_v3/classes.rb +11 -13
  34. data/generated/google/apis/analytics_v3/service.rb +84 -158
  35. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +276 -8
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +106 -0
  38. data/generated/google/apis/androidenterprise_v1/service.rb +715 -97
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  41. data/generated/google/apis/androidpublisher_v2/service.rb +55 -107
  42. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  43. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  44. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  45. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  46. data/generated/google/apis/appsactivity_v1.rb +1 -1
  47. data/generated/google/apis/appsactivity_v1/service.rb +1 -2
  48. data/generated/google/apis/appstate_v1.rb +1 -1
  49. data/generated/google/apis/appstate_v1/service.rb +6 -11
  50. data/generated/google/apis/autoscaler_v1beta2/service.rb +10 -20
  51. data/generated/google/apis/bigquery_v2.rb +4 -1
  52. data/generated/google/apis/bigquery_v2/classes.rb +231 -16
  53. data/generated/google/apis/bigquery_v2/representations.rb +62 -0
  54. data/generated/google/apis/bigquery_v2/service.rb +24 -45
  55. data/generated/google/apis/blogger_v3/service.rb +33 -66
  56. data/generated/google/apis/books_v1.rb +1 -1
  57. data/generated/google/apis/books_v1/classes.rb +441 -0
  58. data/generated/google/apis/books_v1/representations.rb +177 -0
  59. data/generated/google/apis/books_v1/service.rb +210 -90
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +34 -18
  62. data/generated/google/apis/calendar_v3/service.rb +118 -103
  63. data/generated/google/apis/civicinfo_v2.rb +1 -1
  64. data/generated/google/apis/civicinfo_v2/classes.rb +12 -3
  65. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +5 -10
  67. data/generated/google/apis/classroom_v1.rb +49 -0
  68. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  69. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  70. data/generated/google/apis/classroom_v1/service.rb +970 -0
  71. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  74. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  75. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  76. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  77. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  78. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  79. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  80. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +6 -12
  81. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +5 -2
  82. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +173 -249
  83. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +36 -68
  84. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +293 -80
  85. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  86. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  87. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  88. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  89. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  90. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  91. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  92. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  93. data/generated/google/apis/compute_beta.rb +49 -0
  94. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  95. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  96. data/generated/google/apis/compute_beta/service.rb +10154 -0
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/compute_v1/classes.rb +1305 -520
  99. data/generated/google/apis/compute_v1/representations.rb +122 -15
  100. data/generated/google/apis/compute_v1/service.rb +2202 -1085
  101. data/generated/google/apis/container_v1.rb +1 -1
  102. data/generated/google/apis/container_v1/classes.rb +56 -31
  103. data/generated/google/apis/container_v1/representations.rb +12 -0
  104. data/generated/google/apis/container_v1/service.rb +62 -41
  105. data/generated/google/apis/content_v2.rb +2 -2
  106. data/generated/google/apis/content_v2/classes.rb +2252 -56
  107. data/generated/google/apis/content_v2/representations.rb +917 -87
  108. data/generated/google/apis/content_v2/service.rb +680 -85
  109. data/generated/google/apis/coordinate_v1.rb +1 -1
  110. data/generated/google/apis/coordinate_v1/service.rb +16 -25
  111. data/generated/google/apis/customsearch_v1/service.rb +1 -2
  112. data/generated/google/apis/datastore_v1beta2.rb +1 -1
  113. data/generated/google/apis/datastore_v1beta2/service.rb +12 -18
  114. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  115. data/generated/google/apis/deploymentmanager_v2/classes.rb +1089 -0
  116. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  117. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2.rb +5 -2
  119. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +22 -3
  120. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +3 -0
  121. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +14 -27
  122. data/generated/google/apis/dfareporting_v2_1.rb +1 -1
  123. data/generated/google/apis/dfareporting_v2_1/classes.rb +29 -14
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +196 -389
  125. data/generated/google/apis/discovery_v1/classes.rb +7 -0
  126. data/generated/google/apis/discovery_v1/representations.rb +1 -0
  127. data/generated/google/apis/discovery_v1/service.rb +2 -4
  128. data/generated/google/apis/dns_v1.rb +4 -1
  129. data/generated/google/apis/dns_v1/service.rb +9 -18
  130. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  131. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +9 -2
  132. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +1 -0
  133. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -16
  134. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  135. data/generated/google/apis/doubleclicksearch_v2/classes.rb +15 -6
  136. data/generated/google/apis/doubleclicksearch_v2/representations.rb +1 -0
  137. data/generated/google/apis/doubleclicksearch_v2/service.rb +13 -23
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v2/classes.rb +73 -30
  140. data/generated/google/apis/drive_v2/representations.rb +14 -0
  141. data/generated/google/apis/drive_v2/service.rb +139 -135
  142. data/generated/google/apis/drive_v3.rb +55 -0
  143. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  144. data/generated/google/apis/drive_v3/representations.rb +497 -0
  145. data/generated/google/apis/drive_v3/service.rb +1541 -0
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/fitness_v1/service.rb +14 -27
  148. data/generated/google/apis/fusiontables_v2/service.rb +40 -73
  149. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  150. data/generated/google/apis/games_configuration_v1configuration/service.rb +14 -27
  151. data/generated/google/apis/games_management_v1management.rb +37 -0
  152. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  153. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  154. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  155. data/generated/google/apis/games_v1.rb +1 -1
  156. data/generated/google/apis/games_v1/classes.rb +39 -0
  157. data/generated/google/apis/games_v1/representations.rb +14 -0
  158. data/generated/google/apis/games_v1/service.rb +93 -109
  159. data/generated/google/apis/gan_v1beta1/service.rb +10 -20
  160. data/generated/google/apis/genomics_v1.rb +5 -3
  161. data/generated/google/apis/genomics_v1/classes.rb +519 -200
  162. data/generated/google/apis/genomics_v1/representations.rb +126 -13
  163. data/generated/google/apis/genomics_v1/service.rb +392 -236
  164. data/generated/google/apis/gmail_v1.rb +4 -1
  165. data/generated/google/apis/gmail_v1/service.rb +39 -71
  166. data/generated/google/apis/groupsmigration_v1/service.rb +2 -3
  167. data/generated/google/apis/groupssettings_v1/service.rb +3 -6
  168. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  169. data/generated/google/apis/identitytoolkit_v3/classes.rb +125 -0
  170. data/generated/google/apis/identitytoolkit_v3/representations.rb +37 -0
  171. data/generated/google/apis/identitytoolkit_v3/service.rb +44 -24
  172. data/generated/google/apis/kgsearch_v1.rb +32 -0
  173. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  174. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  175. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  176. data/generated/google/apis/licensing_v1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/service.rb +7 -14
  178. data/generated/google/apis/logging_v1beta3.rb +16 -4
  179. data/generated/google/apis/logging_v1beta3/classes.rb +620 -46
  180. data/generated/google/apis/logging_v1beta3/representations.rb +144 -0
  181. data/generated/google/apis/logging_v1beta3/service.rb +435 -104
  182. data/generated/google/apis/manager_v1beta2.rb +3 -0
  183. data/generated/google/apis/manager_v1beta2/service.rb +8 -16
  184. data/generated/google/apis/mapsengine_v1.rb +1 -1
  185. data/generated/google/apis/mapsengine_v1/service.rb +85 -162
  186. data/generated/google/apis/mirror_v1.rb +1 -1
  187. data/generated/google/apis/mirror_v1/service.rb +28 -52
  188. data/generated/google/apis/oauth2_v2.rb +1 -1
  189. data/generated/google/apis/oauth2_v2/service.rb +4 -8
  190. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -2
  191. data/generated/google/apis/partners_v2.rb +32 -0
  192. data/generated/google/apis/partners_v2/classes.rb +942 -0
  193. data/generated/google/apis/partners_v2/representations.rb +402 -0
  194. data/generated/google/apis/partners_v2/service.rb +400 -0
  195. data/generated/google/apis/plus_domains_v1.rb +1 -1
  196. data/generated/google/apis/plus_domains_v1/classes.rb +207 -0
  197. data/generated/google/apis/plus_domains_v1/representations.rb +114 -0
  198. data/generated/google/apis/plus_domains_v1/service.rb +21 -41
  199. data/generated/google/apis/plus_v1.rb +1 -1
  200. data/generated/google/apis/plus_v1/classes.rb +207 -0
  201. data/generated/google/apis/plus_v1/representations.rb +114 -0
  202. data/generated/google/apis/plus_v1/service.rb +11 -56
  203. data/generated/google/apis/prediction_v1_6.rb +1 -1
  204. data/generated/google/apis/prediction_v1_6/service.rb +8 -16
  205. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  206. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  207. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  208. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  209. data/generated/google/apis/pubsub_v1.rb +37 -0
  210. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  211. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  212. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  213. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  214. data/generated/google/apis/pubsub_v1beta2/classes.rb +78 -283
  215. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -85
  216. data/generated/google/apis/pubsub_v1beta2/service.rb +79 -87
  217. data/generated/google/apis/qpx_express_v1/service.rb +1 -2
  218. data/generated/google/apis/replicapool_v1beta2.rb +3 -0
  219. data/generated/google/apis/replicapool_v1beta2/service.rb +12 -24
  220. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -1
  221. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +46 -2
  222. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +16 -0
  223. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +58 -18
  224. data/generated/google/apis/reseller_v1.rb +1 -1
  225. data/generated/google/apis/reseller_v1/classes.rb +19 -1
  226. data/generated/google/apis/reseller_v1/representations.rb +1 -0
  227. data/generated/google/apis/reseller_v1/service.rb +16 -30
  228. data/generated/google/apis/resourceviews_v1beta2.rb +3 -0
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +16 -27
  230. data/generated/google/apis/script_v1.rb +61 -0
  231. data/generated/google/apis/script_v1/classes.rb +259 -0
  232. data/generated/google/apis/script_v1/representations.rb +106 -0
  233. data/generated/google/apis/script_v1/service.rb +98 -0
  234. data/generated/google/apis/site_verification_v1.rb +1 -1
  235. data/generated/google/apis/site_verification_v1/service.rb +8 -15
  236. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  237. data/generated/google/apis/sqladmin_v1beta4/classes.rb +186 -2
  238. data/generated/google/apis/sqladmin_v1beta4/representations.rb +70 -0
  239. data/generated/google/apis/sqladmin_v1beta4/service.rb +166 -75
  240. data/generated/google/apis/storage_v1.rb +5 -2
  241. data/generated/google/apis/storage_v1/classes.rb +47 -4
  242. data/generated/google/apis/storage_v1/representations.rb +18 -0
  243. data/generated/google/apis/storage_v1/service.rb +77 -94
  244. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  245. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  246. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  247. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  248. data/generated/google/apis/tagmanager_v1.rb +1 -1
  249. data/generated/google/apis/tagmanager_v1/classes.rb +189 -31
  250. data/generated/google/apis/tagmanager_v1/representations.rb +69 -15
  251. data/generated/google/apis/tagmanager_v1/service.rb +114 -275
  252. data/generated/google/apis/taskqueue_v1beta2/service.rb +8 -16
  253. data/generated/google/apis/tasks_v1/service.rb +14 -28
  254. data/generated/google/apis/translate_v2/service.rb +3 -6
  255. data/generated/google/apis/urlshortener_v1/service.rb +3 -6
  256. data/generated/google/apis/webmasters_v3.rb +3 -3
  257. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  258. data/generated/google/apis/webmasters_v3/service.rb +16 -30
  259. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  260. data/generated/google/apis/youtube_analytics_v1/classes.rb +6 -0
  261. data/generated/google/apis/youtube_analytics_v1/representations.rb +1 -0
  262. data/generated/google/apis/youtube_analytics_v1/service.rb +16 -21
  263. data/generated/google/apis/youtube_v3.rb +1 -1
  264. data/generated/google/apis/youtube_v3/classes.rb +111 -78
  265. data/generated/google/apis/youtube_v3/representations.rb +2 -0
  266. data/generated/google/apis/youtube_v3/service.rb +78 -246
  267. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  268. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  269. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  270. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  271. data/google-api-client.gemspec +3 -3
  272. data/lib/google/api_client/auth/installed_app.rb +2 -2
  273. data/lib/google/api_client/auth/key_utils.rb +1 -0
  274. data/lib/google/api_client/auth/storage.rb +1 -0
  275. data/lib/google/api_client/auth/storages/file_store.rb +1 -0
  276. data/lib/google/api_client/auth/storages/redis_store.rb +1 -0
  277. data/lib/google/api_client/client_secrets.rb +4 -5
  278. data/lib/google/apis/core/api_command.rb +2 -2
  279. data/lib/google/apis/core/base_service.rb +1 -0
  280. data/lib/google/apis/core/batch.rb +25 -8
  281. data/lib/google/apis/core/download.rb +1 -1
  282. data/lib/google/apis/core/http_command.rb +24 -12
  283. data/lib/google/apis/core/multipart.rb +20 -6
  284. data/lib/google/apis/core/upload.rb +11 -4
  285. data/lib/google/apis/generator/annotator.rb +29 -10
  286. data/lib/google/apis/generator/helpers.rb +1 -1
  287. data/lib/google/apis/generator/templates/_method.tmpl +5 -6
  288. data/lib/google/apis/options.rb +7 -3
  289. data/lib/google/apis/version.rb +1 -1
  290. data/samples/calendar/calendar.rb +1 -1
  291. data/samples/drive/drive.rb +9 -2
  292. data/samples/pubsub/pubsub.rb +5 -6
  293. data/samples/translate/translate.rb +1 -5
  294. data/script/generate +20 -5
  295. data/spec/fixtures/files/child/.gitignore +0 -0
  296. data/spec/fixtures/files/invalid.json +1 -0
  297. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  298. data/spec/google/apis/core/batch_spec.rb +22 -8
  299. data/spec/google/apis/core/download_spec.rb +13 -0
  300. data/spec/google/apis/core/http_command_spec.rb +26 -9
  301. data/spec/google/apis/core/upload_spec.rb +65 -17
  302. data/spec/google/apis/options_spec.rb +8 -0
  303. data/spec/integration_tests/adsense_spec.rb +28 -0
  304. data/spec/integration_tests/pubsub_spec.rb +3 -3
  305. data/spec/spec_helper.rb +5 -1
  306. data/third_party/hurley_patches.rb +103 -0
  307. metadata +87 -7
@@ -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