google-api-client 0.47.0 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +77 -0
  3. data/CHANGELOG.md +64 -0
  4. data/generated/google/apis/bigquery_v2.rb +1 -1
  5. data/generated/google/apis/bigquery_v2/service.rb +1 -1
  6. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  7. data/generated/google/apis/billingbudgets_v1/classes.rb +11 -0
  8. data/generated/google/apis/billingbudgets_v1/representations.rb +1 -0
  9. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  10. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +11 -0
  11. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  12. data/generated/google/apis/cloudasset_v1.rb +1 -1
  13. data/generated/google/apis/cloudasset_v1/classes.rb +697 -0
  14. data/generated/google/apis/cloudasset_v1/representations.rb +304 -0
  15. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  16. data/generated/google/apis/compute_v1.rb +1 -1
  17. data/generated/google/apis/compute_v1/classes.rb +238 -14
  18. data/generated/google/apis/compute_v1/representations.rb +41 -0
  19. data/generated/google/apis/compute_v1/service.rb +2 -0
  20. data/generated/google/apis/content_v2.rb +1 -1
  21. data/generated/google/apis/content_v2/service.rb +7 -7
  22. data/generated/google/apis/content_v2_1.rb +3 -4
  23. data/generated/google/apis/content_v2_1/classes.rb +899 -1054
  24. data/generated/google/apis/content_v2_1/representations.rb +206 -0
  25. data/generated/google/apis/content_v2_1/service.rb +912 -808
  26. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  27. data/generated/google/apis/datacatalog_v1beta1/classes.rb +24 -0
  28. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -0
  29. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  30. data/generated/google/apis/dataflow_v1b3/classes.rb +12 -0
  31. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  32. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  33. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  34. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  35. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  36. data/generated/google/apis/datastore_v1.rb +1 -1
  37. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  38. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  39. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  40. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  41. data/generated/google/apis/deploymentmanager_v2/classes.rb +203 -558
  42. data/generated/google/apis/deploymentmanager_v2/representations.rb +0 -132
  43. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  44. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  45. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +247 -609
  46. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +0 -132
  47. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  48. data/generated/google/apis/dialogflow_v2.rb +1 -1
  49. data/generated/google/apis/dialogflow_v2/classes.rb +20 -2
  50. data/generated/google/apis/dialogflow_v2/representations.rb +5 -2
  51. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  52. data/generated/google/apis/dialogflow_v2beta1/classes.rb +20 -2
  53. data/generated/google/apis/dialogflow_v2beta1/representations.rb +5 -2
  54. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  55. data/generated/google/apis/dialogflow_v3beta1/classes.rb +40 -2
  56. data/generated/google/apis/dialogflow_v3beta1/representations.rb +7 -2
  57. data/generated/google/apis/displayvideo_v1.rb +1 -1
  58. data/generated/google/apis/displayvideo_v1/classes.rb +178 -0
  59. data/generated/google/apis/displayvideo_v1/representations.rb +77 -0
  60. data/generated/google/apis/displayvideo_v1/service.rb +249 -9
  61. data/generated/google/apis/domains_v1alpha2.rb +1 -1
  62. data/generated/google/apis/domains_v1alpha2/classes.rb +6 -0
  63. data/generated/google/apis/domains_v1alpha2/representations.rb +1 -0
  64. data/generated/google/apis/domains_v1beta1.rb +1 -1
  65. data/generated/google/apis/domains_v1beta1/classes.rb +6 -0
  66. data/generated/google/apis/domains_v1beta1/representations.rb +1 -0
  67. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  68. data/generated/google/apis/eventarc_v1beta1/classes.rb +1 -3
  69. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  70. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  71. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  72. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  73. data/generated/google/apis/firestore_v1.rb +1 -1
  74. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  75. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  76. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  77. data/generated/google/apis/games_v1.rb +1 -1
  78. data/generated/google/apis/games_v1/classes.rb +300 -0
  79. data/generated/google/apis/games_v1/representations.rb +116 -0
  80. data/generated/google/apis/games_v1/service.rb +34 -0
  81. data/generated/google/apis/gameservices_v1.rb +1 -1
  82. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  83. data/generated/google/apis/iam_v1.rb +2 -5
  84. data/generated/google/apis/iam_v1/service.rb +1 -4
  85. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  86. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  87. data/generated/google/apis/logging_v2.rb +1 -1
  88. data/generated/google/apis/logging_v2/classes.rb +72 -0
  89. data/generated/google/apis/logging_v2/representations.rb +32 -0
  90. data/generated/google/apis/logging_v2/service.rb +345 -0
  91. data/generated/google/apis/people_v1.rb +1 -1
  92. data/generated/google/apis/people_v1/classes.rb +4 -4
  93. data/generated/google/apis/people_v1/service.rb +12 -12
  94. data/generated/google/apis/privateca_v1beta1.rb +34 -0
  95. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  96. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  97. data/generated/google/apis/privateca_v1beta1/service.rb +1487 -0
  98. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  99. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  100. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  101. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  102. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +1 -2
  103. data/generated/google/apis/safebrowsing_v4.rb +35 -0
  104. data/generated/google/apis/safebrowsing_v4/classes.rb +909 -0
  105. data/generated/google/apis/safebrowsing_v4/representations.rb +445 -0
  106. data/generated/google/apis/safebrowsing_v4/service.rb +286 -0
  107. data/generated/google/apis/secretmanager_v1.rb +1 -1
  108. data/generated/google/apis/secretmanager_v1/classes.rb +1 -2
  109. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  110. data/generated/google/apis/secretmanager_v1beta1/classes.rb +1 -2
  111. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  112. data/generated/google/apis/servicecontrol_v1/classes.rb +45 -0
  113. data/generated/google/apis/servicecontrol_v1/representations.rb +6 -0
  114. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  115. data/generated/google/apis/servicecontrol_v2/classes.rb +45 -0
  116. data/generated/google/apis/servicecontrol_v2/representations.rb +6 -0
  117. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  118. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -60
  119. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -18
  120. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  121. data/generated/google/apis/serviceusage_v1beta1/classes.rb +30 -0
  122. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -0
  123. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  124. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  125. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +0 -34
  126. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -16
  127. data/generated/google/apis/smartdevicemanagement_v1/service.rb +3 -8
  128. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  129. data/generated/google/apis/sqladmin_v1beta4/classes.rb +28 -4
  130. data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
  131. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  132. data/generated/google/apis/storagetransfer_v1/classes.rb +14 -5
  133. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  134. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  135. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  136. data/generated/google/apis/translate_v3.rb +1 -1
  137. data/generated/google/apis/translate_v3/classes.rb +2 -1
  138. data/generated/google/apis/translate_v3beta1.rb +1 -1
  139. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  140. data/generated/google/apis/vision_v1.rb +1 -1
  141. data/generated/google/apis/vision_v1/classes.rb +16 -16
  142. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  143. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  144. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  145. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  146. data/generated/google/apis/youtube_v3.rb +1 -1
  147. data/generated/google/apis/youtube_v3/service.rb +2 -2
  148. data/lib/google/apis/version.rb +1 -1
  149. metadata +16 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d524ef58d95f6f40c49a4fb929d11531ccf407e18e635633baadd56f5fda8c9c
4
- data.tar.gz: 1ecf5486e4f008bf233fd3a57180bd0f87b9cda76acab4ea376a52aa206cb195
3
+ metadata.gz: d72877f1c43ea818c98a641a7c86f5992f0f5f8d00b7e15ca22ce5721ffe1a80
4
+ data.tar.gz: df97df3400372ad44cc9c46399219e6826a3ef86a7721dde0c100a37b996a9b7
5
5
  SHA512:
6
- metadata.gz: ed2dff67297f014322e3e12a6ee97c3e7888b8987b658a667ee6f7380816543e73cb1e2d2eba5e9e192da7e99d598aefbf66dcdf296208d7f3be0ee0b8b1594b
7
- data.tar.gz: 48943a46b9f8683863635061cec57dec0b36981c753544ab6e647480f12254f485081614dbb60f425dcba7771c32ff737be75c0a5adc8c93f671b2b89121746a
6
+ metadata.gz: 9f8f5d7323df4dbfaec5fbc5d7e5738a0414a38114b5ab7305babe946e3a61e92cfba4666b14c5ab392cc1dfd7fa6886799e027a5deb6533e7a2864157fd4cf0
7
+ data.tar.gz: 614b1b0317f39b34da21d326cbfeeb67abb0a75b99552c1c3a76784cca7a3e2d05b8247034e0aacc411c808aa7a5b6b42779f41c6d75331758a90b354b59fc4e
@@ -0,0 +1,77 @@
1
+ on:
2
+ schedule:
3
+ - cron: '49 8 * * 1'
4
+ workflow_dispatch:
5
+
6
+ name: release-please
7
+ jobs:
8
+ release-please:
9
+ env:
10
+ ENABLE_AUTO_APPROVE: ${{ secrets.ENABLE_AUTO_APPROVE }}
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: ReleasePlease
14
+ uses: GoogleCloudPlatform/release-please-action@v2.5.7
15
+ with:
16
+ command: release-pr
17
+ token: ${{ secrets.YOSHI_CODE_BOT_TOKEN }}
18
+ fork: true
19
+ release-type: ruby
20
+ package-name: google-api-ruby-client
21
+ version-file: lib/google/apis/version.rb
22
+ monorepo-tags: true
23
+ bump-minor-pre-major: true
24
+ - name: AutoApprove
25
+ if: ${{ always() }}
26
+ uses: actions/github-script@v2
27
+ with:
28
+ github-token: ${{secrets.YOSHI_APPROVER_TOKEN}}
29
+ script: |
30
+ let found = false;
31
+ for (let tries = 3; tries > 0; tries--) {
32
+ await new Promise(r => setTimeout(r, 2000));
33
+ const prs = await github.pulls.list({
34
+ owner: 'googleapis',
35
+ repo: 'google-api-ruby-client',
36
+ state: 'open',
37
+ sort: 'created',
38
+ direction: 'desc',
39
+ per_page: 10
40
+ });
41
+ prs.data.forEach(function(pr) {
42
+ if (found || pr.user.login != "yoshi-code-bot" || !pr.title.startsWith("Release ")) {
43
+ return;
44
+ }
45
+ core.info("AutoApprove: Found release PR " + pr.number);
46
+ if (process.env.ENABLE_AUTO_APPROVE) {
47
+ core.info("ENABLE_AUTO_APPROVE is set; labeling and approving");
48
+ github.pulls.createReview({
49
+ owner: 'googleapis',
50
+ repo: 'google-api-ruby-client',
51
+ body: "AutoApprove: Rubber stamped release!",
52
+ pull_number: pr.number,
53
+ event: "APPROVE"
54
+ });
55
+ github.issues.addLabels({
56
+ owner: 'googleapis',
57
+ repo: 'google-api-ruby-client',
58
+ issue_number: pr.number,
59
+ labels: ["autorelease: pending", "automerge", "kokoro:force-run"]
60
+ });
61
+ } else {
62
+ core.info("ENABLE_AUTO_APPROVE is not set; labeling release only");
63
+ github.issues.addLabels({
64
+ owner: 'googleapis',
65
+ repo: 'google-api-ruby-client',
66
+ issue_number: pr.number,
67
+ labels: ["autorelease: pending", "kokoro:force-run"]
68
+ });
69
+ }
70
+ core.info("AutoApprove: complete!");
71
+ found = true;
72
+ tries = 0;
73
+ });
74
+ }
75
+ if (!found) {
76
+ core.setFailed("Unable to find release PR after 3 tries.");
77
+ }
@@ -1,5 +1,69 @@
1
1
  # Release History
2
2
 
3
+ ## [0.48.0](https://www.github.com/googleapis/google-api-ruby-client/compare/v0.47.0...v0.48.0) (2020-11-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * Automated regeneration of bigquery v2 client ([#1329](https://www.github.com/googleapis/google-api-ruby-client/issues/1329)) ([768d393](https://www.github.com/googleapis/google-api-ruby-client/commit/768d3937e6c487b755846b65267c20674e52a10c))
9
+ * Automated regeneration of billingbudgets v1 client ([#1288](https://www.github.com/googleapis/google-api-ruby-client/issues/1288)) ([43f8c49](https://www.github.com/googleapis/google-api-ruby-client/commit/43f8c49906a20d835a392b53ed58950473dfe285))
10
+ * Automated regeneration of billingbudgets v1beta1 client ([#1289](https://www.github.com/googleapis/google-api-ruby-client/issues/1289)) ([f091ed0](https://www.github.com/googleapis/google-api-ruby-client/commit/f091ed02ddb82dac41cc1762939611270586fdb3))
11
+ * Automated regeneration of cloudasset v1 client ([#1290](https://www.github.com/googleapis/google-api-ruby-client/issues/1290)) ([9a89003](https://www.github.com/googleapis/google-api-ruby-client/commit/9a89003a7c09c1981bf1d46ddd74c9997efaf69d))
12
+ * Automated regeneration of compute v1 client ([#1291](https://www.github.com/googleapis/google-api-ruby-client/issues/1291)) ([297ae6a](https://www.github.com/googleapis/google-api-ruby-client/commit/297ae6a7ec94d8fd6b1b7efcb0ae2f5fe1185a20))
13
+ * Automated regeneration of content v2 client ([#1316](https://www.github.com/googleapis/google-api-ruby-client/issues/1316)) ([678ac02](https://www.github.com/googleapis/google-api-ruby-client/commit/678ac02bab8db2cc5c59760e3a486dc4a192c845))
14
+ * Automated regeneration of content v2.1 client ([#1292](https://www.github.com/googleapis/google-api-ruby-client/issues/1292)) ([c69bbb4](https://www.github.com/googleapis/google-api-ruby-client/commit/c69bbb4048752c91a4e4db997a4cf2486f6054dc))
15
+ * Automated regeneration of content v2.1 client ([#1315](https://www.github.com/googleapis/google-api-ruby-client/issues/1315)) ([e707531](https://www.github.com/googleapis/google-api-ruby-client/commit/e707531a8836a261435c57c2cae1f424c2a6293a))
16
+ * Automated regeneration of datacatalog v1beta1 client ([#1293](https://www.github.com/googleapis/google-api-ruby-client/issues/1293)) ([c0d3e53](https://www.github.com/googleapis/google-api-ruby-client/commit/c0d3e5354e0b94feefd7fd6578233a8a2d76f022))
17
+ * Automated regeneration of dataflow v1b3 client ([#1317](https://www.github.com/googleapis/google-api-ruby-client/issues/1317)) ([76adefd](https://www.github.com/googleapis/google-api-ruby-client/commit/76adefdc4519394d4ea678814244ee0093ace26b))
18
+ * Automated regeneration of datalabeling v1beta1 client ([#1318](https://www.github.com/googleapis/google-api-ruby-client/issues/1318)) ([387d0ce](https://www.github.com/googleapis/google-api-ruby-client/commit/387d0cebfe9dbddda004a6cc579cbc8399ed82de))
19
+ * Automated regeneration of datastore v1 client ([#1294](https://www.github.com/googleapis/google-api-ruby-client/issues/1294)) ([d425140](https://www.github.com/googleapis/google-api-ruby-client/commit/d42514033d982d153d8f78727f23f0b4d49ea629))
20
+ * Automated regeneration of datastore v1beta3 client ([#1295](https://www.github.com/googleapis/google-api-ruby-client/issues/1295)) ([9840c48](https://www.github.com/googleapis/google-api-ruby-client/commit/9840c481849200572321532ecc3b128bebbc1583))
21
+ * Automated regeneration of deploymentmanager v2 client ([#1319](https://www.github.com/googleapis/google-api-ruby-client/issues/1319)) ([047de22](https://www.github.com/googleapis/google-api-ruby-client/commit/047de22f9c1084a4ccaef33cf7efe54f0055971b))
22
+ * Automated regeneration of deploymentmanager v2beta client ([#1320](https://www.github.com/googleapis/google-api-ruby-client/issues/1320)) ([af15d56](https://www.github.com/googleapis/google-api-ruby-client/commit/af15d561f1922e936be21bb35cbccac8415f2e2e))
23
+ * Automated regeneration of dialogflow v2 client ([#1330](https://www.github.com/googleapis/google-api-ruby-client/issues/1330)) ([27e25ea](https://www.github.com/googleapis/google-api-ruby-client/commit/27e25ea099e5c987b7435748b867e0795ac52666))
24
+ * Automated regeneration of dialogflow v2beta1 client ([#1321](https://www.github.com/googleapis/google-api-ruby-client/issues/1321)) ([5bae04c](https://www.github.com/googleapis/google-api-ruby-client/commit/5bae04cbb55e0f0fe15fc3a96842f378b2d8d4ac))
25
+ * Automated regeneration of dialogflow v3beta1 client ([#1331](https://www.github.com/googleapis/google-api-ruby-client/issues/1331)) ([4d5b98f](https://www.github.com/googleapis/google-api-ruby-client/commit/4d5b98ffca7eaf905a28939051f53ff2881aaf64))
26
+ * Automated regeneration of displayvideo v1 client ([#1342](https://www.github.com/googleapis/google-api-ruby-client/issues/1342)) ([1a0c4a7](https://www.github.com/googleapis/google-api-ruby-client/commit/1a0c4a7b0f26aaefb051e7117cc464830308304b))
27
+ * Automated regeneration of domains v1alpha2 client ([#1332](https://www.github.com/googleapis/google-api-ruby-client/issues/1332)) ([dda2e6c](https://www.github.com/googleapis/google-api-ruby-client/commit/dda2e6c739363210e2b27d728f9262b2caa32bab))
28
+ * Automated regeneration of domains v1beta1 client ([#1343](https://www.github.com/googleapis/google-api-ruby-client/issues/1343)) ([2dca59f](https://www.github.com/googleapis/google-api-ruby-client/commit/2dca59f8925f1e235b8b5803ab984b0a2e2a7b98))
29
+ * Automated regeneration of eventarc v1beta1 client ([#1296](https://www.github.com/googleapis/google-api-ruby-client/issues/1296)) ([6f144f7](https://www.github.com/googleapis/google-api-ruby-client/commit/6f144f7ea06cdd427ddcdeace5263e68f378a979))
30
+ * Automated regeneration of firebase v1beta1 client ([#1322](https://www.github.com/googleapis/google-api-ruby-client/issues/1322)) ([1a4c898](https://www.github.com/googleapis/google-api-ruby-client/commit/1a4c898fc88855eadc75fe7042e14ce6e4377120))
31
+ * Automated regeneration of firebasehosting v1beta1 client ([#1323](https://www.github.com/googleapis/google-api-ruby-client/issues/1323)) ([4d6973e](https://www.github.com/googleapis/google-api-ruby-client/commit/4d6973e487635b017e7f9ad0589b616bf4b00bee))
32
+ * Automated regeneration of firestore v1 client ([#1297](https://www.github.com/googleapis/google-api-ruby-client/issues/1297)) ([4cc5ac9](https://www.github.com/googleapis/google-api-ruby-client/commit/4cc5ac9a04f3465310c8acd191ab3efe7afa3069))
33
+ * Automated regeneration of firestore v1beta1 client ([#1298](https://www.github.com/googleapis/google-api-ruby-client/issues/1298)) ([1f36075](https://www.github.com/googleapis/google-api-ruby-client/commit/1f36075071530d3d0c4125641bd5fcddbb470db6))
34
+ * Automated regeneration of games v1 client ([#1299](https://www.github.com/googleapis/google-api-ruby-client/issues/1299)) ([8c087d1](https://www.github.com/googleapis/google-api-ruby-client/commit/8c087d1968c21d8a147ebf3a28d641701f304d7a))
35
+ * Automated regeneration of gameservices v1 client ([#1300](https://www.github.com/googleapis/google-api-ruby-client/issues/1300)) ([0c57d8e](https://www.github.com/googleapis/google-api-ruby-client/commit/0c57d8eecde12869e62dd8c9a1708c9abb9b3ef1))
36
+ * Automated regeneration of gameservices v1beta client ([#1301](https://www.github.com/googleapis/google-api-ruby-client/issues/1301)) ([80a722f](https://www.github.com/googleapis/google-api-ruby-client/commit/80a722fbaf04229624afeab663043537e3981bb9))
37
+ * Automated regeneration of iam v1 client ([855ba09](https://www.github.com/googleapis/google-api-ruby-client/commit/855ba09d7b9ac63ff240437edf413cc9d8b0a3b4))
38
+ * Automated regeneration of iamcredentials v1 client ([#1333](https://www.github.com/googleapis/google-api-ruby-client/issues/1333)) ([df6b1b1](https://www.github.com/googleapis/google-api-ruby-client/commit/df6b1b134dc28a641db3cc4abf1f99bfa2db2ae3))
39
+ * Automated regeneration of logging v2 client ([#1344](https://www.github.com/googleapis/google-api-ruby-client/issues/1344)) ([6c995ec](https://www.github.com/googleapis/google-api-ruby-client/commit/6c995ec7c638370205b0d30c849233dec1c5ff5e))
40
+ * Automated regeneration of people v1 client ([#1303](https://www.github.com/googleapis/google-api-ruby-client/issues/1303)) ([79a43ec](https://www.github.com/googleapis/google-api-ruby-client/commit/79a43ec56f0591043ce631e889c3354471f07c7b))
41
+ * Automated regeneration of privateca v1beta1 client ([#1304](https://www.github.com/googleapis/google-api-ruby-client/issues/1304)) ([ad7cdc7](https://www.github.com/googleapis/google-api-ruby-client/commit/ad7cdc79f8d83906fb282cc9643973f2c469cbc5))
42
+ * Automated regeneration of recommendationengine v1beta1 client ([#1345](https://www.github.com/googleapis/google-api-ruby-client/issues/1345)) ([c25cd83](https://www.github.com/googleapis/google-api-ruby-client/commit/c25cd8320b4de2875191aadea85e159b15b3c250))
43
+ * Automated regeneration of runtimeconfig v1beta1 client ([#1324](https://www.github.com/googleapis/google-api-ruby-client/issues/1324)) ([d18ef56](https://www.github.com/googleapis/google-api-ruby-client/commit/d18ef56eead6936295b0789924e90d0c7b016689))
44
+ * Automated regeneration of safebrowsing v4 client ([#1305](https://www.github.com/googleapis/google-api-ruby-client/issues/1305)) ([599f53b](https://www.github.com/googleapis/google-api-ruby-client/commit/599f53bfa0e9276349445de8267f338370e4974a))
45
+ * Automated regeneration of secretmanager v1 client ([#1346](https://www.github.com/googleapis/google-api-ruby-client/issues/1346)) ([cc4bc75](https://www.github.com/googleapis/google-api-ruby-client/commit/cc4bc758031ea9a9236244df0e530a8ead89dd1a))
46
+ * Automated regeneration of secretmanager v1beta1 client ([#1347](https://www.github.com/googleapis/google-api-ruby-client/issues/1347)) ([ba2823f](https://www.github.com/googleapis/google-api-ruby-client/commit/ba2823f94308d71bb19733235f50ec6962e3347d))
47
+ * Automated regeneration of servicecontrol v1 client ([#1325](https://www.github.com/googleapis/google-api-ruby-client/issues/1325)) ([0a00165](https://www.github.com/googleapis/google-api-ruby-client/commit/0a00165a12c24b7d9497c58015ccc067a1623331))
48
+ * Automated regeneration of servicecontrol v2 client ([#1326](https://www.github.com/googleapis/google-api-ruby-client/issues/1326)) ([6e63895](https://www.github.com/googleapis/google-api-ruby-client/commit/6e6389574238c38dde4446161925a2fc2e7877b8))
49
+ * Automated regeneration of servicemanagement v1 client ([#1306](https://www.github.com/googleapis/google-api-ruby-client/issues/1306)) ([c2c1be2](https://www.github.com/googleapis/google-api-ruby-client/commit/c2c1be2be34335d6cfc0093dec0768a83d2f087d))
50
+ * Automated regeneration of serviceusage v1beta1 client ([#1334](https://www.github.com/googleapis/google-api-ruby-client/issues/1334)) ([2378835](https://www.github.com/googleapis/google-api-ruby-client/commit/237883527a4366623d777cbc863904a8b5225883))
51
+ * Automated regeneration of smartdevicemanagement v1 client ([#1307](https://www.github.com/googleapis/google-api-ruby-client/issues/1307)) ([56d73b5](https://www.github.com/googleapis/google-api-ruby-client/commit/56d73b589325345a024edf088e6d3d647375f6b2))
52
+ * Automated regeneration of sqladmin v1beta4 client ([#1335](https://www.github.com/googleapis/google-api-ruby-client/issues/1335)) ([4ef0d44](https://www.github.com/googleapis/google-api-ruby-client/commit/4ef0d445ab819d9d706bb1217e0ddd87babb6471))
53
+ * Automated regeneration of storagetransfer v1 client ([#1327](https://www.github.com/googleapis/google-api-ruby-client/issues/1327)) ([2b4a559](https://www.github.com/googleapis/google-api-ruby-client/commit/2b4a559f06b8068ef28a2ca37c1d48bef6dc58db))
54
+ * Automated regeneration of toolresults v1beta3 client ([#1336](https://www.github.com/googleapis/google-api-ruby-client/issues/1336)) ([7ab948e](https://www.github.com/googleapis/google-api-ruby-client/commit/7ab948e13218d4426dd16e2d4ba861d1f1b7a123))
55
+ * Automated regeneration of translate v3 client ([#1308](https://www.github.com/googleapis/google-api-ruby-client/issues/1308)) ([10416aa](https://www.github.com/googleapis/google-api-ruby-client/commit/10416aa795a5582905349143d0080458328c242f))
56
+ * Automated regeneration of translate v3beta1 client ([#1309](https://www.github.com/googleapis/google-api-ruby-client/issues/1309)) ([6f71109](https://www.github.com/googleapis/google-api-ruby-client/commit/6f71109e3823ae0ea988240a76bbf887ffe0696b))
57
+ * Automated regeneration of vision v1 client ([#1310](https://www.github.com/googleapis/google-api-ruby-client/issues/1310)) ([e15dc63](https://www.github.com/googleapis/google-api-ruby-client/commit/e15dc632cfd4474103ef157e2ec915ee49aa46dc))
58
+ * Automated regeneration of vision v1p1beta1 client ([#1311](https://www.github.com/googleapis/google-api-ruby-client/issues/1311)) ([73b17a4](https://www.github.com/googleapis/google-api-ruby-client/commit/73b17a488f1d86317f6492d682b5f552af45e5cf))
59
+ * Automated regeneration of vision v1p2beta1 client ([#1312](https://www.github.com/googleapis/google-api-ruby-client/issues/1312)) ([4ea7309](https://www.github.com/googleapis/google-api-ruby-client/commit/4ea7309e56e8a6e3c450d7aeba0df3ebaa84d281))
60
+ * Automated regeneration of youtube v3 client ([#1313](https://www.github.com/googleapis/google-api-ruby-client/issues/1313)) ([50ce2aa](https://www.github.com/googleapis/google-api-ruby-client/commit/50ce2aaa152cc7a9abe128e4db09b7c795825077))
61
+
62
+
63
+ ### Bug Fixes
64
+
65
+ * Fix incorrect variable name in gem publish script ([8d2ef13](https://www.github.com/googleapis/google-api-ruby-client/commit/8d2ef13ecc4fd0426870bf3ab35770b4782063cf))
66
+
3
67
  ### 0.47.0 / 2020-10-27
4
68
 
5
69
  * Support adding query params to request options
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryV2
27
27
  VERSION = 'V2'
28
- REVISION = '20201015'
28
+ REVISION = '20201022'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -47,7 +47,7 @@ module Google
47
47
  attr_accessor :user_ip
48
48
 
49
49
  def initialize
50
- super('https://bigquery.googleapis.com/', 'bigquery/v2/')
50
+ super('https://www.googleapis.com/', 'bigquery/v2/')
51
51
  @batch_path = 'batch/bigquery/v2'
52
52
  end
53
53
 
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/billing/docs/how-to/budget-api-overview
27
27
  module BillingbudgetsV1
28
28
  VERSION = 'V1'
29
- REVISION = '20201012'
29
+ REVISION = '20201026'
30
30
 
31
31
  # View and manage your Google Cloud Platform billing accounts
32
32
  AUTH_CLOUD_BILLING = 'https://www.googleapis.com/auth/cloud-billing'
@@ -119,6 +119,16 @@ module Google
119
119
  class GoogleCloudBillingBudgetsV1Filter
120
120
  include Google::Apis::Core::Hashable
121
121
 
122
+ # Optional. A list of credit types to be subtracted from gross cost to determine
123
+ # the spend for threshold calculations if and only if credit_types_treatment is
124
+ # INCLUDE_SPECIFIED_CREDITS. If credit_types_treatment is not
125
+ # INCLUDE_SPECIFIED_CREDITS, this field must be empty. See credits.type on https:
126
+ # //cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#data-schema
127
+ # for a list of acceptable credit type values in this field.
128
+ # Corresponds to the JSON property `creditTypes`
129
+ # @return [Array<String>]
130
+ attr_accessor :credit_types
131
+
122
132
  # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
123
133
  # Corresponds to the JSON property `creditTypesTreatment`
124
134
  # @return [String]
@@ -165,6 +175,7 @@ module Google
165
175
 
166
176
  # Update properties of this object
167
177
  def update!(**args)
178
+ @credit_types = args[:credit_types] if args.key?(:credit_types)
168
179
  @credit_types_treatment = args[:credit_types_treatment] if args.key?(:credit_types_treatment)
169
180
  @labels = args[:labels] if args.key?(:labels)
170
181
  @projects = args[:projects] if args.key?(:projects)
@@ -106,6 +106,7 @@ module Google
106
106
  class GoogleCloudBillingBudgetsV1Filter
107
107
  # @private
108
108
  class Representation < Google::Apis::Core::JsonRepresentation
109
+ collection :credit_types, as: 'creditTypes'
109
110
  property :credit_types_treatment, as: 'creditTypesTreatment'
110
111
  hash :labels, as: 'labels', :class => Array do
111
112
  include Representable::JSON::Collection
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/billing/docs/how-to/budget-api-overview
27
27
  module BillingbudgetsV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20201012'
29
+ REVISION = '20201026'
30
30
 
31
31
  # View and manage your Google Cloud Platform billing accounts
32
32
  AUTH_CLOUD_BILLING = 'https://www.googleapis.com/auth/cloud-billing'
@@ -199,6 +199,16 @@ module Google
199
199
  class GoogleCloudBillingBudgetsV1beta1Filter
200
200
  include Google::Apis::Core::Hashable
201
201
 
202
+ # Optional. A list of credit types to be subtracted from gross cost to determine
203
+ # the spend for threshold calculations if and only if credit_types_treatment is
204
+ # INCLUDE_SPECIFIED_CREDITS. If credit_types_treatment is not
205
+ # INCLUDE_SPECIFIED_CREDITS, this field must be empty. See credits.type at https:
206
+ # //cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#data-schema
207
+ # for a list of acceptable credit type values in this field.
208
+ # Corresponds to the JSON property `creditTypes`
209
+ # @return [Array<String>]
210
+ attr_accessor :credit_types
211
+
202
212
  # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
203
213
  # Corresponds to the JSON property `creditTypesTreatment`
204
214
  # @return [String]
@@ -245,6 +255,7 @@ module Google
245
255
 
246
256
  # Update properties of this object
247
257
  def update!(**args)
258
+ @credit_types = args[:credit_types] if args.key?(:credit_types)
248
259
  @credit_types_treatment = args[:credit_types_treatment] if args.key?(:credit_types_treatment)
249
260
  @labels = args[:labels] if args.key?(:labels)
250
261
  @projects = args[:projects] if args.key?(:projects)
@@ -136,6 +136,7 @@ module Google
136
136
  class GoogleCloudBillingBudgetsV1beta1Filter
137
137
  # @private
138
138
  class Representation < Google::Apis::Core::JsonRepresentation
139
+ collection :credit_types, as: 'creditTypes'
139
140
  property :credit_types_treatment, as: 'creditTypesTreatment'
140
141
  hash :labels, as: 'labels', :class => Array do
141
142
  include Representable::JSON::Collection
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200911'
28
+ REVISION = '20201023'
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'
@@ -22,6 +22,94 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1
24
24
 
25
+ # Specifies roles and/or permissions to analyze, to determine both the
26
+ # identities possessing them and the resources they control. If multiple values
27
+ # are specified, results will include roles or permissions matching any of them.
28
+ # The total number of roles and permissions should be equal or less than 10.
29
+ class AccessSelector
30
+ include Google::Apis::Core::Hashable
31
+
32
+ # Optional. The permissions to appear in result.
33
+ # Corresponds to the JSON property `permissions`
34
+ # @return [Array<String>]
35
+ attr_accessor :permissions
36
+
37
+ # Optional. The roles to appear in result.
38
+ # Corresponds to the JSON property `roles`
39
+ # @return [Array<String>]
40
+ attr_accessor :roles
41
+
42
+ def initialize(**args)
43
+ update!(**args)
44
+ end
45
+
46
+ # Update properties of this object
47
+ def update!(**args)
48
+ @permissions = args[:permissions] if args.key?(:permissions)
49
+ @roles = args[:roles] if args.key?(:roles)
50
+ end
51
+ end
52
+
53
+ # A request message for AssetService.AnalyzeIamPolicyLongrunning.
54
+ class AnalyzeIamPolicyLongrunningRequest
55
+ include Google::Apis::Core::Hashable
56
+
57
+ # IAM policy analysis query message.
58
+ # Corresponds to the JSON property `analysisQuery`
59
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisQuery]
60
+ attr_accessor :analysis_query
61
+
62
+ # Output configuration for export IAM policy analysis destination.
63
+ # Corresponds to the JSON property `outputConfig`
64
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisOutputConfig]
65
+ attr_accessor :output_config
66
+
67
+ def initialize(**args)
68
+ update!(**args)
69
+ end
70
+
71
+ # Update properties of this object
72
+ def update!(**args)
73
+ @analysis_query = args[:analysis_query] if args.key?(:analysis_query)
74
+ @output_config = args[:output_config] if args.key?(:output_config)
75
+ end
76
+ end
77
+
78
+ # A response message for AssetService.AnalyzeIamPolicy.
79
+ class AnalyzeIamPolicyResponse
80
+ include Google::Apis::Core::Hashable
81
+
82
+ # Represents whether all entries in the main_analysis and
83
+ # service_account_impersonation_analysis have been fully explored to answer the
84
+ # query in the request.
85
+ # Corresponds to the JSON property `fullyExplored`
86
+ # @return [Boolean]
87
+ attr_accessor :fully_explored
88
+ alias_method :fully_explored?, :fully_explored
89
+
90
+ # An analysis message to group the query and results.
91
+ # Corresponds to the JSON property `mainAnalysis`
92
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysis]
93
+ attr_accessor :main_analysis
94
+
95
+ # The service account impersonation analysis if AnalyzeIamPolicyRequest.
96
+ # analyze_service_account_impersonation is enabled.
97
+ # Corresponds to the JSON property `serviceAccountImpersonationAnalysis`
98
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysis>]
99
+ attr_accessor :service_account_impersonation_analysis
100
+
101
+ def initialize(**args)
102
+ update!(**args)
103
+ end
104
+
105
+ # Update properties of this object
106
+ def update!(**args)
107
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
108
+ @main_analysis = args[:main_analysis] if args.key?(:main_analysis)
109
+ @service_account_impersonation_analysis = args[:service_account_impersonation_analysis] if args.key?(:service_account_impersonation_analysis)
110
+ end
111
+ end
112
+
25
113
  # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
26
114
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
27
115
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
@@ -697,6 +785,273 @@ module Google
697
785
  end
698
786
  end
699
787
 
788
+ # An IAM role or permission under analysis.
789
+ class GoogleCloudAssetV1Access
790
+ include Google::Apis::Core::Hashable
791
+
792
+ # Represents the detailed state of an entity under analysis, such as a resource,
793
+ # an identity or an access.
794
+ # Corresponds to the JSON property `analysisState`
795
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
796
+ attr_accessor :analysis_state
797
+
798
+ # The permission.
799
+ # Corresponds to the JSON property `permission`
800
+ # @return [String]
801
+ attr_accessor :permission
802
+
803
+ # The role.
804
+ # Corresponds to the JSON property `role`
805
+ # @return [String]
806
+ attr_accessor :role
807
+
808
+ def initialize(**args)
809
+ update!(**args)
810
+ end
811
+
812
+ # Update properties of this object
813
+ def update!(**args)
814
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
815
+ @permission = args[:permission] if args.key?(:permission)
816
+ @role = args[:role] if args.key?(:role)
817
+ end
818
+ end
819
+
820
+ # An access control list, derived from the above IAM policy binding, which
821
+ # contains a set of resources and accesses. May include one item from each set
822
+ # to compose an access control entry. NOTICE that there could be multiple access
823
+ # control lists for one IAM policy binding. The access control lists are created
824
+ # based on resource and access combinations. For example, assume we have the
825
+ # following cases in one IAM policy binding: - Permission P1 and P2 apply to
826
+ # resource R1 and R2; - Permission P3 applies to resource R2 and R3; This will
827
+ # result in the following access control lists: - AccessControlList 1: [R1, R2],
828
+ # [P1, P2] - AccessControlList 2: [R2, R3], [P3]
829
+ class GoogleCloudAssetV1AccessControlList
830
+ include Google::Apis::Core::Hashable
831
+
832
+ # The accesses that match one of the following conditions: - The access_selector,
833
+ # if it is specified in request; - Otherwise, access specifiers reachable from
834
+ # the policy binding's role.
835
+ # Corresponds to the JSON property `accesses`
836
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Access>]
837
+ attr_accessor :accesses
838
+
839
+ # Resource edges of the graph starting from the policy attached resource to any
840
+ # descendant resources. The Edge.source_node contains the full resource name of
841
+ # a parent resource and Edge.target_node contains the full resource name of a
842
+ # child resource. This field is present only if the output_resource_edges option
843
+ # is enabled in request.
844
+ # Corresponds to the JSON property `resourceEdges`
845
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge>]
846
+ attr_accessor :resource_edges
847
+
848
+ # The resources that match one of the following conditions: - The
849
+ # resource_selector, if it is specified in request; - Otherwise, resources
850
+ # reachable from the policy attached resource.
851
+ # Corresponds to the JSON property `resources`
852
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource>]
853
+ attr_accessor :resources
854
+
855
+ def initialize(**args)
856
+ update!(**args)
857
+ end
858
+
859
+ # Update properties of this object
860
+ def update!(**args)
861
+ @accesses = args[:accesses] if args.key?(:accesses)
862
+ @resource_edges = args[:resource_edges] if args.key?(:resource_edges)
863
+ @resources = args[:resources] if args.key?(:resources)
864
+ end
865
+ end
866
+
867
+ # A BigQuery destination.
868
+ class GoogleCloudAssetV1BigQueryDestination
869
+ include Google::Apis::Core::Hashable
870
+
871
+ # Required. The BigQuery dataset in format "projects/projectId/datasets/
872
+ # datasetId", to which the analysis results should be exported. If this dataset
873
+ # does not exist, the export call will return an INVALID_ARGUMENT error.
874
+ # Corresponds to the JSON property `dataset`
875
+ # @return [String]
876
+ attr_accessor :dataset
877
+
878
+ # The partition key for BigQuery partitioned table.
879
+ # Corresponds to the JSON property `partitionKey`
880
+ # @return [String]
881
+ attr_accessor :partition_key
882
+
883
+ # Required. The prefix of the BigQuery tables to which the analysis results will
884
+ # be written. Tables will be created based on this table_prefix if not exist: *
885
+ # _analysis table will contain export operation's metadata. * _analysis_result
886
+ # will contain all the IamPolicyAnalysisResult. When [partition_key] is
887
+ # specified, both tables will be partitioned based on the [partition_key].
888
+ # Corresponds to the JSON property `tablePrefix`
889
+ # @return [String]
890
+ attr_accessor :table_prefix
891
+
892
+ # Optional. Specifies the action that occurs if the destination table or
893
+ # partition already exists. The following values are supported: * WRITE_TRUNCATE:
894
+ # If the table or partition already exists, BigQuery overwrites the entire
895
+ # table or all the partitions data. * WRITE_APPEND: If the table or partition
896
+ # already exists, BigQuery appends the data to the table or the latest partition.
897
+ # * WRITE_EMPTY: If the table already exists and contains data, an error is
898
+ # returned. The default value is WRITE_APPEND. Each action is atomic and only
899
+ # occurs if BigQuery is able to complete the job successfully. Details are at
900
+ # https://cloud.google.com/bigquery/docs/loading-data-local#
901
+ # appending_to_or_overwriting_a_table_using_a_local_file.
902
+ # Corresponds to the JSON property `writeDisposition`
903
+ # @return [String]
904
+ attr_accessor :write_disposition
905
+
906
+ def initialize(**args)
907
+ update!(**args)
908
+ end
909
+
910
+ # Update properties of this object
911
+ def update!(**args)
912
+ @dataset = args[:dataset] if args.key?(:dataset)
913
+ @partition_key = args[:partition_key] if args.key?(:partition_key)
914
+ @table_prefix = args[:table_prefix] if args.key?(:table_prefix)
915
+ @write_disposition = args[:write_disposition] if args.key?(:write_disposition)
916
+ end
917
+ end
918
+
919
+ # A directional edge.
920
+ class GoogleCloudAssetV1Edge
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # The source node of the edge. For example, it could be a full resource name for
924
+ # a resource node or an email of an identity.
925
+ # Corresponds to the JSON property `sourceNode`
926
+ # @return [String]
927
+ attr_accessor :source_node
928
+
929
+ # The target node of the edge. For example, it could be a full resource name for
930
+ # a resource node or an email of an identity.
931
+ # Corresponds to the JSON property `targetNode`
932
+ # @return [String]
933
+ attr_accessor :target_node
934
+
935
+ def initialize(**args)
936
+ update!(**args)
937
+ end
938
+
939
+ # Update properties of this object
940
+ def update!(**args)
941
+ @source_node = args[:source_node] if args.key?(:source_node)
942
+ @target_node = args[:target_node] if args.key?(:target_node)
943
+ end
944
+ end
945
+
946
+ # A Cloud Storage location.
947
+ class GoogleCloudAssetV1GcsDestination
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # Required. The uri of the Cloud Storage object. It's the same uri that is used
951
+ # by gsutil. For example: "gs://bucket_name/object_name". See [Quickstart: Using
952
+ # the gsutil tool] (https://cloud.google.com/storage/docs/quickstart-gsutil) for
953
+ # examples.
954
+ # Corresponds to the JSON property `uri`
955
+ # @return [String]
956
+ attr_accessor :uri
957
+
958
+ def initialize(**args)
959
+ update!(**args)
960
+ end
961
+
962
+ # Update properties of this object
963
+ def update!(**args)
964
+ @uri = args[:uri] if args.key?(:uri)
965
+ end
966
+ end
967
+
968
+ # An identity under analysis.
969
+ class GoogleCloudAssetV1Identity
970
+ include Google::Apis::Core::Hashable
971
+
972
+ # Represents the detailed state of an entity under analysis, such as a resource,
973
+ # an identity or an access.
974
+ # Corresponds to the JSON property `analysisState`
975
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
976
+ attr_accessor :analysis_state
977
+
978
+ # The identity name in any form of members appear in [IAM policy binding](https:/
979
+ # /cloud.google.com/iam/reference/rest/v1/Binding), such as: - user:foo@google.
980
+ # com - group:group1@google.com - serviceAccount:s1@prj1.iam.gserviceaccount.com
981
+ # - projectOwner:some_project_id - domain:google.com - allUsers - etc.
982
+ # Corresponds to the JSON property `name`
983
+ # @return [String]
984
+ attr_accessor :name
985
+
986
+ def initialize(**args)
987
+ update!(**args)
988
+ end
989
+
990
+ # Update properties of this object
991
+ def update!(**args)
992
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
993
+ @name = args[:name] if args.key?(:name)
994
+ end
995
+ end
996
+
997
+ # The identities and group edges.
998
+ class GoogleCloudAssetV1IdentityList
999
+ include Google::Apis::Core::Hashable
1000
+
1001
+ # Group identity edges of the graph starting from the binding's group members to
1002
+ # any node of the identities. The Edge.source_node contains a group, such as `
1003
+ # group:parent@google.com`. The Edge.target_node contains a member of the group,
1004
+ # such as `group:child@google.com` or `user:foo@google.com`. This field is
1005
+ # present only if the output_group_edges option is enabled in request.
1006
+ # Corresponds to the JSON property `groupEdges`
1007
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge>]
1008
+ attr_accessor :group_edges
1009
+
1010
+ # Only the identities that match one of the following conditions will be
1011
+ # presented: - The identity_selector, if it is specified in request; - Otherwise,
1012
+ # identities reachable from the policy binding's members.
1013
+ # Corresponds to the JSON property `identities`
1014
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Identity>]
1015
+ attr_accessor :identities
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @group_edges = args[:group_edges] if args.key?(:group_edges)
1024
+ @identities = args[:identities] if args.key?(:identities)
1025
+ end
1026
+ end
1027
+
1028
+ # A Google Cloud resource under analysis.
1029
+ class GoogleCloudAssetV1Resource
1030
+ include Google::Apis::Core::Hashable
1031
+
1032
+ # Represents the detailed state of an entity under analysis, such as a resource,
1033
+ # an identity or an access.
1034
+ # Corresponds to the JSON property `analysisState`
1035
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
1036
+ attr_accessor :analysis_state
1037
+
1038
+ # The [full resource name](https://cloud.google.com/asset-inventory/docs/
1039
+ # resource-name-format)
1040
+ # Corresponds to the JSON property `fullResourceName`
1041
+ # @return [String]
1042
+ attr_accessor :full_resource_name
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
1051
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
1052
+ end
1053
+ end
1054
+
700
1055
  # Used in `policy_type` to specify how `boolean_policy` will behave at this
701
1056
  # resource.
702
1057
  class GoogleCloudOrgpolicyV1BooleanPolicy
@@ -1464,6 +1819,206 @@ module Google
1464
1819
  end
1465
1820
  end
1466
1821
 
1822
+ # An analysis message to group the query and results.
1823
+ class IamPolicyAnalysis
1824
+ include Google::Apis::Core::Hashable
1825
+
1826
+ # IAM policy analysis query message.
1827
+ # Corresponds to the JSON property `analysisQuery`
1828
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisQuery]
1829
+ attr_accessor :analysis_query
1830
+
1831
+ # A list of IamPolicyAnalysisResult that matches the analysis query, or empty if
1832
+ # no result is found.
1833
+ # Corresponds to the JSON property `analysisResults`
1834
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysisResult>]
1835
+ attr_accessor :analysis_results
1836
+
1837
+ # Represents whether all entries in the analysis_results have been fully
1838
+ # explored to answer the query.
1839
+ # Corresponds to the JSON property `fullyExplored`
1840
+ # @return [Boolean]
1841
+ attr_accessor :fully_explored
1842
+ alias_method :fully_explored?, :fully_explored
1843
+
1844
+ # A list of non-critical errors happened during the query handling.
1845
+ # Corresponds to the JSON property `nonCriticalErrors`
1846
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysisState>]
1847
+ attr_accessor :non_critical_errors
1848
+
1849
+ def initialize(**args)
1850
+ update!(**args)
1851
+ end
1852
+
1853
+ # Update properties of this object
1854
+ def update!(**args)
1855
+ @analysis_query = args[:analysis_query] if args.key?(:analysis_query)
1856
+ @analysis_results = args[:analysis_results] if args.key?(:analysis_results)
1857
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
1858
+ @non_critical_errors = args[:non_critical_errors] if args.key?(:non_critical_errors)
1859
+ end
1860
+ end
1861
+
1862
+ # Output configuration for export IAM policy analysis destination.
1863
+ class IamPolicyAnalysisOutputConfig
1864
+ include Google::Apis::Core::Hashable
1865
+
1866
+ # A BigQuery destination.
1867
+ # Corresponds to the JSON property `bigqueryDestination`
1868
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1BigQueryDestination]
1869
+ attr_accessor :bigquery_destination
1870
+
1871
+ # A Cloud Storage location.
1872
+ # Corresponds to the JSON property `gcsDestination`
1873
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1GcsDestination]
1874
+ attr_accessor :gcs_destination
1875
+
1876
+ def initialize(**args)
1877
+ update!(**args)
1878
+ end
1879
+
1880
+ # Update properties of this object
1881
+ def update!(**args)
1882
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
1883
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
1884
+ end
1885
+ end
1886
+
1887
+ # IAM policy analysis query message.
1888
+ class IamPolicyAnalysisQuery
1889
+ include Google::Apis::Core::Hashable
1890
+
1891
+ # Specifies roles and/or permissions to analyze, to determine both the
1892
+ # identities possessing them and the resources they control. If multiple values
1893
+ # are specified, results will include roles or permissions matching any of them.
1894
+ # The total number of roles and permissions should be equal or less than 10.
1895
+ # Corresponds to the JSON property `accessSelector`
1896
+ # @return [Google::Apis::CloudassetV1::AccessSelector]
1897
+ attr_accessor :access_selector
1898
+
1899
+ # Specifies an identity for which to determine resource access, based on roles
1900
+ # assigned either directly to them or to the groups they belong to, directly or
1901
+ # indirectly.
1902
+ # Corresponds to the JSON property `identitySelector`
1903
+ # @return [Google::Apis::CloudassetV1::IdentitySelector]
1904
+ attr_accessor :identity_selector
1905
+
1906
+ # Contains query options.
1907
+ # Corresponds to the JSON property `options`
1908
+ # @return [Google::Apis::CloudassetV1::Options]
1909
+ attr_accessor :options
1910
+
1911
+ # Specifies the resource to analyze for access policies, which may be set
1912
+ # directly on the resource, or on ancestors such as organizations, folders or
1913
+ # projects.
1914
+ # Corresponds to the JSON property `resourceSelector`
1915
+ # @return [Google::Apis::CloudassetV1::ResourceSelector]
1916
+ attr_accessor :resource_selector
1917
+
1918
+ # Required. The relative name of the root asset. Only resources and IAM policies
1919
+ # within the scope will be analyzed. This can only be an organization number (
1920
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
1921
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
1922
+ # projects/12345"). To know how to get organization id, visit [here ](https://
1923
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
1924
+ # retrieving_your_organization_id). To know how to get folder or project id,
1925
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
1926
+ # folders#viewing_or_listing_folders_and_projects).
1927
+ # Corresponds to the JSON property `scope`
1928
+ # @return [String]
1929
+ attr_accessor :scope
1930
+
1931
+ def initialize(**args)
1932
+ update!(**args)
1933
+ end
1934
+
1935
+ # Update properties of this object
1936
+ def update!(**args)
1937
+ @access_selector = args[:access_selector] if args.key?(:access_selector)
1938
+ @identity_selector = args[:identity_selector] if args.key?(:identity_selector)
1939
+ @options = args[:options] if args.key?(:options)
1940
+ @resource_selector = args[:resource_selector] if args.key?(:resource_selector)
1941
+ @scope = args[:scope] if args.key?(:scope)
1942
+ end
1943
+ end
1944
+
1945
+ # IAM Policy analysis result, consisting of one IAM policy binding and derived
1946
+ # access control lists.
1947
+ class IamPolicyAnalysisResult
1948
+ include Google::Apis::Core::Hashable
1949
+
1950
+ # The access control lists derived from the iam_binding that match or
1951
+ # potentially match resource and access selectors specified in the request.
1952
+ # Corresponds to the JSON property `accessControlLists`
1953
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1AccessControlList>]
1954
+ attr_accessor :access_control_lists
1955
+
1956
+ # The [full resource name](https://cloud.google.com/asset-inventory/docs/
1957
+ # resource-name-format) of the resource to which the iam_binding policy attaches.
1958
+ # Corresponds to the JSON property `attachedResourceFullName`
1959
+ # @return [String]
1960
+ attr_accessor :attached_resource_full_name
1961
+
1962
+ # Represents whether all analyses on the iam_binding have successfully finished.
1963
+ # Corresponds to the JSON property `fullyExplored`
1964
+ # @return [Boolean]
1965
+ attr_accessor :fully_explored
1966
+ alias_method :fully_explored?, :fully_explored
1967
+
1968
+ # Associates `members` with a `role`.
1969
+ # Corresponds to the JSON property `iamBinding`
1970
+ # @return [Google::Apis::CloudassetV1::Binding]
1971
+ attr_accessor :iam_binding
1972
+
1973
+ # The identities and group edges.
1974
+ # Corresponds to the JSON property `identityList`
1975
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1IdentityList]
1976
+ attr_accessor :identity_list
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @access_control_lists = args[:access_control_lists] if args.key?(:access_control_lists)
1985
+ @attached_resource_full_name = args[:attached_resource_full_name] if args.key?(:attached_resource_full_name)
1986
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
1987
+ @iam_binding = args[:iam_binding] if args.key?(:iam_binding)
1988
+ @identity_list = args[:identity_list] if args.key?(:identity_list)
1989
+ end
1990
+ end
1991
+
1992
+ # Represents the detailed state of an entity under analysis, such as a resource,
1993
+ # an identity or an access.
1994
+ class IamPolicyAnalysisState
1995
+ include Google::Apis::Core::Hashable
1996
+
1997
+ # The human-readable description of the cause of failure.
1998
+ # Corresponds to the JSON property `cause`
1999
+ # @return [String]
2000
+ attr_accessor :cause
2001
+
2002
+ # The Google standard error code that best describes the state. For example: -
2003
+ # OK means the analysis on this entity has been successfully finished; -
2004
+ # PERMISSION_DENIED means an access denied error is encountered; -
2005
+ # DEADLINE_EXCEEDED means the analysis on this entity hasn't been started in
2006
+ # time;
2007
+ # Corresponds to the JSON property `code`
2008
+ # @return [String]
2009
+ attr_accessor :code
2010
+
2011
+ def initialize(**args)
2012
+ update!(**args)
2013
+ end
2014
+
2015
+ # Update properties of this object
2016
+ def update!(**args)
2017
+ @cause = args[:cause] if args.key?(:cause)
2018
+ @code = args[:code] if args.key?(:code)
2019
+ end
2020
+ end
2021
+
1467
2022
  # A result of IAM Policy search, containing information of an IAM policy.
1468
2023
  class IamPolicySearchResult
1469
2024
  include Google::Apis::Core::Hashable
@@ -1537,6 +2092,32 @@ module Google
1537
2092
  end
1538
2093
  end
1539
2094
 
2095
+ # Specifies an identity for which to determine resource access, based on roles
2096
+ # assigned either directly to them or to the groups they belong to, directly or
2097
+ # indirectly.
2098
+ class IdentitySelector
2099
+ include Google::Apis::Core::Hashable
2100
+
2101
+ # Required. The identity appear in the form of members in [IAM policy binding](
2102
+ # https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of
2103
+ # supported forms are: "user:mike@example.com", "group:admins@example.com", "
2104
+ # domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com".
2105
+ # Notice that wildcard characters (such as * and ?) are not supported. You must
2106
+ # give a specific identity.
2107
+ # Corresponds to the JSON property `identity`
2108
+ # @return [String]
2109
+ attr_accessor :identity
2110
+
2111
+ def initialize(**args)
2112
+ update!(**args)
2113
+ end
2114
+
2115
+ # Update properties of this object
2116
+ def update!(**args)
2117
+ @identity = args[:identity] if args.key?(:identity)
2118
+ end
2119
+ end
2120
+
1540
2121
  #
1541
2122
  class ListFeedsResponse
1542
2123
  include Google::Apis::Core::Hashable
@@ -1618,6 +2199,98 @@ module Google
1618
2199
  end
1619
2200
  end
1620
2201
 
2202
+ # Contains query options.
2203
+ class Options
2204
+ include Google::Apis::Core::Hashable
2205
+
2206
+ # Optional. If true, the response will include access analysis from identities
2207
+ # to resources via service account impersonation. This is a very expensive
2208
+ # operation, because many derived queries will be executed. We highly recommend
2209
+ # you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if
2210
+ # the request analyzes for which resources user A has permission P, and there's
2211
+ # an IAM policy states user A has iam.serviceAccounts.getAccessToken permission
2212
+ # to a service account SA, and there's another IAM policy states service account
2213
+ # SA has permission P to a GCP folder F, then user A potentially has access to
2214
+ # the GCP folder F. And those advanced analysis results will be included in
2215
+ # AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another
2216
+ # example, if the request analyzes for who has permission P to a GCP folder F,
2217
+ # and there's an IAM policy states user A has iam.serviceAccounts.actAs
2218
+ # permission to a service account SA, and there's another IAM policy states
2219
+ # service account SA has permission P to the GCP folder F, then user A
2220
+ # potentially has access to the GCP folder F. And those advanced analysis
2221
+ # results will be included in AnalyzeIamPolicyResponse.
2222
+ # service_account_impersonation_analysis. Default is false.
2223
+ # Corresponds to the JSON property `analyzeServiceAccountImpersonation`
2224
+ # @return [Boolean]
2225
+ attr_accessor :analyze_service_account_impersonation
2226
+ alias_method :analyze_service_account_impersonation?, :analyze_service_account_impersonation
2227
+
2228
+ # Optional. If true, the identities section of the result will expand any Google
2229
+ # groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.
2230
+ # identity_selector is specified, the identity in the result will be determined
2231
+ # by the selector, and this flag is not allowed to set. Default is false.
2232
+ # Corresponds to the JSON property `expandGroups`
2233
+ # @return [Boolean]
2234
+ attr_accessor :expand_groups
2235
+ alias_method :expand_groups?, :expand_groups
2236
+
2237
+ # Optional. If true and IamPolicyAnalysisQuery.resource_selector is not
2238
+ # specified, the resource section of the result will expand any resource
2239
+ # attached to an IAM policy to include resources lower in the resource hierarchy.
2240
+ # For example, if the request analyzes for which resources user A has
2241
+ # permission P, and the results include an IAM policy with P on a GCP folder,
2242
+ # the results will also include resources in that folder with permission P. If
2243
+ # true and IamPolicyAnalysisQuery.resource_selector is specified, the resource
2244
+ # section of the result will expand the specified resource to include resources
2245
+ # lower in the resource hierarchy. Only project or lower resources are supported.
2246
+ # Folder and organization resource cannot be used together with this option.
2247
+ # For example, if the request analyzes for which users have permission P on a
2248
+ # GCP project with this option enabled, the results will include all users who
2249
+ # have permission P on that project or any lower resource. Default is false.
2250
+ # Corresponds to the JSON property `expandResources`
2251
+ # @return [Boolean]
2252
+ attr_accessor :expand_resources
2253
+ alias_method :expand_resources?, :expand_resources
2254
+
2255
+ # Optional. If true, the access section of result will expand any roles
2256
+ # appearing in IAM policy bindings to include their permissions. If
2257
+ # IamPolicyAnalysisQuery.access_selector is specified, the access section of the
2258
+ # result will be determined by the selector, and this flag is not allowed to set.
2259
+ # Default is false.
2260
+ # Corresponds to the JSON property `expandRoles`
2261
+ # @return [Boolean]
2262
+ attr_accessor :expand_roles
2263
+ alias_method :expand_roles?, :expand_roles
2264
+
2265
+ # Optional. If true, the result will output group identity edges, starting from
2266
+ # the binding's group members, to any expanded identities. Default is false.
2267
+ # Corresponds to the JSON property `outputGroupEdges`
2268
+ # @return [Boolean]
2269
+ attr_accessor :output_group_edges
2270
+ alias_method :output_group_edges?, :output_group_edges
2271
+
2272
+ # Optional. If true, the result will output resource edges, starting from the
2273
+ # policy attached resource, to any expanded resources. Default is false.
2274
+ # Corresponds to the JSON property `outputResourceEdges`
2275
+ # @return [Boolean]
2276
+ attr_accessor :output_resource_edges
2277
+ alias_method :output_resource_edges?, :output_resource_edges
2278
+
2279
+ def initialize(**args)
2280
+ update!(**args)
2281
+ end
2282
+
2283
+ # Update properties of this object
2284
+ def update!(**args)
2285
+ @analyze_service_account_impersonation = args[:analyze_service_account_impersonation] if args.key?(:analyze_service_account_impersonation)
2286
+ @expand_groups = args[:expand_groups] if args.key?(:expand_groups)
2287
+ @expand_resources = args[:expand_resources] if args.key?(:expand_resources)
2288
+ @expand_roles = args[:expand_roles] if args.key?(:expand_roles)
2289
+ @output_group_edges = args[:output_group_edges] if args.key?(:output_group_edges)
2290
+ @output_resource_edges = args[:output_resource_edges] if args.key?(:output_resource_edges)
2291
+ end
2292
+ end
2293
+
1621
2294
  # Output configuration for export assets destination.
1622
2295
  class OutputConfig
1623
2296
  include Google::Apis::Core::Hashable
@@ -1968,6 +2641,30 @@ module Google
1968
2641
  end
1969
2642
  end
1970
2643
 
2644
+ # Specifies the resource to analyze for access policies, which may be set
2645
+ # directly on the resource, or on ancestors such as organizations, folders or
2646
+ # projects.
2647
+ class ResourceSelector
2648
+ include Google::Apis::Core::Hashable
2649
+
2650
+ # Required. The [full resource name] (https://cloud.google.com/asset-inventory/
2651
+ # docs/resource-name-format) of a resource of [supported resource types](https://
2652
+ # cloud.google.com/asset-inventory/docs/supported-asset-types#
2653
+ # analyzable_asset_types).
2654
+ # Corresponds to the JSON property `fullResourceName`
2655
+ # @return [String]
2656
+ attr_accessor :full_resource_name
2657
+
2658
+ def initialize(**args)
2659
+ update!(**args)
2660
+ end
2661
+
2662
+ # Update properties of this object
2663
+ def update!(**args)
2664
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
2665
+ end
2666
+ end
2667
+
1971
2668
  # Search all IAM policies response.
1972
2669
  class SearchAllIamPoliciesResponse
1973
2670
  include Google::Apis::Core::Hashable