google-api-client 0.44.1 → 0.44.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +119 -0
  3. data/api_names.yaml +1 -0
  4. data/generated/google/apis/accessapproval_v1.rb +1 -1
  5. data/generated/google/apis/accessapproval_v1/classes.rb +6 -4
  6. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  7. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +1 -15
  10. data/generated/google/apis/admin_directory_v1/representations.rb +1 -14
  11. data/generated/google/apis/admin_directory_v1/service.rb +89 -1
  12. data/generated/google/apis/admob_v1.rb +1 -1
  13. data/generated/google/apis/analyticsdata_v1alpha.rb +37 -0
  14. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +1610 -0
  15. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +789 -0
  16. data/generated/google/apis/analyticsdata_v1alpha/service.rb +220 -0
  17. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  18. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  19. data/generated/google/apis/apigateway_v1alpha1.rb +34 -0
  20. data/generated/google/apis/apigateway_v1alpha1/classes.rb +633 -0
  21. data/generated/google/apis/apigateway_v1alpha1/representations.rb +250 -0
  22. data/generated/google/apis/apigateway_v1alpha1/service.rb +623 -0
  23. data/generated/google/apis/apigateway_v1beta.rb +34 -0
  24. data/generated/google/apis/apigateway_v1beta/classes.rb +1162 -0
  25. data/generated/google/apis/apigateway_v1beta/representations.rb +470 -0
  26. data/generated/google/apis/apigateway_v1beta/service.rb +1172 -0
  27. data/generated/google/apis/appengine_v1.rb +1 -1
  28. data/generated/google/apis/appengine_v1/classes.rb +51 -24
  29. data/generated/google/apis/appengine_v1/representations.rb +15 -0
  30. data/generated/google/apis/appengine_v1beta.rb +1 -1
  31. data/generated/google/apis/appengine_v1beta/classes.rb +58 -24
  32. data/generated/google/apis/appengine_v1beta/representations.rb +16 -0
  33. data/generated/google/apis/bigquery_v2.rb +1 -1
  34. data/generated/google/apis/bigquery_v2/classes.rb +26 -0
  35. data/generated/google/apis/bigquery_v2/representations.rb +15 -0
  36. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  37. data/generated/google/apis/bigtableadmin_v1/classes.rb +87 -119
  38. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  39. data/generated/google/apis/bigtableadmin_v2/classes.rb +405 -607
  40. data/generated/google/apis/bigtableadmin_v2/service.rb +194 -247
  41. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  42. data/generated/google/apis/binaryauthorization_v1/classes.rb +7 -0
  43. data/generated/google/apis/binaryauthorization_v1/representations.rb +1 -0
  44. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  45. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +7 -0
  46. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +1 -0
  47. data/generated/google/apis/calendar_v3.rb +1 -1
  48. data/generated/google/apis/calendar_v3/classes.rb +11 -9
  49. data/generated/google/apis/civicinfo_v2.rb +1 -1
  50. data/generated/google/apis/civicinfo_v2/classes.rb +18 -8
  51. data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
  52. data/generated/google/apis/cloudasset_v1.rb +1 -1
  53. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  54. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  55. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  56. data/generated/google/apis/cloudbuild_v1/classes.rb +81 -1
  57. data/generated/google/apis/cloudbuild_v1/representations.rb +22 -0
  58. data/generated/google/apis/cloudbuild_v1/service.rb +217 -3
  59. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  60. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +8 -0
  61. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +1 -0
  62. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  63. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +8 -0
  64. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +1 -0
  65. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  66. data/generated/google/apis/cloudidentity_v1.rb +4 -1
  67. data/generated/google/apis/cloudidentity_v1/classes.rb +270 -2
  68. data/generated/google/apis/cloudidentity_v1/representations.rb +139 -0
  69. data/generated/google/apis/cloudidentity_v1/service.rb +759 -0
  70. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  71. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +20 -7
  72. data/generated/google/apis/cloudiot_v1.rb +1 -1
  73. data/generated/google/apis/cloudiot_v1/classes.rb +7 -0
  74. data/generated/google/apis/cloudiot_v1/representations.rb +1 -0
  75. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  76. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +14 -7
  77. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +1 -0
  78. data/generated/google/apis/cloudresourcemanager_v1/service.rb +59 -57
  79. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  80. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +11 -4
  81. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +1 -0
  82. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +23 -22
  83. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  84. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +7 -0
  85. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +1 -0
  86. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  87. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +7 -0
  88. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +1 -0
  89. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  90. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  91. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +18 -18
  92. data/generated/google/apis/container_v1.rb +1 -1
  93. data/generated/google/apis/container_v1/classes.rb +57 -2
  94. data/generated/google/apis/container_v1/representations.rb +7 -0
  95. data/generated/google/apis/container_v1beta1.rb +1 -1
  96. data/generated/google/apis/container_v1beta1/classes.rb +52 -8
  97. data/generated/google/apis/container_v1beta1/representations.rb +6 -0
  98. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  99. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +7 -0
  100. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1 -0
  101. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  102. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +7 -0
  103. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +1 -0
  104. data/generated/google/apis/content_v2.rb +1 -1
  105. data/generated/google/apis/content_v2/classes.rb +2 -1
  106. data/generated/google/apis/content_v2_1.rb +1 -1
  107. data/generated/google/apis/content_v2_1/classes.rb +14 -3
  108. data/generated/google/apis/content_v2_1/representations.rb +1 -0
  109. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  110. data/generated/google/apis/datacatalog_v1beta1/classes.rb +7 -0
  111. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  112. data/generated/google/apis/datafusion_v1.rb +1 -1
  113. data/generated/google/apis/datafusion_v1/classes.rb +15 -0
  114. data/generated/google/apis/datafusion_v1/representations.rb +2 -0
  115. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  116. data/generated/google/apis/datafusion_v1beta1/classes.rb +15 -0
  117. data/generated/google/apis/datafusion_v1beta1/representations.rb +2 -0
  118. data/generated/google/apis/dataproc_v1.rb +1 -1
  119. data/generated/google/apis/dataproc_v1/classes.rb +22 -9
  120. data/generated/google/apis/dataproc_v1/representations.rb +2 -0
  121. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  122. data/generated/google/apis/dataproc_v1beta2/classes.rb +22 -9
  123. data/generated/google/apis/dataproc_v1beta2/representations.rb +2 -0
  124. data/generated/google/apis/dialogflow_v2.rb +1 -1
  125. data/generated/google/apis/dialogflow_v2/classes.rb +42 -26
  126. data/generated/google/apis/dialogflow_v2/representations.rb +1 -0
  127. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  128. data/generated/google/apis/dialogflow_v2beta1/classes.rb +53 -34
  129. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -0
  130. data/generated/google/apis/dialogflow_v2beta1/service.rb +458 -320
  131. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  132. data/generated/google/apis/dialogflow_v3beta1/classes.rb +42 -33
  133. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1 -1
  134. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  135. data/generated/google/apis/digitalassetlinks_v1/classes.rb +66 -92
  136. data/generated/google/apis/digitalassetlinks_v1/service.rb +131 -188
  137. data/generated/google/apis/displayvideo_v1.rb +1 -1
  138. data/generated/google/apis/displayvideo_v1/service.rb +2 -2
  139. data/generated/google/apis/displayvideo_v1beta.rb +38 -0
  140. data/generated/google/apis/displayvideo_v1beta/classes.rb +146 -0
  141. data/generated/google/apis/displayvideo_v1beta/representations.rb +72 -0
  142. data/generated/google/apis/displayvideo_v1beta/service.rb +161 -0
  143. data/generated/google/apis/displayvideo_v1beta2.rb +38 -0
  144. data/generated/google/apis/displayvideo_v1beta2/classes.rb +146 -0
  145. data/generated/google/apis/displayvideo_v1beta2/representations.rb +72 -0
  146. data/generated/google/apis/displayvideo_v1beta2/service.rb +130 -0
  147. data/generated/google/apis/displayvideo_v1dev.rb +38 -0
  148. data/generated/google/apis/displayvideo_v1dev/classes.rb +146 -0
  149. data/generated/google/apis/displayvideo_v1dev/representations.rb +72 -0
  150. data/generated/google/apis/displayvideo_v1dev/service.rb +130 -0
  151. data/generated/google/apis/dlp_v2.rb +1 -1
  152. data/generated/google/apis/dlp_v2/classes.rb +5 -5
  153. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  154. data/generated/google/apis/documentai_v1beta2/classes.rb +1059 -6
  155. data/generated/google/apis/documentai_v1beta2/representations.rb +398 -0
  156. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  157. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -2
  158. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  159. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -2
  160. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  161. data/generated/google/apis/firebase_v1beta1/classes.rb +8 -4
  162. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  163. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  164. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +160 -0
  165. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +68 -0
  166. data/generated/google/apis/firebasehosting_v1beta1/service.rb +414 -0
  167. data/generated/google/apis/firebaseml_v1beta2.rb +1 -1
  168. data/generated/google/apis/firebaseml_v1beta2/classes.rb +8 -0
  169. data/generated/google/apis/firebaseml_v1beta2/representations.rb +1 -0
  170. data/generated/google/apis/firestore_v1.rb +1 -1
  171. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  172. data/generated/google/apis/fitness_v1.rb +3 -3
  173. data/generated/google/apis/fitness_v1/classes.rb +5 -5
  174. data/generated/google/apis/games_v1.rb +1 -1
  175. data/generated/google/apis/gameservices_v1.rb +1 -1
  176. data/generated/google/apis/gameservices_v1/classes.rb +7 -0
  177. data/generated/google/apis/gameservices_v1/representations.rb +1 -0
  178. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  179. data/generated/google/apis/gameservices_v1beta/classes.rb +7 -0
  180. data/generated/google/apis/gameservices_v1beta/representations.rb +1 -0
  181. data/generated/google/apis/healthcare_v1.rb +1 -1
  182. data/generated/google/apis/healthcare_v1/classes.rb +72 -0
  183. data/generated/google/apis/healthcare_v1/representations.rb +32 -0
  184. data/generated/google/apis/healthcare_v1/service.rb +182 -16
  185. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  186. data/generated/google/apis/healthcare_v1beta1/service.rb +231 -16
  187. data/generated/google/apis/homegraph_v1.rb +4 -1
  188. data/generated/google/apis/iam_v1.rb +1 -1
  189. data/generated/google/apis/iam_v1/classes.rb +7 -0
  190. data/generated/google/apis/iam_v1/representations.rb +1 -0
  191. data/generated/google/apis/iap_v1.rb +1 -1
  192. data/generated/google/apis/iap_v1/classes.rb +7 -0
  193. data/generated/google/apis/iap_v1/representations.rb +1 -0
  194. data/generated/google/apis/iap_v1beta1.rb +1 -1
  195. data/generated/google/apis/iap_v1beta1/classes.rb +7 -0
  196. data/generated/google/apis/iap_v1beta1/representations.rb +1 -0
  197. data/generated/google/apis/jobs_v2.rb +1 -1
  198. data/generated/google/apis/jobs_v2/classes.rb +786 -1086
  199. data/generated/google/apis/jobs_v2/service.rb +85 -126
  200. data/generated/google/apis/jobs_v3.rb +1 -1
  201. data/generated/google/apis/jobs_v3/classes.rb +637 -856
  202. data/generated/google/apis/jobs_v3/service.rb +101 -139
  203. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  204. data/generated/google/apis/jobs_v3p1beta1/classes.rb +762 -1023
  205. data/generated/google/apis/jobs_v3p1beta1/service.rb +103 -142
  206. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  207. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +8 -0
  208. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +1 -0
  209. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  210. data/generated/google/apis/managedidentities_v1beta1/classes.rb +8 -0
  211. data/generated/google/apis/managedidentities_v1beta1/representations.rb +1 -0
  212. data/generated/google/apis/ml_v1.rb +1 -1
  213. data/generated/google/apis/ml_v1/classes.rb +7 -0
  214. data/generated/google/apis/ml_v1/representations.rb +1 -0
  215. data/generated/google/apis/ml_v1/service.rb +1 -1
  216. data/generated/google/apis/monitoring_v1.rb +1 -1
  217. data/generated/google/apis/monitoring_v1/classes.rb +9 -5
  218. data/generated/google/apis/osconfig_v1.rb +1 -1
  219. data/generated/google/apis/osconfig_v1/classes.rb +0 -704
  220. data/generated/google/apis/osconfig_v1/representations.rb +0 -337
  221. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  222. data/generated/google/apis/osconfig_v1beta/classes.rb +0 -704
  223. data/generated/google/apis/osconfig_v1beta/representations.rb +0 -337
  224. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  225. data/generated/google/apis/playcustomapp_v1/service.rb +2 -2
  226. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  227. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +20 -0
  228. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +13 -0
  229. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +479 -0
  230. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  231. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  232. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  233. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  234. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +7 -0
  235. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +1 -0
  236. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  237. data/generated/google/apis/secretmanager_v1.rb +1 -1
  238. data/generated/google/apis/secretmanager_v1/classes.rb +168 -2
  239. data/generated/google/apis/secretmanager_v1/representations.rb +92 -0
  240. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  241. data/generated/google/apis/secretmanager_v1beta1/classes.rb +7 -0
  242. data/generated/google/apis/secretmanager_v1beta1/representations.rb +1 -0
  243. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  244. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +7 -0
  245. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +1 -0
  246. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  247. data/generated/google/apis/servicenetworking_v1/classes.rb +0 -9
  248. data/generated/google/apis/servicenetworking_v1/representations.rb +0 -1
  249. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  250. data/generated/google/apis/sql_v1beta4.rb +1 -1
  251. data/generated/google/apis/storage_v1.rb +1 -1
  252. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  253. data/generated/google/apis/sts_v1.rb +32 -0
  254. data/generated/google/apis/sts_v1/classes.rb +120 -0
  255. data/generated/google/apis/sts_v1/representations.rb +59 -0
  256. data/generated/google/apis/sts_v1/service.rb +90 -0
  257. data/generated/google/apis/sts_v1beta.rb +32 -0
  258. data/generated/google/apis/sts_v1beta/classes.rb +191 -0
  259. data/generated/google/apis/sts_v1beta/representations.rb +61 -0
  260. data/generated/google/apis/sts_v1beta/service.rb +92 -0
  261. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  262. data/generated/google/apis/tpu_v1.rb +1 -1
  263. data/generated/google/apis/tpu_v1/classes.rb +43 -0
  264. data/generated/google/apis/tpu_v1/representations.rb +18 -0
  265. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  266. data/generated/google/apis/tpu_v1alpha1/classes.rb +43 -0
  267. data/generated/google/apis/tpu_v1alpha1/representations.rb +18 -0
  268. data/generated/google/apis/vault_v1.rb +1 -1
  269. data/generated/google/apis/vault_v1/classes.rb +80 -103
  270. data/generated/google/apis/vault_v1/service.rb +31 -37
  271. data/generated/google/apis/verifiedaccess_v1.rb +1 -1
  272. data/generated/google/apis/verifiedaccess_v1/classes.rb +20 -27
  273. data/generated/google/apis/videointelligence_v1.rb +1 -1
  274. data/generated/google/apis/videointelligence_v1/service.rb +31 -0
  275. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  276. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  277. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  278. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  279. data/generated/google/apis/vision_v1.rb +1 -1
  280. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  281. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  282. data/generated/google/apis/workflowexecutions_v1beta.rb +34 -0
  283. data/generated/google/apis/workflowexecutions_v1beta/classes.rb +155 -0
  284. data/generated/google/apis/workflowexecutions_v1beta/representations.rb +88 -0
  285. data/generated/google/apis/workflowexecutions_v1beta/service.rb +211 -0
  286. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  287. data/generated/google/apis/youtube_v3.rb +1 -1
  288. data/generated/google/apis/youtube_v3/service.rb +78 -78
  289. data/google-api-client.gemspec +2 -1
  290. data/lib/google/apis/version.rb +1 -1
  291. metadata +54 -4
@@ -0,0 +1,34 @@
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/apigateway_v1beta/service.rb'
16
+ require 'google/apis/apigateway_v1beta/classes.rb'
17
+ require 'google/apis/apigateway_v1beta/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # API Gateway API
22
+ #
23
+ #
24
+ #
25
+ # @see https://cloud.google.com/api-gateway/docs
26
+ module ApigatewayV1beta
27
+ VERSION = 'V1beta'
28
+ REVISION = '20200901'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,1162 @@
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 ApigatewayV1beta
24
+
25
+ # A consumable API that can be used by multiple Gateways.
26
+ class ApigatewayApi
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Output only. Created time.
30
+ # Corresponds to the JSON property `createTime`
31
+ # @return [String]
32
+ attr_accessor :create_time
33
+
34
+ # Optional. Display name.
35
+ # Corresponds to the JSON property `displayName`
36
+ # @return [String]
37
+ attr_accessor :display_name
38
+
39
+ # Optional. Resource labels to represent user-provided metadata. Refer to cloud
40
+ # documentation on labels for more details. https://cloud.google.com/compute/
41
+ # docs/labeling-resources
42
+ # Corresponds to the JSON property `labels`
43
+ # @return [Hash<String,String>]
44
+ attr_accessor :labels
45
+
46
+ # Optional. Immutable. The name of a Google Managed Service ( https://cloud.
47
+ # google.com/service-infrastructure/docs/glossary#managed). If not specified, a
48
+ # new Service will automatically be created in the same project as this API.
49
+ # Corresponds to the JSON property `managedService`
50
+ # @return [String]
51
+ attr_accessor :managed_service
52
+
53
+ # Output only. Resource name of the API. Format: projects/`project`/locations/
54
+ # global/apis/`api`
55
+ # Corresponds to the JSON property `name`
56
+ # @return [String]
57
+ attr_accessor :name
58
+
59
+ # Output only. State of the API.
60
+ # Corresponds to the JSON property `state`
61
+ # @return [String]
62
+ attr_accessor :state
63
+
64
+ # Output only. Updated time.
65
+ # Corresponds to the JSON property `updateTime`
66
+ # @return [String]
67
+ attr_accessor :update_time
68
+
69
+ def initialize(**args)
70
+ update!(**args)
71
+ end
72
+
73
+ # Update properties of this object
74
+ def update!(**args)
75
+ @create_time = args[:create_time] if args.key?(:create_time)
76
+ @display_name = args[:display_name] if args.key?(:display_name)
77
+ @labels = args[:labels] if args.key?(:labels)
78
+ @managed_service = args[:managed_service] if args.key?(:managed_service)
79
+ @name = args[:name] if args.key?(:name)
80
+ @state = args[:state] if args.key?(:state)
81
+ @update_time = args[:update_time] if args.key?(:update_time)
82
+ end
83
+ end
84
+
85
+ # An API Configuration is an association of an API Controller Config and a
86
+ # Gateway Config. For APIs with a Managed Service API Controller, this resource
87
+ # is associated with one or more Service Configs and a Service Rollout.
88
+ # Initially, this resource will extract the Gateway Config from the API
89
+ # Controller Config.
90
+ class ApigatewayApiConfig
91
+ include Google::Apis::Core::Hashable
92
+
93
+ # Output only. Created time.
94
+ # Corresponds to the JSON property `createTime`
95
+ # @return [String]
96
+ attr_accessor :create_time
97
+
98
+ # Optional. Display name.
99
+ # Corresponds to the JSON property `displayName`
100
+ # @return [String]
101
+ attr_accessor :display_name
102
+
103
+ # Configuration settings for Gateways.
104
+ # Corresponds to the JSON property `gatewayConfig`
105
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayGatewayConfig]
106
+ attr_accessor :gateway_config
107
+
108
+ # Optional. gRPC service definition files. If specified, openapi_documents must
109
+ # not be included.
110
+ # Corresponds to the JSON property `grpcServices`
111
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigGrpcServiceDefinition>]
112
+ attr_accessor :grpc_services
113
+
114
+ # Optional. Resource labels to represent user-provided metadata. Refer to cloud
115
+ # documentation on labels for more details. https://cloud.google.com/compute/
116
+ # docs/labeling-resources
117
+ # Corresponds to the JSON property `labels`
118
+ # @return [Hash<String,String>]
119
+ attr_accessor :labels
120
+
121
+ # Optional. Service Configuration files. At least one must be included when
122
+ # using gRPC service definitions. See https: //cloud.google.com/endpoints/docs/
123
+ # grpc/g // rpc-service-config#service_configuration_overview for the expected
124
+ # file contents. If multiple files are specified, the files are merged with the
125
+ # following rules: * All singular scalar fields are merged using "last one wins"
126
+ # semantics in the order of the files uploaded. * Repeated fields are
127
+ # concatenated. * Singular embedded messages are merged using these rules for
128
+ # nested fields.
129
+ # Corresponds to the JSON property `managedServiceConfigs`
130
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigFile>]
131
+ attr_accessor :managed_service_configs
132
+
133
+ # Output only. Resource name of the API Config. Format: projects/`project`/
134
+ # locations/global/apis/`api`/configs/`api_config`
135
+ # Corresponds to the JSON property `name`
136
+ # @return [String]
137
+ attr_accessor :name
138
+
139
+ # Optional. OpenAPI specification documents. If specified, grpc_services and
140
+ # managed_service_config must not be included.
141
+ # Corresponds to the JSON property `openapiDocuments`
142
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigOpenApiDocument>]
143
+ attr_accessor :openapi_documents
144
+
145
+ # Output only. The ID of the associated Service Config ( https://cloud.google.
146
+ # com/service-infrastructure/docs/glossary#config).
147
+ # Corresponds to the JSON property `serviceConfigId`
148
+ # @return [String]
149
+ attr_accessor :service_config_id
150
+
151
+ # Output only. State of the API Config.
152
+ # Corresponds to the JSON property `state`
153
+ # @return [String]
154
+ attr_accessor :state
155
+
156
+ # Output only. Updated time.
157
+ # Corresponds to the JSON property `updateTime`
158
+ # @return [String]
159
+ attr_accessor :update_time
160
+
161
+ def initialize(**args)
162
+ update!(**args)
163
+ end
164
+
165
+ # Update properties of this object
166
+ def update!(**args)
167
+ @create_time = args[:create_time] if args.key?(:create_time)
168
+ @display_name = args[:display_name] if args.key?(:display_name)
169
+ @gateway_config = args[:gateway_config] if args.key?(:gateway_config)
170
+ @grpc_services = args[:grpc_services] if args.key?(:grpc_services)
171
+ @labels = args[:labels] if args.key?(:labels)
172
+ @managed_service_configs = args[:managed_service_configs] if args.key?(:managed_service_configs)
173
+ @name = args[:name] if args.key?(:name)
174
+ @openapi_documents = args[:openapi_documents] if args.key?(:openapi_documents)
175
+ @service_config_id = args[:service_config_id] if args.key?(:service_config_id)
176
+ @state = args[:state] if args.key?(:state)
177
+ @update_time = args[:update_time] if args.key?(:update_time)
178
+ end
179
+ end
180
+
181
+ # A lightweight description of a file.
182
+ class ApigatewayApiConfigFile
183
+ include Google::Apis::Core::Hashable
184
+
185
+ # The bytes that constitute the file.
186
+ # Corresponds to the JSON property `contents`
187
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
188
+ # @return [String]
189
+ attr_accessor :contents
190
+
191
+ # The file path (full or relative path). This is typically the path of the file
192
+ # when it is uploaded.
193
+ # Corresponds to the JSON property `path`
194
+ # @return [String]
195
+ attr_accessor :path
196
+
197
+ def initialize(**args)
198
+ update!(**args)
199
+ end
200
+
201
+ # Update properties of this object
202
+ def update!(**args)
203
+ @contents = args[:contents] if args.key?(:contents)
204
+ @path = args[:path] if args.key?(:path)
205
+ end
206
+ end
207
+
208
+ # A gRPC service definition.
209
+ class ApigatewayApiConfigGrpcServiceDefinition
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # A lightweight description of a file.
213
+ # Corresponds to the JSON property `fileDescriptorSet`
214
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayApiConfigFile]
215
+ attr_accessor :file_descriptor_set
216
+
217
+ # Optional. Uncompiled proto files associated with the descriptor set, used for
218
+ # display purposes (server-side compilation is not supported). These should
219
+ # match the inputs to 'protoc' command used to generate file_descriptor_set.
220
+ # Corresponds to the JSON property `source`
221
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfigFile>]
222
+ attr_accessor :source
223
+
224
+ def initialize(**args)
225
+ update!(**args)
226
+ end
227
+
228
+ # Update properties of this object
229
+ def update!(**args)
230
+ @file_descriptor_set = args[:file_descriptor_set] if args.key?(:file_descriptor_set)
231
+ @source = args[:source] if args.key?(:source)
232
+ end
233
+ end
234
+
235
+ # An OpenAPI Specification Document describing an API.
236
+ class ApigatewayApiConfigOpenApiDocument
237
+ include Google::Apis::Core::Hashable
238
+
239
+ # A lightweight description of a file.
240
+ # Corresponds to the JSON property `document`
241
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayApiConfigFile]
242
+ attr_accessor :document
243
+
244
+ def initialize(**args)
245
+ update!(**args)
246
+ end
247
+
248
+ # Update properties of this object
249
+ def update!(**args)
250
+ @document = args[:document] if args.key?(:document)
251
+ end
252
+ end
253
+
254
+ # Specifies the audit configuration for a service. The configuration determines
255
+ # which permission types are logged, and what identities, if any, are exempted
256
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
257
+ # are AuditConfigs for both `allServices` and a specific service, the union of
258
+ # the two AuditConfigs is used for that service: the log_types specified in each
259
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
260
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
261
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
262
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
263
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
264
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
265
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
266
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
267
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
268
+ # DATA_WRITE logging.
269
+ class ApigatewayAuditConfig
270
+ include Google::Apis::Core::Hashable
271
+
272
+ # The configuration for logging of each type of permission.
273
+ # Corresponds to the JSON property `auditLogConfigs`
274
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayAuditLogConfig>]
275
+ attr_accessor :audit_log_configs
276
+
277
+ # Specifies a service that will be enabled for audit logging. For example, `
278
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
279
+ # value that covers all services.
280
+ # Corresponds to the JSON property `service`
281
+ # @return [String]
282
+ attr_accessor :service
283
+
284
+ def initialize(**args)
285
+ update!(**args)
286
+ end
287
+
288
+ # Update properties of this object
289
+ def update!(**args)
290
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
291
+ @service = args[:service] if args.key?(:service)
292
+ end
293
+ end
294
+
295
+ # Provides the configuration for logging a type of permissions. Example: ` "
296
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
297
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
298
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
299
+ # DATA_READ logging.
300
+ class ApigatewayAuditLogConfig
301
+ include Google::Apis::Core::Hashable
302
+
303
+ # Specifies the identities that do not cause logging for this type of permission.
304
+ # Follows the same format of Binding.members.
305
+ # Corresponds to the JSON property `exemptedMembers`
306
+ # @return [Array<String>]
307
+ attr_accessor :exempted_members
308
+
309
+ # The log type that this config enables.
310
+ # Corresponds to the JSON property `logType`
311
+ # @return [String]
312
+ attr_accessor :log_type
313
+
314
+ def initialize(**args)
315
+ update!(**args)
316
+ end
317
+
318
+ # Update properties of this object
319
+ def update!(**args)
320
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
321
+ @log_type = args[:log_type] if args.key?(:log_type)
322
+ end
323
+ end
324
+
325
+ # Configuration for a backend.
326
+ class ApigatewayBackendConfig
327
+ include Google::Apis::Core::Hashable
328
+
329
+ # Google Cloud IAM service account used to sign OIDC tokens for backends that
330
+ # have authentication configured (https: //cloud.google.com/service-
331
+ # infrastructur // e/docs/service-management/reference/rest/v1/services.configs#
332
+ # backend). This may either be the Service Account's email (i.e. "`ACCOUNT_ID`@`
333
+ # PROJECT`.iam.gserviceaccount.com") or its full resource name (i.e. "projects/`
334
+ # PROJECT`/accounts/`UNIQUE_ID`"). This is most often used when the backend is a
335
+ # GCP resource such as a Cloud Run Service or an IAP-secured service. Note that
336
+ # this token is always sent as an authorization header bearer token. The
337
+ # audience of the OIDC token is configured in the associated Service Config in
338
+ # the BackendRule option (https: //github.com/googleapis/googleapis/blob/ //
339
+ # master/google/api/backend.proto#L125).
340
+ # Corresponds to the JSON property `googleServiceAccount`
341
+ # @return [String]
342
+ attr_accessor :google_service_account
343
+
344
+ def initialize(**args)
345
+ update!(**args)
346
+ end
347
+
348
+ # Update properties of this object
349
+ def update!(**args)
350
+ @google_service_account = args[:google_service_account] if args.key?(:google_service_account)
351
+ end
352
+ end
353
+
354
+ # Associates `members` with a `role`.
355
+ class ApigatewayBinding
356
+ include Google::Apis::Core::Hashable
357
+
358
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
359
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
360
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
361
+ # "Summary size limit" description: "Determines if a summary is less than 100
362
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
363
+ # Requestor is owner" description: "Determines if requestor is the document
364
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
365
+ # Logic): title: "Public documents" description: "Determine whether the document
366
+ # should be publicly visible" expression: "document.type != 'private' &&
367
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
368
+ # string" description: "Create a notification string with a timestamp."
369
+ # expression: "'New message received at ' + string(document.create_time)" The
370
+ # exact variables and functions that may be referenced within an expression are
371
+ # determined by the service that evaluates it. See the service documentation for
372
+ # additional information.
373
+ # Corresponds to the JSON property `condition`
374
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayExpr]
375
+ attr_accessor :condition
376
+
377
+ # Specifies the identities requesting access for a Cloud Platform resource. `
378
+ # members` can have the following values: * `allUsers`: A special identifier
379
+ # that represents anyone who is on the internet; with or without a Google
380
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
381
+ # anyone who is authenticated with a Google account or a service account. * `
382
+ # user:`emailid``: An email address that represents a specific Google account.
383
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
384
+ # address that represents a service account. For example, `my-other-app@appspot.
385
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
386
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
387
+ # `uniqueid``: An email address (plus unique identifier) representing a user
388
+ # that has been recently deleted. For example, `alice@example.com?uid=
389
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
390
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
391
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
392
+ # identifier) representing a service account that has been recently deleted. For
393
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
394
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
395
+ # emailid`` and the undeleted service account retains the role in the binding. *
396
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
397
+ # identifier) representing a Google group that has been recently deleted. For
398
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
399
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
400
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
401
+ # primary) that represents all the users of that domain. For example, `google.
402
+ # com` or `example.com`.
403
+ # Corresponds to the JSON property `members`
404
+ # @return [Array<String>]
405
+ attr_accessor :members
406
+
407
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
408
+ # , or `roles/owner`.
409
+ # Corresponds to the JSON property `role`
410
+ # @return [String]
411
+ attr_accessor :role
412
+
413
+ def initialize(**args)
414
+ update!(**args)
415
+ end
416
+
417
+ # Update properties of this object
418
+ def update!(**args)
419
+ @condition = args[:condition] if args.key?(:condition)
420
+ @members = args[:members] if args.key?(:members)
421
+ @role = args[:role] if args.key?(:role)
422
+ end
423
+ end
424
+
425
+ # The request message for Operations.CancelOperation.
426
+ class ApigatewayCancelOperationRequest
427
+ include Google::Apis::Core::Hashable
428
+
429
+ def initialize(**args)
430
+ update!(**args)
431
+ end
432
+
433
+ # Update properties of this object
434
+ def update!(**args)
435
+ end
436
+ end
437
+
438
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
439
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
440
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
441
+ # "Summary size limit" description: "Determines if a summary is less than 100
442
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
443
+ # Requestor is owner" description: "Determines if requestor is the document
444
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
445
+ # Logic): title: "Public documents" description: "Determine whether the document
446
+ # should be publicly visible" expression: "document.type != 'private' &&
447
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
448
+ # string" description: "Create a notification string with a timestamp."
449
+ # expression: "'New message received at ' + string(document.create_time)" The
450
+ # exact variables and functions that may be referenced within an expression are
451
+ # determined by the service that evaluates it. See the service documentation for
452
+ # additional information.
453
+ class ApigatewayExpr
454
+ include Google::Apis::Core::Hashable
455
+
456
+ # Optional. Description of the expression. This is a longer text which describes
457
+ # the expression, e.g. when hovered over it in a UI.
458
+ # Corresponds to the JSON property `description`
459
+ # @return [String]
460
+ attr_accessor :description
461
+
462
+ # Textual representation of an expression in Common Expression Language syntax.
463
+ # Corresponds to the JSON property `expression`
464
+ # @return [String]
465
+ attr_accessor :expression
466
+
467
+ # Optional. String indicating the location of the expression for error reporting,
468
+ # e.g. a file name and a position in the file.
469
+ # Corresponds to the JSON property `location`
470
+ # @return [String]
471
+ attr_accessor :location
472
+
473
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
474
+ # This can be used e.g. in UIs which allow to enter the expression.
475
+ # Corresponds to the JSON property `title`
476
+ # @return [String]
477
+ attr_accessor :title
478
+
479
+ def initialize(**args)
480
+ update!(**args)
481
+ end
482
+
483
+ # Update properties of this object
484
+ def update!(**args)
485
+ @description = args[:description] if args.key?(:description)
486
+ @expression = args[:expression] if args.key?(:expression)
487
+ @location = args[:location] if args.key?(:location)
488
+ @title = args[:title] if args.key?(:title)
489
+ end
490
+ end
491
+
492
+ # A Gateway is an API-aware HTTP proxy. It performs API-Method and/or API-
493
+ # Consumer specific actions based on an API Config such as authentication,
494
+ # policy enforcement, and backend selection.
495
+ class ApigatewayGateway
496
+ include Google::Apis::Core::Hashable
497
+
498
+ # Required. Resource name of the API Config for this Gateway. Format: projects/`
499
+ # project`/locations/global/apis/`api`/configs/`apiConfig`
500
+ # Corresponds to the JSON property `apiConfig`
501
+ # @return [String]
502
+ attr_accessor :api_config
503
+
504
+ # Output only. Created time.
505
+ # Corresponds to the JSON property `createTime`
506
+ # @return [String]
507
+ attr_accessor :create_time
508
+
509
+ # Output only. The default API Gateway host name of the form ``gateway_id`-`hash`
510
+ # .`region_code`.gateway.dev`.
511
+ # Corresponds to the JSON property `defaultHostname`
512
+ # @return [String]
513
+ attr_accessor :default_hostname
514
+
515
+ # Optional. Display name.
516
+ # Corresponds to the JSON property `displayName`
517
+ # @return [String]
518
+ attr_accessor :display_name
519
+
520
+ # Optional. Resource labels to represent user-provided metadata. Refer to cloud
521
+ # documentation on labels for more details. https://cloud.google.com/compute/
522
+ # docs/labeling-resources
523
+ # Corresponds to the JSON property `labels`
524
+ # @return [Hash<String,String>]
525
+ attr_accessor :labels
526
+
527
+ # Output only. Resource name of the Gateway. Format: projects/`project`/
528
+ # locations/`location`/gateways/`gateway`
529
+ # Corresponds to the JSON property `name`
530
+ # @return [String]
531
+ attr_accessor :name
532
+
533
+ # Output only. The current state of the Gateway.
534
+ # Corresponds to the JSON property `state`
535
+ # @return [String]
536
+ attr_accessor :state
537
+
538
+ # Output only. Updated time.
539
+ # Corresponds to the JSON property `updateTime`
540
+ # @return [String]
541
+ attr_accessor :update_time
542
+
543
+ def initialize(**args)
544
+ update!(**args)
545
+ end
546
+
547
+ # Update properties of this object
548
+ def update!(**args)
549
+ @api_config = args[:api_config] if args.key?(:api_config)
550
+ @create_time = args[:create_time] if args.key?(:create_time)
551
+ @default_hostname = args[:default_hostname] if args.key?(:default_hostname)
552
+ @display_name = args[:display_name] if args.key?(:display_name)
553
+ @labels = args[:labels] if args.key?(:labels)
554
+ @name = args[:name] if args.key?(:name)
555
+ @state = args[:state] if args.key?(:state)
556
+ @update_time = args[:update_time] if args.key?(:update_time)
557
+ end
558
+ end
559
+
560
+ # Configuration settings for Gateways.
561
+ class ApigatewayGatewayConfig
562
+ include Google::Apis::Core::Hashable
563
+
564
+ # Configuration for a backend.
565
+ # Corresponds to the JSON property `backendConfig`
566
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayBackendConfig]
567
+ attr_accessor :backend_config
568
+
569
+ def initialize(**args)
570
+ update!(**args)
571
+ end
572
+
573
+ # Update properties of this object
574
+ def update!(**args)
575
+ @backend_config = args[:backend_config] if args.key?(:backend_config)
576
+ end
577
+ end
578
+
579
+ # Response message for ApiGatewayService.ListApiConfigs
580
+ class ApigatewayListApiConfigsResponse
581
+ include Google::Apis::Core::Hashable
582
+
583
+ # API Configs.
584
+ # Corresponds to the JSON property `apiConfigs`
585
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApiConfig>]
586
+ attr_accessor :api_configs
587
+
588
+ # Next page token.
589
+ # Corresponds to the JSON property `nextPageToken`
590
+ # @return [String]
591
+ attr_accessor :next_page_token
592
+
593
+ # Locations that could not be reached.
594
+ # Corresponds to the JSON property `unreachableLocations`
595
+ # @return [Array<String>]
596
+ attr_accessor :unreachable_locations
597
+
598
+ def initialize(**args)
599
+ update!(**args)
600
+ end
601
+
602
+ # Update properties of this object
603
+ def update!(**args)
604
+ @api_configs = args[:api_configs] if args.key?(:api_configs)
605
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
606
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
607
+ end
608
+ end
609
+
610
+ # Response message for ApiGatewayService.ListApis
611
+ class ApigatewayListApisResponse
612
+ include Google::Apis::Core::Hashable
613
+
614
+ # APIs.
615
+ # Corresponds to the JSON property `apis`
616
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayApi>]
617
+ attr_accessor :apis
618
+
619
+ # Next page token.
620
+ # Corresponds to the JSON property `nextPageToken`
621
+ # @return [String]
622
+ attr_accessor :next_page_token
623
+
624
+ # Locations that could not be reached.
625
+ # Corresponds to the JSON property `unreachableLocations`
626
+ # @return [Array<String>]
627
+ attr_accessor :unreachable_locations
628
+
629
+ def initialize(**args)
630
+ update!(**args)
631
+ end
632
+
633
+ # Update properties of this object
634
+ def update!(**args)
635
+ @apis = args[:apis] if args.key?(:apis)
636
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
637
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
638
+ end
639
+ end
640
+
641
+ # Response message for ApiGatewayService.ListGateways
642
+ class ApigatewayListGatewaysResponse
643
+ include Google::Apis::Core::Hashable
644
+
645
+ # Gateways.
646
+ # Corresponds to the JSON property `gateways`
647
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayGateway>]
648
+ attr_accessor :gateways
649
+
650
+ # Next page token.
651
+ # Corresponds to the JSON property `nextPageToken`
652
+ # @return [String]
653
+ attr_accessor :next_page_token
654
+
655
+ # Locations that could not be reached.
656
+ # Corresponds to the JSON property `unreachableLocations`
657
+ # @return [Array<String>]
658
+ attr_accessor :unreachable_locations
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @gateways = args[:gateways] if args.key?(:gateways)
667
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
668
+ @unreachable_locations = args[:unreachable_locations] if args.key?(:unreachable_locations)
669
+ end
670
+ end
671
+
672
+ # The response message for Locations.ListLocations.
673
+ class ApigatewayListLocationsResponse
674
+ include Google::Apis::Core::Hashable
675
+
676
+ # A list of locations that matches the specified filter in the request.
677
+ # Corresponds to the JSON property `locations`
678
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayLocation>]
679
+ attr_accessor :locations
680
+
681
+ # The standard List next-page token.
682
+ # Corresponds to the JSON property `nextPageToken`
683
+ # @return [String]
684
+ attr_accessor :next_page_token
685
+
686
+ def initialize(**args)
687
+ update!(**args)
688
+ end
689
+
690
+ # Update properties of this object
691
+ def update!(**args)
692
+ @locations = args[:locations] if args.key?(:locations)
693
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
694
+ end
695
+ end
696
+
697
+ # The response message for Operations.ListOperations.
698
+ class ApigatewayListOperationsResponse
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # The standard List next-page token.
702
+ # Corresponds to the JSON property `nextPageToken`
703
+ # @return [String]
704
+ attr_accessor :next_page_token
705
+
706
+ # A list of operations that matches the specified filter in the request.
707
+ # Corresponds to the JSON property `operations`
708
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayOperation>]
709
+ attr_accessor :operations
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
718
+ @operations = args[:operations] if args.key?(:operations)
719
+ end
720
+ end
721
+
722
+ # A resource that represents Google Cloud Platform location.
723
+ class ApigatewayLocation
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # The friendly name for this location, typically a nearby city name. For example,
727
+ # "Tokyo".
728
+ # Corresponds to the JSON property `displayName`
729
+ # @return [String]
730
+ attr_accessor :display_name
731
+
732
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
733
+ # region": "us-east1"`
734
+ # Corresponds to the JSON property `labels`
735
+ # @return [Hash<String,String>]
736
+ attr_accessor :labels
737
+
738
+ # The canonical id for this location. For example: `"us-east1"`.
739
+ # Corresponds to the JSON property `locationId`
740
+ # @return [String]
741
+ attr_accessor :location_id
742
+
743
+ # Service-specific metadata. For example the available capacity at the given
744
+ # location.
745
+ # Corresponds to the JSON property `metadata`
746
+ # @return [Hash<String,Object>]
747
+ attr_accessor :metadata
748
+
749
+ # Resource name for the location, which may vary between implementations. For
750
+ # example: `"projects/example-project/locations/us-east1"`
751
+ # Corresponds to the JSON property `name`
752
+ # @return [String]
753
+ attr_accessor :name
754
+
755
+ def initialize(**args)
756
+ update!(**args)
757
+ end
758
+
759
+ # Update properties of this object
760
+ def update!(**args)
761
+ @display_name = args[:display_name] if args.key?(:display_name)
762
+ @labels = args[:labels] if args.key?(:labels)
763
+ @location_id = args[:location_id] if args.key?(:location_id)
764
+ @metadata = args[:metadata] if args.key?(:metadata)
765
+ @name = args[:name] if args.key?(:name)
766
+ end
767
+ end
768
+
769
+ # This resource represents a long-running operation that is the result of a
770
+ # network API call.
771
+ class ApigatewayOperation
772
+ include Google::Apis::Core::Hashable
773
+
774
+ # If the value is `false`, it means the operation is still in progress. If `true`
775
+ # , the operation is completed, and either `error` or `response` is available.
776
+ # Corresponds to the JSON property `done`
777
+ # @return [Boolean]
778
+ attr_accessor :done
779
+ alias_method :done?, :done
780
+
781
+ # The `Status` type defines a logical error model that is suitable for different
782
+ # programming environments, including REST APIs and RPC APIs. It is used by [
783
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
784
+ # data: error code, error message, and error details. You can find out more
785
+ # about this error model and how to work with it in the [API Design Guide](https:
786
+ # //cloud.google.com/apis/design/errors).
787
+ # Corresponds to the JSON property `error`
788
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayStatus]
789
+ attr_accessor :error
790
+
791
+ # Service-specific metadata associated with the operation. It typically contains
792
+ # progress information and common metadata such as create time. Some services
793
+ # might not provide such metadata. Any method that returns a long-running
794
+ # operation should document the metadata type, if any.
795
+ # Corresponds to the JSON property `metadata`
796
+ # @return [Hash<String,Object>]
797
+ attr_accessor :metadata
798
+
799
+ # The server-assigned name, which is only unique within the same service that
800
+ # originally returns it. If you use the default HTTP mapping, the `name` should
801
+ # be a resource name ending with `operations/`unique_id``.
802
+ # Corresponds to the JSON property `name`
803
+ # @return [String]
804
+ attr_accessor :name
805
+
806
+ # The normal response of the operation in case of success. If the original
807
+ # method returns no data on success, such as `Delete`, the response is `google.
808
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
809
+ # the response should be the resource. For other methods, the response should
810
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
811
+ # example, if the original method name is `TakeSnapshot()`, the inferred
812
+ # response type is `TakeSnapshotResponse`.
813
+ # Corresponds to the JSON property `response`
814
+ # @return [Hash<String,Object>]
815
+ attr_accessor :response
816
+
817
+ def initialize(**args)
818
+ update!(**args)
819
+ end
820
+
821
+ # Update properties of this object
822
+ def update!(**args)
823
+ @done = args[:done] if args.key?(:done)
824
+ @error = args[:error] if args.key?(:error)
825
+ @metadata = args[:metadata] if args.key?(:metadata)
826
+ @name = args[:name] if args.key?(:name)
827
+ @response = args[:response] if args.key?(:response)
828
+ end
829
+ end
830
+
831
+ # Represents the metadata of the long-running operation.
832
+ class ApigatewayOperationMetadata
833
+ include Google::Apis::Core::Hashable
834
+
835
+ # Output only. API version used to start the operation.
836
+ # Corresponds to the JSON property `apiVersion`
837
+ # @return [String]
838
+ attr_accessor :api_version
839
+
840
+ # Output only. The time the operation was created.
841
+ # Corresponds to the JSON property `createTime`
842
+ # @return [String]
843
+ attr_accessor :create_time
844
+
845
+ # Output only. Diagnostics generated during processing of configuration source
846
+ # files.
847
+ # Corresponds to the JSON property `diagnostics`
848
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayOperationMetadataDiagnostic>]
849
+ attr_accessor :diagnostics
850
+
851
+ # Output only. The time the operation finished running.
852
+ # Corresponds to the JSON property `endTime`
853
+ # @return [String]
854
+ attr_accessor :end_time
855
+
856
+ # Output only. Identifies whether the user has requested cancellation of the
857
+ # operation. Operations that have successfully been cancelled have Operation.
858
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
859
+ # CANCELLED`.
860
+ # Corresponds to the JSON property `requestedCancellation`
861
+ # @return [Boolean]
862
+ attr_accessor :requested_cancellation
863
+ alias_method :requested_cancellation?, :requested_cancellation
864
+
865
+ # Output only. Human-readable status of the operation, if any.
866
+ # Corresponds to the JSON property `statusMessage`
867
+ # @return [String]
868
+ attr_accessor :status_message
869
+
870
+ # Output only. Server-defined resource path for the target of the operation.
871
+ # Corresponds to the JSON property `target`
872
+ # @return [String]
873
+ attr_accessor :target
874
+
875
+ # Output only. Name of the verb executed by the operation.
876
+ # Corresponds to the JSON property `verb`
877
+ # @return [String]
878
+ attr_accessor :verb
879
+
880
+ def initialize(**args)
881
+ update!(**args)
882
+ end
883
+
884
+ # Update properties of this object
885
+ def update!(**args)
886
+ @api_version = args[:api_version] if args.key?(:api_version)
887
+ @create_time = args[:create_time] if args.key?(:create_time)
888
+ @diagnostics = args[:diagnostics] if args.key?(:diagnostics)
889
+ @end_time = args[:end_time] if args.key?(:end_time)
890
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
891
+ @status_message = args[:status_message] if args.key?(:status_message)
892
+ @target = args[:target] if args.key?(:target)
893
+ @verb = args[:verb] if args.key?(:verb)
894
+ end
895
+ end
896
+
897
+ # Diagnostic information from configuration processing.
898
+ class ApigatewayOperationMetadataDiagnostic
899
+ include Google::Apis::Core::Hashable
900
+
901
+ # Location of the diagnostic.
902
+ # Corresponds to the JSON property `location`
903
+ # @return [String]
904
+ attr_accessor :location
905
+
906
+ # The diagnostic message.
907
+ # Corresponds to the JSON property `message`
908
+ # @return [String]
909
+ attr_accessor :message
910
+
911
+ def initialize(**args)
912
+ update!(**args)
913
+ end
914
+
915
+ # Update properties of this object
916
+ def update!(**args)
917
+ @location = args[:location] if args.key?(:location)
918
+ @message = args[:message] if args.key?(:message)
919
+ end
920
+ end
921
+
922
+ # An Identity and Access Management (IAM) policy, which specifies access
923
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
924
+ # A `binding` binds one or more `members` to a single `role`. Members can be
925
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
926
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
927
+ # role or a user-created custom role. For some types of Google Cloud resources,
928
+ # a `binding` can also specify a `condition`, which is a logical expression that
929
+ # allows access to a resource only if the expression evaluates to `true`. A
930
+ # condition can add constraints based on attributes of the request, the resource,
931
+ # or both. To learn which resources support conditions in their IAM policies,
932
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
933
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
934
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
935
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
936
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
937
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
938
+ # title": "expirable access", "description": "Does not grant access after Sep
939
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
940
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
941
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
942
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
943
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
944
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
945
+ # description: Does not grant access after Sep 2020 expression: request.time <
946
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
947
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
948
+ # google.com/iam/docs/).
949
+ class ApigatewayPolicy
950
+ include Google::Apis::Core::Hashable
951
+
952
+ # Specifies cloud audit logging configuration for this policy.
953
+ # Corresponds to the JSON property `auditConfigs`
954
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayAuditConfig>]
955
+ attr_accessor :audit_configs
956
+
957
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
958
+ # condition` that determines how and when the `bindings` are applied. Each of
959
+ # the `bindings` must contain at least one member.
960
+ # Corresponds to the JSON property `bindings`
961
+ # @return [Array<Google::Apis::ApigatewayV1beta::ApigatewayBinding>]
962
+ attr_accessor :bindings
963
+
964
+ # `etag` is used for optimistic concurrency control as a way to help prevent
965
+ # simultaneous updates of a policy from overwriting each other. It is strongly
966
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
967
+ # to perform policy updates in order to avoid race conditions: An `etag` is
968
+ # returned in the response to `getIamPolicy`, and systems are expected to put
969
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
970
+ # applied to the same version of the policy. **Important:** If you use IAM
971
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
972
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
973
+ # with a version `1` policy, and all of the conditions in the version `3` policy
974
+ # are lost.
975
+ # Corresponds to the JSON property `etag`
976
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
977
+ # @return [String]
978
+ attr_accessor :etag
979
+
980
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
981
+ # Requests that specify an invalid value are rejected. Any operation that
982
+ # affects conditional role bindings must specify version `3`. This requirement
983
+ # applies to the following operations: * Getting a policy that includes a
984
+ # conditional role binding * Adding a conditional role binding to a policy *
985
+ # Changing a conditional role binding in a policy * Removing any role binding,
986
+ # with or without a condition, from a policy that includes conditions **
987
+ # Important:** If you use IAM Conditions, you must include the `etag` field
988
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
989
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
990
+ # conditions in the version `3` policy are lost. If a policy does not include
991
+ # any conditions, operations on that policy may specify any valid version or
992
+ # leave the field unset. To learn which resources support conditions in their
993
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
994
+ # conditions/resource-policies).
995
+ # Corresponds to the JSON property `version`
996
+ # @return [Fixnum]
997
+ attr_accessor :version
998
+
999
+ def initialize(**args)
1000
+ update!(**args)
1001
+ end
1002
+
1003
+ # Update properties of this object
1004
+ def update!(**args)
1005
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1006
+ @bindings = args[:bindings] if args.key?(:bindings)
1007
+ @etag = args[:etag] if args.key?(:etag)
1008
+ @version = args[:version] if args.key?(:version)
1009
+ end
1010
+ end
1011
+
1012
+ # Request message for `SetIamPolicy` method.
1013
+ class ApigatewaySetIamPolicyRequest
1014
+ include Google::Apis::Core::Hashable
1015
+
1016
+ # An Identity and Access Management (IAM) policy, which specifies access
1017
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1018
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1019
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1020
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1021
+ # role or a user-created custom role. For some types of Google Cloud resources,
1022
+ # a `binding` can also specify a `condition`, which is a logical expression that
1023
+ # allows access to a resource only if the expression evaluates to `true`. A
1024
+ # condition can add constraints based on attributes of the request, the resource,
1025
+ # or both. To learn which resources support conditions in their IAM policies,
1026
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1027
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1028
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1029
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1030
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1031
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1032
+ # title": "expirable access", "description": "Does not grant access after Sep
1033
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1034
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1035
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1036
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1037
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1038
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1039
+ # description: Does not grant access after Sep 2020 expression: request.time <
1040
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1041
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1042
+ # google.com/iam/docs/).
1043
+ # Corresponds to the JSON property `policy`
1044
+ # @return [Google::Apis::ApigatewayV1beta::ApigatewayPolicy]
1045
+ attr_accessor :policy
1046
+
1047
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1048
+ # the fields in the mask will be modified. If no mask is provided, the following
1049
+ # default mask is used: `paths: "bindings, etag"`
1050
+ # Corresponds to the JSON property `updateMask`
1051
+ # @return [String]
1052
+ attr_accessor :update_mask
1053
+
1054
+ def initialize(**args)
1055
+ update!(**args)
1056
+ end
1057
+
1058
+ # Update properties of this object
1059
+ def update!(**args)
1060
+ @policy = args[:policy] if args.key?(:policy)
1061
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1062
+ end
1063
+ end
1064
+
1065
+ # The `Status` type defines a logical error model that is suitable for different
1066
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1067
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1068
+ # data: error code, error message, and error details. You can find out more
1069
+ # about this error model and how to work with it in the [API Design Guide](https:
1070
+ # //cloud.google.com/apis/design/errors).
1071
+ class ApigatewayStatus
1072
+ include Google::Apis::Core::Hashable
1073
+
1074
+ # The status code, which should be an enum value of google.rpc.Code.
1075
+ # Corresponds to the JSON property `code`
1076
+ # @return [Fixnum]
1077
+ attr_accessor :code
1078
+
1079
+ # A list of messages that carry the error details. There is a common set of
1080
+ # message types for APIs to use.
1081
+ # Corresponds to the JSON property `details`
1082
+ # @return [Array<Hash<String,Object>>]
1083
+ attr_accessor :details
1084
+
1085
+ # A developer-facing error message, which should be in English. Any user-facing
1086
+ # error message should be localized and sent in the google.rpc.Status.details
1087
+ # field, or localized by the client.
1088
+ # Corresponds to the JSON property `message`
1089
+ # @return [String]
1090
+ attr_accessor :message
1091
+
1092
+ def initialize(**args)
1093
+ update!(**args)
1094
+ end
1095
+
1096
+ # Update properties of this object
1097
+ def update!(**args)
1098
+ @code = args[:code] if args.key?(:code)
1099
+ @details = args[:details] if args.key?(:details)
1100
+ @message = args[:message] if args.key?(:message)
1101
+ end
1102
+ end
1103
+
1104
+ # Request message for `TestIamPermissions` method.
1105
+ class ApigatewayTestIamPermissionsRequest
1106
+ include Google::Apis::Core::Hashable
1107
+
1108
+ # The set of permissions to check for the `resource`. Permissions with wildcards
1109
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
1110
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1111
+ # Corresponds to the JSON property `permissions`
1112
+ # @return [Array<String>]
1113
+ attr_accessor :permissions
1114
+
1115
+ def initialize(**args)
1116
+ update!(**args)
1117
+ end
1118
+
1119
+ # Update properties of this object
1120
+ def update!(**args)
1121
+ @permissions = args[:permissions] if args.key?(:permissions)
1122
+ end
1123
+ end
1124
+
1125
+ # Response message for `TestIamPermissions` method.
1126
+ class ApigatewayTestIamPermissionsResponse
1127
+ include Google::Apis::Core::Hashable
1128
+
1129
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1130
+ # Corresponds to the JSON property `permissions`
1131
+ # @return [Array<String>]
1132
+ attr_accessor :permissions
1133
+
1134
+ def initialize(**args)
1135
+ update!(**args)
1136
+ end
1137
+
1138
+ # Update properties of this object
1139
+ def update!(**args)
1140
+ @permissions = args[:permissions] if args.key?(:permissions)
1141
+ end
1142
+ end
1143
+
1144
+ # A generic empty message that you can re-use to avoid defining duplicated empty
1145
+ # messages in your APIs. A typical example is to use it as the request or the
1146
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
1147
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
1148
+ # `Empty` is empty JSON object ````.
1149
+ class Empty
1150
+ include Google::Apis::Core::Hashable
1151
+
1152
+ def initialize(**args)
1153
+ update!(**args)
1154
+ end
1155
+
1156
+ # Update properties of this object
1157
+ def update!(**args)
1158
+ end
1159
+ end
1160
+ end
1161
+ end
1162
+ end