google-api-client 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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