google-api-client 0.52.0 → 0.53.0

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