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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4cf9aed2e7ad1e0d517672ac8c80aef43afca0178bdb548f01f4ccf6dc438700
4
- data.tar.gz: c884e7459a1fe60d844ce835c5996c0f630eb72bee4eb7090202535d255d16cf
3
+ metadata.gz: 7731c684db7d4a0731ccc0bb8c3e716505536f2d3ce140bf9976e8da90ba27f2
4
+ data.tar.gz: 2a2711d7c31ed7049b9a9fa92ef8f62c4bb93c1c63151bbeff7d27ac3dcc7944
5
5
  SHA512:
6
- metadata.gz: 689d97934acb44994f2ec76b69e6b5d8ac139fbeba821a62ad3c13474686f08799bdf4d86872efbf989e054ad997f34d512716c3de2e54351f8fb145035eb884
7
- data.tar.gz: ade510d661a01da090c2e0c8a703bbbcbb3caaf0af94642199c95c1b79443566eba40e7ce6d0146c19d5766471b42c1a1221217ddca076b5b8f297a865e0f528
6
+ metadata.gz: a9c3603aa094ca3be4f126d657f79ca5144cb1e7e42d8dc3da82fc38feb0c76f4fa07fda94e69b5170c7052ca5fa891a9445d83b532159eea1b2206cc786d033
7
+ data.tar.gz: 165d53b6017f25365cddb12397d6251619cd22e62834c1ed517d3ed00c1f6cb80060273e18bc9c9f26c69a517b4a3453932c95d4c46f8f7bff00cca93fae6524
data/.yardopts CHANGED
@@ -9,18 +9,4 @@ lib/**/*.rb
9
9
  generated/**/*.rb
10
10
  -
11
11
  OVERVIEW.md
12
- docs/getting-started.md
13
- docs/installation.md
14
- docs/auth.md
15
- docs/api-keys.md
16
- docs/oauth.md
17
- docs/oauth-web.md
18
- docs/oauth-installed.md
19
- docs/oauth-server.md
20
- docs/client-secrets.md
21
- docs/logging.md
22
- docs/media-upload.md
23
- docs/pagination.md
24
- docs/performance.md
25
- MIGRATING.md
26
12
  LICENSE
@@ -1,5 +1,11 @@
1
1
  # Release History
2
2
 
3
+ ## [0.53.0](https://www.github.com/googleapis/google-api-ruby-client/compare/google-api-client/v0.52.0...v0.53.0) (2021-01-18)
4
+
5
+ ** google-api-client is now deprecated **
6
+
7
+ This gem includes API client classes for >300 Google APIs (updated as of December 2020). At the end of 2020, it was split into separate gems for each API. Instead of google-api-client, please install the separate gem corresponding to the specific service to be used. For example, to use the Google Drive V3 client, install `google-apis-drive_v3`. For more information, please see the [FAQ](https://github.com/googleapis/google-api-ruby-client/blob/master/google-api-client/OVERVIEW.md). The google-api-client gem will no longer be updated from this point.
8
+
3
9
  ## [0.52.0](https://www.github.com/googleapis/google-api-ruby-client/compare/v0.51.0...v0.52.0) (2020-12-14)
4
10
 
5
11
 
@@ -1,36 +1,45 @@
1
- # Google API Client Library for Ruby Docs
1
+ # Monolithic Client for Google APIs (DEPRECATED)
2
2
 
3
- The Google API Client Library for Ruby is designed for Ruby
4
- client-application developers. It offers simple, flexible
5
- access to many Google APIs.
3
+ This library includes REST clients for all public [Discovery]((https://developers.google.com/discovery))-based Google APIs as of December 2020.
6
4
 
7
- ## Features
5
+ This library is **deprecated** and will likely not be updated further. Instead, please install the gem corresponding to the specific service you want to use. For example, to use the Google Drive V3 client, install the `google-apis-drive_v3` gem. To use the code generator, install the `google-apis-generator` gem.
8
6
 
9
- - Call Google APIs simply
10
- - Handle Auth with fewer lines of code
11
- - Use standard tooling for installation
7
+ ## FAQ
12
8
 
13
- ## Documentation
9
+ ### Why is this gem deprecated?
14
10
 
15
- Learn how to use the Google API Client Library for Ruby with these guides:
11
+ The `google-api-client` gem is a 75 megabyte installation including client classes for more than 300 services. Although the library is designed so that only the classes being used are loaded into memory, it still takes a nontrivial amount of space on disk (and in deployments), and can take a while to install. Additionally, the class reference documentation is so large that rubydoc.info often fails to build it.
16
12
 
17
- ### Usage Guides
13
+ Because few applications would use more than one or two of the included clients at a time, it was decided to release a separate gem for each client.
18
14
 
19
- - {file:docs/getting-started.md Getting Started}
20
- - {file:docs/installation.md Installation}
21
- - {file:docs/auth.md Auth}
22
- - {file:docs/api-keys.md API Keys}
23
- - {file:docs/oauth.md OAuth 2.0}
24
- - {file:docs/oauth-web.md OAuth 2.0 for Web Server Applications}
25
- - {file:docs/oauth-installed.md OAuth 2.0 for Installed Applications}
26
- - {file:docs/oauth-server.md OAuth 2.0 for Server to Server Applications}
27
- - {file:docs/client-secrets.md Client Secrets}
28
- - How to...
29
- - {file:docs/logging.md Use Logging}
30
- - {file:docs/media-upload.md Upload Media}
31
- - {file:docs/pagination.md Use Pagination}
32
- - {file:docs/performance.md Improve Performance}
15
+ ### How do I find the service-specific gem to use instead?
33
16
 
34
- ### Reference Documentation
17
+ The service-specific gems are all named according to the pattern: `google-apis-<servicename>_<serviceversion>`. For example, `google-apis-drive_v3` or `google-apis-billingbudgets_v1beta1`. If you already have code that uses a client class, it's very straightforward: Look for the `require 'google/apis/servicenameandversion'` statement in your code, and replace slashes with dashes in the path, and you'll have the gem name.
35
18
 
36
- - Reference documentation for [google-api-client](https://googleapis.dev/ruby/google-api-client/latest/index.html).
19
+ ### Are the service-specific gems drop-in compatible?
20
+
21
+ Yes, the client code has been copied as-is into the separate clients. The common code has been extracted as-is into a separate gem `google-apis-core` which is a dependency. So all existing usage should remain the same. You can simply replace `google-api-client` with the appropriate individual client libraries in your Gemfile, and your existing code should work as before (just with a much smaller dependency).
22
+
23
+ ### I still need to use the code generator. What should I do?
24
+
25
+ The code generator has been extracted into the `google-apis-generator` gem, and you should use that gem from now on to build custom clients for private, partner, and early-access APIs. Note that the generator has been modified to build an entire client gem as opposed to just client classes (although you can simply copy the relevant Ruby files into your own code if you do not want a separate gem.)
26
+
27
+ ### This library is a dependency of a library I use. What should I do?
28
+
29
+ Some third-party libraries take a dependency on `google-api-client` to communicate with Google APIs. These libraries should be updated to depend instead on the individual service gems they need. Please contact the library maintainer.
30
+
31
+ ### A documentation page or tutorial is directing me to install this library. Should I?
32
+
33
+ You should instead install the individual gems corresponding to the specific service and service version. (For example, to use the Google Drive V3 client, install the `google-apis-drive_v3` gem.)
34
+
35
+ Please contact the owners of the documentation or tutorial that is referencing the old `google-api-client` gem and ask them to update their content. For documentation on the developers.google.com or cloud.google.com sites, look for a "Send Feedback" button toward the upper right of the page.
36
+
37
+ ### Can I still use google-api-client anyway?
38
+
39
+ Yes, the gem will continue to be available, _but_ it will likely not be updated any further. So it will not reflect any future updates to the API surface, and if you report issues, we will likely direct you to use the appropriate service-specific gem instead.
40
+
41
+ ### Where is the documentation?
42
+
43
+ Reference documentation is now available separately for each service-specific gem. Reference documentation for common classes (such as `RequestOptions`) is connected to the common gem `google-apis-core`.
44
+
45
+ Basic usage documentaiton is provided with each service-specific gem. Some more detailed documentation including how to implement OAuth flows, is available in the [docs directory of the repo](https://github.com/googleapis/google-api-ruby-client/tree/master/docs).
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/access-context-manager/docs/reference/rest/
26
26
  module AccesscontextmanagerV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200927'
28
+ REVISION = '20201210'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -118,6 +118,36 @@ module Google
118
118
  end
119
119
  end
120
120
 
121
+ # Identification for an API Operation.
122
+ class ApiOperation
123
+ include Google::Apis::Core::Hashable
124
+
125
+ # API methods or permissions to allow. Method or permission must belong to the
126
+ # service specified by `service_name` field. A single MethodSelector entry with `
127
+ # *` specified for the `method` field will allow all methods AND permissions for
128
+ # the service specified in `service_name`.
129
+ # Corresponds to the JSON property `methodSelectors`
130
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::MethodSelector>]
131
+ attr_accessor :method_selectors
132
+
133
+ # The name of the API whose methods or permissions the IngressPolicy or
134
+ # EgressPolicy want to allow. A single ApiOperation with `service_name` field
135
+ # set to `*` will allow all methods AND permissions for all services.
136
+ # Corresponds to the JSON property `serviceName`
137
+ # @return [String]
138
+ attr_accessor :service_name
139
+
140
+ def initialize(**args)
141
+ update!(**args)
142
+ end
143
+
144
+ # Update properties of this object
145
+ def update!(**args)
146
+ @method_selectors = args[:method_selectors] if args.key?(:method_selectors)
147
+ @service_name = args[:service_name] if args.key?(:service_name)
148
+ end
149
+ end
150
+
121
151
  # `BasicLevel` is an `AccessLevel` using a set of recommended features.
122
152
  class BasicLevel
123
153
  include Google::Apis::Core::Hashable
@@ -375,6 +405,116 @@ module Google
375
405
  end
376
406
  end
377
407
 
408
+ # Defines the conditions under which an EgressPolicy matches a request.
409
+ # Conditions based on information about the source of the request. Note that if
410
+ # the destination of the request is protected by a ServicePerimeter, then that
411
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
412
+ # this request to succeed.
413
+ class EgressFrom
414
+ include Google::Apis::Core::Hashable
415
+
416
+ # A list of identities that are allowed access through this [EgressPolicy].
417
+ # Should be in the format of email address. The email address should represent
418
+ # individual user or service account only.
419
+ # Corresponds to the JSON property `identities`
420
+ # @return [Array<String>]
421
+ attr_accessor :identities
422
+
423
+ # Specifies the type of identities that are allowed access to outside the
424
+ # perimeter. If left unspecified, then members of `identities` field will be
425
+ # allowed access.
426
+ # Corresponds to the JSON property `identityType`
427
+ # @return [String]
428
+ attr_accessor :identity_type
429
+
430
+ def initialize(**args)
431
+ update!(**args)
432
+ end
433
+
434
+ # Update properties of this object
435
+ def update!(**args)
436
+ @identities = args[:identities] if args.key?(:identities)
437
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
438
+ end
439
+ end
440
+
441
+ # Policy for egress from perimeter. EgressPolicies match requests based on `
442
+ # egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `
443
+ # egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy
444
+ # matches a request, the request is allowed to span the ServicePerimeter
445
+ # boundary. For example, an EgressPolicy can be used to allow VMs on networks
446
+ # within the ServicePerimeter to access a defined set of projects outside the
447
+ # perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket
448
+ # or query against a BigQuery dataset). EgressPolicies are concerned with the *
449
+ # resources* that a request relates as well as the API services and API actions
450
+ # being used. They do not related to the direction of data movement. More
451
+ # detailed documentation for this concept can be found in the descriptions of
452
+ # EgressFrom and EgressTo.
453
+ class EgressPolicy
454
+ include Google::Apis::Core::Hashable
455
+
456
+ # Defines the conditions under which an EgressPolicy matches a request.
457
+ # Conditions based on information about the source of the request. Note that if
458
+ # the destination of the request is protected by a ServicePerimeter, then that
459
+ # ServicePerimeter must have an IngressPolicy which allows access in order for
460
+ # this request to succeed.
461
+ # Corresponds to the JSON property `egressFrom`
462
+ # @return [Google::Apis::AccesscontextmanagerV1::EgressFrom]
463
+ attr_accessor :egress_from
464
+
465
+ # Defines the conditions under which an EgressPolicy matches a request.
466
+ # Conditions are based on information about the ApiOperation intended to be
467
+ # performed on the `resources` specified. Note that if the destination of the
468
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
469
+ # have an IngressPolicy which allows access in order for this request to succeed.
470
+ # Corresponds to the JSON property `egressTo`
471
+ # @return [Google::Apis::AccesscontextmanagerV1::EgressTo]
472
+ attr_accessor :egress_to
473
+
474
+ def initialize(**args)
475
+ update!(**args)
476
+ end
477
+
478
+ # Update properties of this object
479
+ def update!(**args)
480
+ @egress_from = args[:egress_from] if args.key?(:egress_from)
481
+ @egress_to = args[:egress_to] if args.key?(:egress_to)
482
+ end
483
+ end
484
+
485
+ # Defines the conditions under which an EgressPolicy matches a request.
486
+ # Conditions are based on information about the ApiOperation intended to be
487
+ # performed on the `resources` specified. Note that if the destination of the
488
+ # request is protected by a ServicePerimeter, then that ServicePerimeter must
489
+ # have an IngressPolicy which allows access in order for this request to succeed.
490
+ class EgressTo
491
+ include Google::Apis::Core::Hashable
492
+
493
+ # A list of ApiOperations that this egress rule applies to. A request matches if
494
+ # it contains an operation/service in this list.
495
+ # Corresponds to the JSON property `operations`
496
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::ApiOperation>]
497
+ attr_accessor :operations
498
+
499
+ # A list of resources, currently only projects in the form `projects/`, that
500
+ # match this to stanza. A request matches if it contains a resource in this list.
501
+ # If `*` is specified for resources, then this EgressTo rule will authorize
502
+ # access to all resources outside the perimeter.
503
+ # Corresponds to the JSON property `resources`
504
+ # @return [Array<String>]
505
+ attr_accessor :resources
506
+
507
+ def initialize(**args)
508
+ update!(**args)
509
+ end
510
+
511
+ # Update properties of this object
512
+ def update!(**args)
513
+ @operations = args[:operations] if args.key?(:operations)
514
+ @resources = args[:resources] if args.key?(:resources)
515
+ end
516
+ end
517
+
378
518
  # A generic empty message that you can re-use to avoid defining duplicated empty
379
519
  # messages in your APIs. A typical example is to use it as the request or the
380
520
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -489,6 +629,148 @@ module Google
489
629
  end
490
630
  end
491
631
 
632
+ # Defines the conditions under which an IngressPolicy matches a request.
633
+ # Conditions are based on information about the source of the request.
634
+ class IngressFrom
635
+ include Google::Apis::Core::Hashable
636
+
637
+ # A list of identities that are allowed access through this ingress policy.
638
+ # Should be in the format of email address. The email address should represent
639
+ # individual user or service account only.
640
+ # Corresponds to the JSON property `identities`
641
+ # @return [Array<String>]
642
+ attr_accessor :identities
643
+
644
+ # Specifies the type of identities that are allowed access from outside the
645
+ # perimeter. If left unspecified, then members of `identities` field will be
646
+ # allowed access.
647
+ # Corresponds to the JSON property `identityType`
648
+ # @return [String]
649
+ attr_accessor :identity_type
650
+
651
+ # Sources that this IngressPolicy authorizes access from.
652
+ # Corresponds to the JSON property `sources`
653
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::IngressSource>]
654
+ attr_accessor :sources
655
+
656
+ def initialize(**args)
657
+ update!(**args)
658
+ end
659
+
660
+ # Update properties of this object
661
+ def update!(**args)
662
+ @identities = args[:identities] if args.key?(:identities)
663
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
664
+ @sources = args[:sources] if args.key?(:sources)
665
+ end
666
+ end
667
+
668
+ # Policy for ingress into ServicePerimeter. IngressPolicies match requests based
669
+ # on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match,
670
+ # both the `ingress_from` and `ingress_to` stanzas must be matched. If an
671
+ # IngressPolicy matches a request, the request is allowed through the perimeter
672
+ # boundary from outside the perimeter. For example, access from the internet can
673
+ # be allowed either based on an AccessLevel or, for traffic hosted on Google
674
+ # Cloud, the project of the source network. For access from private networks,
675
+ # using the project of the hosting network is required. Individual ingress
676
+ # policies can be limited by restricting which services and/or actions they
677
+ # match using the `ingress_to` field.
678
+ class IngressPolicy
679
+ include Google::Apis::Core::Hashable
680
+
681
+ # Defines the conditions under which an IngressPolicy matches a request.
682
+ # Conditions are based on information about the source of the request.
683
+ # Corresponds to the JSON property `ingressFrom`
684
+ # @return [Google::Apis::AccesscontextmanagerV1::IngressFrom]
685
+ attr_accessor :ingress_from
686
+
687
+ # Defines the conditions under which an IngressPolicy matches a request.
688
+ # Conditions are based on information about the ApiOperation intended to be
689
+ # performed on the destination of the request.
690
+ # Corresponds to the JSON property `ingressTo`
691
+ # @return [Google::Apis::AccesscontextmanagerV1::IngressTo]
692
+ attr_accessor :ingress_to
693
+
694
+ def initialize(**args)
695
+ update!(**args)
696
+ end
697
+
698
+ # Update properties of this object
699
+ def update!(**args)
700
+ @ingress_from = args[:ingress_from] if args.key?(:ingress_from)
701
+ @ingress_to = args[:ingress_to] if args.key?(:ingress_to)
702
+ end
703
+ end
704
+
705
+ # The source that IngressPolicy authorizes access from.
706
+ class IngressSource
707
+ include Google::Apis::Core::Hashable
708
+
709
+ # An AccessLevel resource name that allow resources within the ServicePerimeters
710
+ # to be accessed from the internet. AccessLevels listed must be in the same
711
+ # policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will
712
+ # cause an error. If no AccessLevel names are listed, resources within the
713
+ # perimeter can only be accessed via Google Cloud calls with request origins
714
+ # within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`
715
+ # . If `*` is specified, then all IngressSources will be allowed.
716
+ # Corresponds to the JSON property `accessLevel`
717
+ # @return [String]
718
+ attr_accessor :access_level
719
+
720
+ # A Google Cloud resource that is allowed to ingress the perimeter. Requests
721
+ # from these resources will be allowed to access perimeter data. Currently only
722
+ # projects are allowed. Format: `projects/`project_number`` The project may be
723
+ # in any Google Cloud organization, not just the organization that the perimeter
724
+ # is defined in. `*` is not allowed, the case of allowing all Google Cloud
725
+ # resources only is not supported.
726
+ # Corresponds to the JSON property `resource`
727
+ # @return [String]
728
+ attr_accessor :resource
729
+
730
+ def initialize(**args)
731
+ update!(**args)
732
+ end
733
+
734
+ # Update properties of this object
735
+ def update!(**args)
736
+ @access_level = args[:access_level] if args.key?(:access_level)
737
+ @resource = args[:resource] if args.key?(:resource)
738
+ end
739
+ end
740
+
741
+ # Defines the conditions under which an IngressPolicy matches a request.
742
+ # Conditions are based on information about the ApiOperation intended to be
743
+ # performed on the destination of the request.
744
+ class IngressTo
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # A list of ApiOperations the sources specified in corresponding IngressFrom are
748
+ # allowed to perform in this ServicePerimeter.
749
+ # Corresponds to the JSON property `operations`
750
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::ApiOperation>]
751
+ attr_accessor :operations
752
+
753
+ # A list of resources, currently only projects in the form `projects/`,
754
+ # protected by this ServicePerimeter that are allowed to be accessed by sources
755
+ # defined in the corresponding IngressFrom. A request matches if it contains a
756
+ # resource in this list. If `*` is specified for resources, then this IngressTo
757
+ # rule will authorize access to all resources inside the perimeter, provided
758
+ # that the request also matches the `operations` field.
759
+ # Corresponds to the JSON property `resources`
760
+ # @return [Array<String>]
761
+ attr_accessor :resources
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @operations = args[:operations] if args.key?(:operations)
770
+ @resources = args[:resources] if args.key?(:resources)
771
+ end
772
+ end
773
+
492
774
  # A response to `ListAccessLevelsRequest`.
493
775
  class ListAccessLevelsResponse
494
776
  include Google::Apis::Core::Hashable
@@ -617,6 +899,34 @@ module Google
617
899
  end
618
900
  end
619
901
 
902
+ # An allowed method or permission of a service specified in ApiOperation.
903
+ class MethodSelector
904
+ include Google::Apis::Core::Hashable
905
+
906
+ # Value for `method` should be a valid method name for the corresponding `
907
+ # service_name` in ApiOperation. If `*` used as value for `method`, then ALL
908
+ # methods and permissions are allowed.
909
+ # Corresponds to the JSON property `method`
910
+ # @return [String]
911
+ attr_accessor :method_prop
912
+
913
+ # Value for `permission` should be a valid Cloud IAM permission for the
914
+ # corresponding `service_name` in ApiOperation.
915
+ # Corresponds to the JSON property `permission`
916
+ # @return [String]
917
+ attr_accessor :permission
918
+
919
+ def initialize(**args)
920
+ update!(**args)
921
+ end
922
+
923
+ # Update properties of this object
924
+ def update!(**args)
925
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
926
+ @permission = args[:permission] if args.key?(:permission)
927
+ end
928
+ end
929
+
620
930
  # This resource represents a long-running operation that is the result of a
621
931
  # network API call.
622
932
  class Operation
@@ -916,6 +1226,20 @@ module Google
916
1226
  # @return [Array<String>]
917
1227
  attr_accessor :access_levels
918
1228
 
1229
+ # List of EgressPolicies to apply to the perimeter. A perimeter may have
1230
+ # multiple EgressPolicies, each of which is evaluated separately. Access is
1231
+ # granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
1232
+ # Corresponds to the JSON property `egressPolicies`
1233
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::EgressPolicy>]
1234
+ attr_accessor :egress_policies
1235
+
1236
+ # List of IngressPolicies to apply to the perimeter. A perimeter may have
1237
+ # multiple IngressPolicies, each of which is evaluated separately. Access is
1238
+ # granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
1239
+ # Corresponds to the JSON property `ingressPolicies`
1240
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::IngressPolicy>]
1241
+ attr_accessor :ingress_policies
1242
+
919
1243
  # A list of Google Cloud resources that are inside of the service perimeter.
920
1244
  # Currently only projects are allowed. Format: `projects/`project_number``
921
1245
  # Corresponds to the JSON property `resources`
@@ -941,6 +1265,8 @@ module Google
941
1265
  # Update properties of this object
942
1266
  def update!(**args)
943
1267
  @access_levels = args[:access_levels] if args.key?(:access_levels)
1268
+ @egress_policies = args[:egress_policies] if args.key?(:egress_policies)
1269
+ @ingress_policies = args[:ingress_policies] if args.key?(:ingress_policies)
944
1270
  @resources = args[:resources] if args.key?(:resources)
945
1271
  @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
946
1272
  @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)