google-api-client 0.47.0 → 0.48.0

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