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
@@ -22,6 +22,24 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1
24
24
 
25
+ class AccessSelector
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class AnalyzeIamPolicyLongrunningRequest
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class AnalyzeIamPolicyResponse
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
25
43
  class Asset
26
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
45
 
@@ -106,6 +124,54 @@ module Google
106
124
  include Google::Apis::Core::JsonObjectSupport
107
125
  end
108
126
 
127
+ class GoogleCloudAssetV1Access
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class GoogleCloudAssetV1AccessControlList
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class GoogleCloudAssetV1BigQueryDestination
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class GoogleCloudAssetV1Edge
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class GoogleCloudAssetV1GcsDestination
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class GoogleCloudAssetV1Identity
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class GoogleCloudAssetV1IdentityList
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
169
+ class GoogleCloudAssetV1Resource
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
109
175
  class GoogleCloudOrgpolicyV1BooleanPolicy
110
176
  class Representation < Google::Apis::Core::JsonRepresentation; end
111
177
 
@@ -190,12 +256,48 @@ module Google
190
256
  include Google::Apis::Core::JsonObjectSupport
191
257
  end
192
258
 
259
+ class IamPolicyAnalysis
260
+ class Representation < Google::Apis::Core::JsonRepresentation; end
261
+
262
+ include Google::Apis::Core::JsonObjectSupport
263
+ end
264
+
265
+ class IamPolicyAnalysisOutputConfig
266
+ class Representation < Google::Apis::Core::JsonRepresentation; end
267
+
268
+ include Google::Apis::Core::JsonObjectSupport
269
+ end
270
+
271
+ class IamPolicyAnalysisQuery
272
+ class Representation < Google::Apis::Core::JsonRepresentation; end
273
+
274
+ include Google::Apis::Core::JsonObjectSupport
275
+ end
276
+
277
+ class IamPolicyAnalysisResult
278
+ class Representation < Google::Apis::Core::JsonRepresentation; end
279
+
280
+ include Google::Apis::Core::JsonObjectSupport
281
+ end
282
+
283
+ class IamPolicyAnalysisState
284
+ class Representation < Google::Apis::Core::JsonRepresentation; end
285
+
286
+ include Google::Apis::Core::JsonObjectSupport
287
+ end
288
+
193
289
  class IamPolicySearchResult
194
290
  class Representation < Google::Apis::Core::JsonRepresentation; end
195
291
 
196
292
  include Google::Apis::Core::JsonObjectSupport
197
293
  end
198
294
 
295
+ class IdentitySelector
296
+ class Representation < Google::Apis::Core::JsonRepresentation; end
297
+
298
+ include Google::Apis::Core::JsonObjectSupport
299
+ end
300
+
199
301
  class ListFeedsResponse
200
302
  class Representation < Google::Apis::Core::JsonRepresentation; end
201
303
 
@@ -208,6 +310,12 @@ module Google
208
310
  include Google::Apis::Core::JsonObjectSupport
209
311
  end
210
312
 
313
+ class Options
314
+ class Representation < Google::Apis::Core::JsonRepresentation; end
315
+
316
+ include Google::Apis::Core::JsonObjectSupport
317
+ end
318
+
211
319
  class OutputConfig
212
320
  class Representation < Google::Apis::Core::JsonRepresentation; end
213
321
 
@@ -250,6 +358,12 @@ module Google
250
358
  include Google::Apis::Core::JsonObjectSupport
251
359
  end
252
360
 
361
+ class ResourceSelector
362
+ class Representation < Google::Apis::Core::JsonRepresentation; end
363
+
364
+ include Google::Apis::Core::JsonObjectSupport
365
+ end
366
+
253
367
  class SearchAllIamPoliciesResponse
254
368
  class Representation < Google::Apis::Core::JsonRepresentation; end
255
369
 
@@ -286,6 +400,35 @@ module Google
286
400
  include Google::Apis::Core::JsonObjectSupport
287
401
  end
288
402
 
403
+ class AccessSelector
404
+ # @private
405
+ class Representation < Google::Apis::Core::JsonRepresentation
406
+ collection :permissions, as: 'permissions'
407
+ collection :roles, as: 'roles'
408
+ end
409
+ end
410
+
411
+ class AnalyzeIamPolicyLongrunningRequest
412
+ # @private
413
+ class Representation < Google::Apis::Core::JsonRepresentation
414
+ property :analysis_query, as: 'analysisQuery', class: Google::Apis::CloudassetV1::IamPolicyAnalysisQuery, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisQuery::Representation
415
+
416
+ property :output_config, as: 'outputConfig', class: Google::Apis::CloudassetV1::IamPolicyAnalysisOutputConfig, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisOutputConfig::Representation
417
+
418
+ end
419
+ end
420
+
421
+ class AnalyzeIamPolicyResponse
422
+ # @private
423
+ class Representation < Google::Apis::Core::JsonRepresentation
424
+ property :fully_explored, as: 'fullyExplored'
425
+ property :main_analysis, as: 'mainAnalysis', class: Google::Apis::CloudassetV1::IamPolicyAnalysis, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysis::Representation
426
+
427
+ collection :service_account_impersonation_analysis, as: 'serviceAccountImpersonationAnalysis', class: Google::Apis::CloudassetV1::IamPolicyAnalysis, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysis::Representation
428
+
429
+ end
430
+ end
431
+
289
432
  class Asset
290
433
  # @private
291
434
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -429,6 +572,81 @@ module Google
429
572
  end
430
573
  end
431
574
 
575
+ class GoogleCloudAssetV1Access
576
+ # @private
577
+ class Representation < Google::Apis::Core::JsonRepresentation
578
+ property :analysis_state, as: 'analysisState', class: Google::Apis::CloudassetV1::IamPolicyAnalysisState, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisState::Representation
579
+
580
+ property :permission, as: 'permission'
581
+ property :role, as: 'role'
582
+ end
583
+ end
584
+
585
+ class GoogleCloudAssetV1AccessControlList
586
+ # @private
587
+ class Representation < Google::Apis::Core::JsonRepresentation
588
+ collection :accesses, as: 'accesses', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Access, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Access::Representation
589
+
590
+ collection :resource_edges, as: 'resourceEdges', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge::Representation
591
+
592
+ collection :resources, as: 'resources', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource::Representation
593
+
594
+ end
595
+ end
596
+
597
+ class GoogleCloudAssetV1BigQueryDestination
598
+ # @private
599
+ class Representation < Google::Apis::Core::JsonRepresentation
600
+ property :dataset, as: 'dataset'
601
+ property :partition_key, as: 'partitionKey'
602
+ property :table_prefix, as: 'tablePrefix'
603
+ property :write_disposition, as: 'writeDisposition'
604
+ end
605
+ end
606
+
607
+ class GoogleCloudAssetV1Edge
608
+ # @private
609
+ class Representation < Google::Apis::Core::JsonRepresentation
610
+ property :source_node, as: 'sourceNode'
611
+ property :target_node, as: 'targetNode'
612
+ end
613
+ end
614
+
615
+ class GoogleCloudAssetV1GcsDestination
616
+ # @private
617
+ class Representation < Google::Apis::Core::JsonRepresentation
618
+ property :uri, as: 'uri'
619
+ end
620
+ end
621
+
622
+ class GoogleCloudAssetV1Identity
623
+ # @private
624
+ class Representation < Google::Apis::Core::JsonRepresentation
625
+ property :analysis_state, as: 'analysisState', class: Google::Apis::CloudassetV1::IamPolicyAnalysisState, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisState::Representation
626
+
627
+ property :name, as: 'name'
628
+ end
629
+ end
630
+
631
+ class GoogleCloudAssetV1IdentityList
632
+ # @private
633
+ class Representation < Google::Apis::Core::JsonRepresentation
634
+ collection :group_edges, as: 'groupEdges', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge::Representation
635
+
636
+ collection :identities, as: 'identities', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1Identity, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1Identity::Representation
637
+
638
+ end
639
+ end
640
+
641
+ class GoogleCloudAssetV1Resource
642
+ # @private
643
+ class Representation < Google::Apis::Core::JsonRepresentation
644
+ property :analysis_state, as: 'analysisState', class: Google::Apis::CloudassetV1::IamPolicyAnalysisState, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisState::Representation
645
+
646
+ property :full_resource_name, as: 'fullResourceName'
647
+ end
648
+ end
649
+
432
650
  class GoogleCloudOrgpolicyV1BooleanPolicy
433
651
  # @private
434
652
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -578,6 +796,66 @@ module Google
578
796
  end
579
797
  end
580
798
 
799
+ class IamPolicyAnalysis
800
+ # @private
801
+ class Representation < Google::Apis::Core::JsonRepresentation
802
+ property :analysis_query, as: 'analysisQuery', class: Google::Apis::CloudassetV1::IamPolicyAnalysisQuery, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisQuery::Representation
803
+
804
+ collection :analysis_results, as: 'analysisResults', class: Google::Apis::CloudassetV1::IamPolicyAnalysisResult, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisResult::Representation
805
+
806
+ property :fully_explored, as: 'fullyExplored'
807
+ collection :non_critical_errors, as: 'nonCriticalErrors', class: Google::Apis::CloudassetV1::IamPolicyAnalysisState, decorator: Google::Apis::CloudassetV1::IamPolicyAnalysisState::Representation
808
+
809
+ end
810
+ end
811
+
812
+ class IamPolicyAnalysisOutputConfig
813
+ # @private
814
+ class Representation < Google::Apis::Core::JsonRepresentation
815
+ property :bigquery_destination, as: 'bigqueryDestination', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1BigQueryDestination, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1BigQueryDestination::Representation
816
+
817
+ property :gcs_destination, as: 'gcsDestination', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1GcsDestination, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1GcsDestination::Representation
818
+
819
+ end
820
+ end
821
+
822
+ class IamPolicyAnalysisQuery
823
+ # @private
824
+ class Representation < Google::Apis::Core::JsonRepresentation
825
+ property :access_selector, as: 'accessSelector', class: Google::Apis::CloudassetV1::AccessSelector, decorator: Google::Apis::CloudassetV1::AccessSelector::Representation
826
+
827
+ property :identity_selector, as: 'identitySelector', class: Google::Apis::CloudassetV1::IdentitySelector, decorator: Google::Apis::CloudassetV1::IdentitySelector::Representation
828
+
829
+ property :options, as: 'options', class: Google::Apis::CloudassetV1::Options, decorator: Google::Apis::CloudassetV1::Options::Representation
830
+
831
+ property :resource_selector, as: 'resourceSelector', class: Google::Apis::CloudassetV1::ResourceSelector, decorator: Google::Apis::CloudassetV1::ResourceSelector::Representation
832
+
833
+ property :scope, as: 'scope'
834
+ end
835
+ end
836
+
837
+ class IamPolicyAnalysisResult
838
+ # @private
839
+ class Representation < Google::Apis::Core::JsonRepresentation
840
+ collection :access_control_lists, as: 'accessControlLists', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1AccessControlList, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1AccessControlList::Representation
841
+
842
+ property :attached_resource_full_name, as: 'attachedResourceFullName'
843
+ property :fully_explored, as: 'fullyExplored'
844
+ property :iam_binding, as: 'iamBinding', class: Google::Apis::CloudassetV1::Binding, decorator: Google::Apis::CloudassetV1::Binding::Representation
845
+
846
+ property :identity_list, as: 'identityList', class: Google::Apis::CloudassetV1::GoogleCloudAssetV1IdentityList, decorator: Google::Apis::CloudassetV1::GoogleCloudAssetV1IdentityList::Representation
847
+
848
+ end
849
+ end
850
+
851
+ class IamPolicyAnalysisState
852
+ # @private
853
+ class Representation < Google::Apis::Core::JsonRepresentation
854
+ property :cause, as: 'cause'
855
+ property :code, as: 'code'
856
+ end
857
+ end
858
+
581
859
  class IamPolicySearchResult
582
860
  # @private
583
861
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -590,6 +868,13 @@ module Google
590
868
  end
591
869
  end
592
870
 
871
+ class IdentitySelector
872
+ # @private
873
+ class Representation < Google::Apis::Core::JsonRepresentation
874
+ property :identity, as: 'identity'
875
+ end
876
+ end
877
+
593
878
  class ListFeedsResponse
594
879
  # @private
595
880
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -610,6 +895,18 @@ module Google
610
895
  end
611
896
  end
612
897
 
898
+ class Options
899
+ # @private
900
+ class Representation < Google::Apis::Core::JsonRepresentation
901
+ property :analyze_service_account_impersonation, as: 'analyzeServiceAccountImpersonation'
902
+ property :expand_groups, as: 'expandGroups'
903
+ property :expand_resources, as: 'expandResources'
904
+ property :expand_roles, as: 'expandRoles'
905
+ property :output_group_edges, as: 'outputGroupEdges'
906
+ property :output_resource_edges, as: 'outputResourceEdges'
907
+ end
908
+ end
909
+
613
910
  class OutputConfig
614
911
  # @private
615
912
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -681,6 +978,13 @@ module Google
681
978
  end
682
979
  end
683
980
 
981
+ class ResourceSelector
982
+ # @private
983
+ class Representation < Google::Apis::Core::JsonRepresentation
984
+ property :full_resource_name, as: 'fullResourceName'
985
+ end
986
+ end
987
+
684
988
  class SearchAllIamPoliciesResponse
685
989
  # @private
686
990
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -248,6 +248,177 @@ module Google
248
248
  execute_or_queue_command(command, &block)
249
249
  end
250
250
 
251
+ # Analyzes IAM policies to answer which identities have what accesses on which
252
+ # resources.
253
+ # @param [String] scope
254
+ # Required. The relative name of the root asset. Only resources and IAM policies
255
+ # within the scope will be analyzed. This can only be an organization number (
256
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
257
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
258
+ # projects/12345"). To know how to get organization id, visit [here ](https://
259
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
260
+ # retrieving_your_organization_id). To know how to get folder or project id,
261
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
262
+ # folders#viewing_or_listing_folders_and_projects).
263
+ # @param [Array<String>, String] analysis_query_access_selector_permissions
264
+ # Optional. The permissions to appear in result.
265
+ # @param [Array<String>, String] analysis_query_access_selector_roles
266
+ # Optional. The roles to appear in result.
267
+ # @param [String] analysis_query_identity_selector_identity
268
+ # Required. The identity appear in the form of members in [IAM policy binding](
269
+ # https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of
270
+ # supported forms are: "user:mike@example.com", "group:admins@example.com", "
271
+ # domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com".
272
+ # Notice that wildcard characters (such as * and ?) are not supported. You must
273
+ # give a specific identity.
274
+ # @param [Boolean] analysis_query_options_analyze_service_account_impersonation
275
+ # Optional. If true, the response will include access analysis from identities
276
+ # to resources via service account impersonation. This is a very expensive
277
+ # operation, because many derived queries will be executed. We highly recommend
278
+ # you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if
279
+ # the request analyzes for which resources user A has permission P, and there's
280
+ # an IAM policy states user A has iam.serviceAccounts.getAccessToken permission
281
+ # to a service account SA, and there's another IAM policy states service account
282
+ # SA has permission P to a GCP folder F, then user A potentially has access to
283
+ # the GCP folder F. And those advanced analysis results will be included in
284
+ # AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another
285
+ # example, if the request analyzes for who has permission P to a GCP folder F,
286
+ # and there's an IAM policy states user A has iam.serviceAccounts.actAs
287
+ # permission to a service account SA, and there's another IAM policy states
288
+ # service account SA has permission P to the GCP folder F, then user A
289
+ # potentially has access to the GCP folder F. And those advanced analysis
290
+ # results will be included in AnalyzeIamPolicyResponse.
291
+ # service_account_impersonation_analysis. Default is false.
292
+ # @param [Boolean] analysis_query_options_expand_groups
293
+ # Optional. If true, the identities section of the result will expand any Google
294
+ # groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.
295
+ # identity_selector is specified, the identity in the result will be determined
296
+ # by the selector, and this flag is not allowed to set. Default is false.
297
+ # @param [Boolean] analysis_query_options_expand_resources
298
+ # Optional. If true and IamPolicyAnalysisQuery.resource_selector is not
299
+ # specified, the resource section of the result will expand any resource
300
+ # attached to an IAM policy to include resources lower in the resource hierarchy.
301
+ # For example, if the request analyzes for which resources user A has
302
+ # permission P, and the results include an IAM policy with P on a GCP folder,
303
+ # the results will also include resources in that folder with permission P. If
304
+ # true and IamPolicyAnalysisQuery.resource_selector is specified, the resource
305
+ # section of the result will expand the specified resource to include resources
306
+ # lower in the resource hierarchy. Only project or lower resources are supported.
307
+ # Folder and organization resource cannot be used together with this option.
308
+ # For example, if the request analyzes for which users have permission P on a
309
+ # GCP project with this option enabled, the results will include all users who
310
+ # have permission P on that project or any lower resource. Default is false.
311
+ # @param [Boolean] analysis_query_options_expand_roles
312
+ # Optional. If true, the access section of result will expand any roles
313
+ # appearing in IAM policy bindings to include their permissions. If
314
+ # IamPolicyAnalysisQuery.access_selector is specified, the access section of the
315
+ # result will be determined by the selector, and this flag is not allowed to set.
316
+ # Default is false.
317
+ # @param [Boolean] analysis_query_options_output_group_edges
318
+ # Optional. If true, the result will output group identity edges, starting from
319
+ # the binding's group members, to any expanded identities. Default is false.
320
+ # @param [Boolean] analysis_query_options_output_resource_edges
321
+ # Optional. If true, the result will output resource edges, starting from the
322
+ # policy attached resource, to any expanded resources. Default is false.
323
+ # @param [String] analysis_query_resource_selector_full_resource_name
324
+ # Required. The [full resource name] (https://cloud.google.com/asset-inventory/
325
+ # docs/resource-name-format) of a resource of [supported resource types](https://
326
+ # cloud.google.com/asset-inventory/docs/supported-asset-types#
327
+ # analyzable_asset_types).
328
+ # @param [String] execution_timeout
329
+ # Optional. Amount of time executable has to complete. See JSON representation
330
+ # of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
331
+ # If this field is set with a value less than the RPC deadline, and the
332
+ # execution of your query hasn't finished in the specified execution timeout,
333
+ # you will get a response with partial result. Otherwise, your query's execution
334
+ # will continue until the RPC deadline. If it's not finished until then, you
335
+ # will get a DEADLINE_EXCEEDED error. Default is empty.
336
+ # @param [String] fields
337
+ # Selector specifying which fields to include in a partial response.
338
+ # @param [String] quota_user
339
+ # Available to use for quota purposes for server-side applications. Can be any
340
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
341
+ # @param [Google::Apis::RequestOptions] options
342
+ # Request-specific options
343
+ #
344
+ # @yield [result, err] Result & error if block supplied
345
+ # @yieldparam result [Google::Apis::CloudassetV1::AnalyzeIamPolicyResponse] parsed result object
346
+ # @yieldparam err [StandardError] error object if request failed
347
+ #
348
+ # @return [Google::Apis::CloudassetV1::AnalyzeIamPolicyResponse]
349
+ #
350
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
351
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
352
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
353
+ def analyze_iam_policy(scope, analysis_query_access_selector_permissions: nil, analysis_query_access_selector_roles: nil, analysis_query_identity_selector_identity: nil, analysis_query_options_analyze_service_account_impersonation: nil, analysis_query_options_expand_groups: nil, analysis_query_options_expand_resources: nil, analysis_query_options_expand_roles: nil, analysis_query_options_output_group_edges: nil, analysis_query_options_output_resource_edges: nil, analysis_query_resource_selector_full_resource_name: nil, execution_timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
354
+ command = make_simple_command(:get, 'v1/{+scope}:analyzeIamPolicy', options)
355
+ command.response_representation = Google::Apis::CloudassetV1::AnalyzeIamPolicyResponse::Representation
356
+ command.response_class = Google::Apis::CloudassetV1::AnalyzeIamPolicyResponse
357
+ command.params['scope'] = scope unless scope.nil?
358
+ command.query['analysisQuery.accessSelector.permissions'] = analysis_query_access_selector_permissions unless analysis_query_access_selector_permissions.nil?
359
+ command.query['analysisQuery.accessSelector.roles'] = analysis_query_access_selector_roles unless analysis_query_access_selector_roles.nil?
360
+ command.query['analysisQuery.identitySelector.identity'] = analysis_query_identity_selector_identity unless analysis_query_identity_selector_identity.nil?
361
+ command.query['analysisQuery.options.analyzeServiceAccountImpersonation'] = analysis_query_options_analyze_service_account_impersonation unless analysis_query_options_analyze_service_account_impersonation.nil?
362
+ command.query['analysisQuery.options.expandGroups'] = analysis_query_options_expand_groups unless analysis_query_options_expand_groups.nil?
363
+ command.query['analysisQuery.options.expandResources'] = analysis_query_options_expand_resources unless analysis_query_options_expand_resources.nil?
364
+ command.query['analysisQuery.options.expandRoles'] = analysis_query_options_expand_roles unless analysis_query_options_expand_roles.nil?
365
+ command.query['analysisQuery.options.outputGroupEdges'] = analysis_query_options_output_group_edges unless analysis_query_options_output_group_edges.nil?
366
+ command.query['analysisQuery.options.outputResourceEdges'] = analysis_query_options_output_resource_edges unless analysis_query_options_output_resource_edges.nil?
367
+ command.query['analysisQuery.resourceSelector.fullResourceName'] = analysis_query_resource_selector_full_resource_name unless analysis_query_resource_selector_full_resource_name.nil?
368
+ command.query['executionTimeout'] = execution_timeout unless execution_timeout.nil?
369
+ command.query['fields'] = fields unless fields.nil?
370
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
371
+ execute_or_queue_command(command, &block)
372
+ end
373
+
374
+ # Analyzes IAM policies asynchronously to answer which identities have what
375
+ # accesses on which resources, and writes the analysis results to a Google Cloud
376
+ # Storage or a BigQuery destination. For Cloud Storage destination, the output
377
+ # format is the JSON format that represents a AnalyzeIamPolicyResponse. This
378
+ # method implements the google.longrunning.Operation, which allows you to track
379
+ # the operation status. We recommend intervals of at least 2 seconds with
380
+ # exponential backoff retry to poll the operation result. The metadata contains
381
+ # the request to help callers to map responses to requests.
382
+ # @param [String] scope
383
+ # Required. The relative name of the root asset. Only resources and IAM policies
384
+ # within the scope will be analyzed. This can only be an organization number (
385
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
386
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
387
+ # projects/12345"). To know how to get organization id, visit [here ](https://
388
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
389
+ # retrieving_your_organization_id). To know how to get folder or project id,
390
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
391
+ # folders#viewing_or_listing_folders_and_projects).
392
+ # @param [Google::Apis::CloudassetV1::AnalyzeIamPolicyLongrunningRequest] analyze_iam_policy_longrunning_request_object
393
+ # @param [String] fields
394
+ # Selector specifying which fields to include in a partial response.
395
+ # @param [String] quota_user
396
+ # Available to use for quota purposes for server-side applications. Can be any
397
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
398
+ # @param [Google::Apis::RequestOptions] options
399
+ # Request-specific options
400
+ #
401
+ # @yield [result, err] Result & error if block supplied
402
+ # @yieldparam result [Google::Apis::CloudassetV1::Operation] parsed result object
403
+ # @yieldparam err [StandardError] error object if request failed
404
+ #
405
+ # @return [Google::Apis::CloudassetV1::Operation]
406
+ #
407
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
408
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
409
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
410
+ def analyze_iam_policy_longrunning(scope, analyze_iam_policy_longrunning_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
411
+ command = make_simple_command(:post, 'v1/{+scope}:analyzeIamPolicyLongrunning', options)
412
+ command.request_representation = Google::Apis::CloudassetV1::AnalyzeIamPolicyLongrunningRequest::Representation
413
+ command.request_object = analyze_iam_policy_longrunning_request_object
414
+ command.response_representation = Google::Apis::CloudassetV1::Operation::Representation
415
+ command.response_class = Google::Apis::CloudassetV1::Operation
416
+ command.params['scope'] = scope unless scope.nil?
417
+ command.query['fields'] = fields unless fields.nil?
418
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
419
+ execute_or_queue_command(command, &block)
420
+ end
421
+
251
422
  # Batch gets the update history of assets that overlap a time window. For
252
423
  # IAM_POLICY content, this API outputs history when the asset and its attached
253
424
  # IAM POLICY both exist. This can create gaps in the output history. Otherwise,