google-cloud-asset-v1 0.7.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -54,12 +54,12 @@ module Google
54
54
  # @return [::String]
55
55
  def feed_path **args
56
56
  resources = {
57
- "feed:project" => (proc do |project:, feed:|
57
+ "feed:project" => (proc do |project:, feed:|
58
58
  raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
59
59
 
60
60
  "projects/#{project}/feeds/#{feed}"
61
61
  end),
62
- "feed:folder" => (proc do |folder:, feed:|
62
+ "feed:folder" => (proc do |folder:, feed:|
63
63
  raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
64
64
 
65
65
  "folders/#{folder}/feeds/#{feed}"
@@ -131,12 +131,78 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
131
131
  repeated :results, :message, 1, "google.cloud.asset.v1.IamPolicySearchResult"
132
132
  optional :next_page_token, :string, 2
133
133
  end
134
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisQuery" do
135
+ optional :scope, :string, 1
136
+ optional :resource_selector, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector"
137
+ optional :identity_selector, :message, 3, "google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector"
138
+ optional :access_selector, :message, 4, "google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector"
139
+ optional :options, :message, 5, "google.cloud.asset.v1.IamPolicyAnalysisQuery.Options"
140
+ end
141
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector" do
142
+ optional :full_resource_name, :string, 1
143
+ end
144
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector" do
145
+ optional :identity, :string, 1
146
+ end
147
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector" do
148
+ repeated :roles, :string, 1
149
+ repeated :permissions, :string, 2
150
+ end
151
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisQuery.Options" do
152
+ optional :expand_groups, :bool, 1
153
+ optional :expand_roles, :bool, 2
154
+ optional :expand_resources, :bool, 3
155
+ optional :output_resource_edges, :bool, 4
156
+ optional :output_group_edges, :bool, 5
157
+ optional :analyze_service_account_impersonation, :bool, 6
158
+ end
159
+ add_message "google.cloud.asset.v1.AnalyzeIamPolicyRequest" do
160
+ optional :analysis_query, :message, 1, "google.cloud.asset.v1.IamPolicyAnalysisQuery"
161
+ optional :execution_timeout, :message, 2, "google.protobuf.Duration"
162
+ end
163
+ add_message "google.cloud.asset.v1.AnalyzeIamPolicyResponse" do
164
+ optional :main_analysis, :message, 1, "google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis"
165
+ repeated :service_account_impersonation_analysis, :message, 2, "google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis"
166
+ optional :fully_explored, :bool, 3
167
+ end
168
+ add_message "google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis" do
169
+ optional :analysis_query, :message, 1, "google.cloud.asset.v1.IamPolicyAnalysisQuery"
170
+ repeated :analysis_results, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisResult"
171
+ optional :fully_explored, :bool, 3
172
+ repeated :non_critical_errors, :message, 5, "google.cloud.asset.v1.IamPolicyAnalysisState"
173
+ end
174
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig" do
175
+ oneof :destination do
176
+ optional :gcs_destination, :message, 1, "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination"
177
+ optional :bigquery_destination, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination"
178
+ end
179
+ end
180
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination" do
181
+ optional :uri, :string, 1
182
+ end
183
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination" do
184
+ optional :dataset, :string, 1
185
+ optional :table_prefix, :string, 2
186
+ optional :partition_key, :enum, 3, "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey"
187
+ optional :write_disposition, :string, 4
188
+ end
189
+ add_enum "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey" do
190
+ value :PARTITION_KEY_UNSPECIFIED, 0
191
+ value :REQUEST_TIME, 1
192
+ end
193
+ add_message "google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest" do
194
+ optional :analysis_query, :message, 1, "google.cloud.asset.v1.IamPolicyAnalysisQuery"
195
+ optional :output_config, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisOutputConfig"
196
+ end
197
+ add_message "google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse" do
198
+ end
134
199
  add_enum "google.cloud.asset.v1.ContentType" do
135
200
  value :CONTENT_TYPE_UNSPECIFIED, 0
136
201
  value :RESOURCE, 1
137
202
  value :IAM_POLICY, 2
138
203
  value :ORG_POLICY, 4
139
204
  value :ACCESS_POLICY, 5
205
+ value :OS_INVENTORY, 6
140
206
  end
141
207
  end
142
208
  end
@@ -169,6 +235,20 @@ module Google
169
235
  SearchAllResourcesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllResourcesResponse").msgclass
170
236
  SearchAllIamPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllIamPoliciesRequest").msgclass
171
237
  SearchAllIamPoliciesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllIamPoliciesResponse").msgclass
238
+ IamPolicyAnalysisQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisQuery").msgclass
239
+ IamPolicyAnalysisQuery::ResourceSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector").msgclass
240
+ IamPolicyAnalysisQuery::IdentitySelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector").msgclass
241
+ IamPolicyAnalysisQuery::AccessSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector").msgclass
242
+ IamPolicyAnalysisQuery::Options = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisQuery.Options").msgclass
243
+ AnalyzeIamPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.AnalyzeIamPolicyRequest").msgclass
244
+ AnalyzeIamPolicyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.AnalyzeIamPolicyResponse").msgclass
245
+ AnalyzeIamPolicyResponse::IamPolicyAnalysis = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis").msgclass
246
+ IamPolicyAnalysisOutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisOutputConfig").msgclass
247
+ IamPolicyAnalysisOutputConfig::GcsDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination").msgclass
248
+ IamPolicyAnalysisOutputConfig::BigQueryDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination").msgclass
249
+ IamPolicyAnalysisOutputConfig::BigQueryDestination::PartitionKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey").enummodule
250
+ AnalyzeIamPolicyLongrunningRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest").msgclass
251
+ AnalyzeIamPolicyLongrunningResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse").msgclass
172
252
  ContentType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.ContentType").enummodule
173
253
  end
174
254
  end
@@ -73,6 +73,19 @@ module Google
73
73
  # `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
74
74
  # otherwise the request will be rejected.
75
75
  rpc :SearchAllIamPolicies, ::Google::Cloud::Asset::V1::SearchAllIamPoliciesRequest, ::Google::Cloud::Asset::V1::SearchAllIamPoliciesResponse
76
+ # Analyzes IAM policies to answer which identities have what accesses on
77
+ # which resources.
78
+ rpc :AnalyzeIamPolicy, ::Google::Cloud::Asset::V1::AnalyzeIamPolicyRequest, ::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse
79
+ # Analyzes IAM policies asynchronously to answer which identities have what
80
+ # accesses on which resources, and writes the analysis results to a Google
81
+ # Cloud Storage or a BigQuery destination. For Cloud Storage destination, the
82
+ # output format is the JSON format that represents a
83
+ # [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the
84
+ # [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation
85
+ # status. We recommend intervals of at least 2 seconds with exponential
86
+ # backoff retry to poll the operation result. The metadata contains the
87
+ # request to help callers to map responses to requests.
88
+ rpc :AnalyzeIamPolicyLongrunning, ::Google::Cloud::Asset::V1::AnalyzeIamPolicyLongrunningRequest, ::Google::Longrunning::Operation
76
89
  end
77
90
 
78
91
  Stub = Service.rpc_stub_class
@@ -8,6 +8,7 @@ require 'google/cloud/orgpolicy/v1/orgpolicy_pb'
8
8
  require 'google/iam/v1/policy_pb'
9
9
  require 'google/identity/accesscontextmanager/v1/access_level_pb'
10
10
  require 'google/identity/accesscontextmanager/v1/access_policy_pb'
11
+ require 'google/cloud/osconfig/v1/inventory_pb'
11
12
  require 'google/identity/accesscontextmanager/v1/service_perimeter_pb'
12
13
  require 'google/protobuf/any_pb'
13
14
  require 'google/protobuf/struct_pb'
@@ -41,6 +42,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
41
42
  optional :resource, :message, 3, "google.cloud.asset.v1.Resource"
42
43
  optional :iam_policy, :message, 4, "google.iam.v1.Policy"
43
44
  repeated :org_policy, :message, 6, "google.cloud.orgpolicy.v1.Policy"
45
+ optional :os_inventory, :message, 12, "google.cloud.osconfig.v1.Inventory"
44
46
  repeated :ancestors, :string, 10
45
47
  oneof :access_context_policy do
46
48
  optional :access_policy, :message, 7, "google.identity.accesscontextmanager.v1.AccessPolicy"
@@ -80,6 +82,45 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
80
82
  add_message "google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions" do
81
83
  repeated :permissions, :string, 1
82
84
  end
85
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisState" do
86
+ optional :code, :enum, 1, "google.rpc.Code"
87
+ optional :cause, :string, 2
88
+ end
89
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult" do
90
+ optional :attached_resource_full_name, :string, 1
91
+ optional :iam_binding, :message, 2, "google.iam.v1.Binding"
92
+ repeated :access_control_lists, :message, 3, "google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList"
93
+ optional :identity_list, :message, 4, "google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList"
94
+ optional :fully_explored, :bool, 5
95
+ end
96
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult.Resource" do
97
+ optional :full_resource_name, :string, 1
98
+ optional :analysis_state, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisState"
99
+ end
100
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult.Access" do
101
+ optional :analysis_state, :message, 3, "google.cloud.asset.v1.IamPolicyAnalysisState"
102
+ oneof :oneof_access do
103
+ optional :role, :string, 1
104
+ optional :permission, :string, 2
105
+ end
106
+ end
107
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult.Identity" do
108
+ optional :name, :string, 1
109
+ optional :analysis_state, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisState"
110
+ end
111
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult.Edge" do
112
+ optional :source_node, :string, 1
113
+ optional :target_node, :string, 2
114
+ end
115
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList" do
116
+ repeated :resources, :message, 1, "google.cloud.asset.v1.IamPolicyAnalysisResult.Resource"
117
+ repeated :accesses, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisResult.Access"
118
+ repeated :resource_edges, :message, 3, "google.cloud.asset.v1.IamPolicyAnalysisResult.Edge"
119
+ end
120
+ add_message "google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList" do
121
+ repeated :identities, :message, 1, "google.cloud.asset.v1.IamPolicyAnalysisResult.Identity"
122
+ repeated :group_edges, :message, 2, "google.cloud.asset.v1.IamPolicyAnalysisResult.Edge"
123
+ end
83
124
  end
84
125
  end
85
126
 
@@ -96,6 +137,14 @@ module Google
96
137
  IamPolicySearchResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicySearchResult").msgclass
97
138
  IamPolicySearchResult::Explanation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicySearchResult.Explanation").msgclass
98
139
  IamPolicySearchResult::Explanation::Permissions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions").msgclass
140
+ IamPolicyAnalysisState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisState").msgclass
141
+ IamPolicyAnalysisResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult").msgclass
142
+ IamPolicyAnalysisResult::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult.Resource").msgclass
143
+ IamPolicyAnalysisResult::Access = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult.Access").msgclass
144
+ IamPolicyAnalysisResult::Identity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult.Identity").msgclass
145
+ IamPolicyAnalysisResult::Edge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult.Edge").msgclass
146
+ IamPolicyAnalysisResult::AccessControlList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList").msgclass
147
+ IamPolicyAnalysisResult::IdentityList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList").msgclass
99
148
  end
100
149
  end
101
150
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Asset
23
23
  module V1
24
- VERSION = "0.7.0"
24
+ VERSION = "0.11.0"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,108 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/osconfig/v1/inventory.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/protobuf/timestamp_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/osconfig/v1/inventory.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.osconfig.v1.Inventory" do
10
+ optional :os_info, :message, 1, "google.cloud.osconfig.v1.Inventory.OsInfo"
11
+ map :items, :string, :message, 2, "google.cloud.osconfig.v1.Inventory.Item"
12
+ end
13
+ add_message "google.cloud.osconfig.v1.Inventory.OsInfo" do
14
+ optional :hostname, :string, 9
15
+ optional :long_name, :string, 2
16
+ optional :short_name, :string, 3
17
+ optional :version, :string, 4
18
+ optional :architecture, :string, 5
19
+ optional :kernel_version, :string, 6
20
+ optional :kernel_release, :string, 7
21
+ optional :osconfig_agent_version, :string, 8
22
+ end
23
+ add_message "google.cloud.osconfig.v1.Inventory.Item" do
24
+ optional :id, :string, 1
25
+ optional :origin_type, :enum, 2, "google.cloud.osconfig.v1.Inventory.Item.OriginType"
26
+ optional :create_time, :message, 8, "google.protobuf.Timestamp"
27
+ optional :update_time, :message, 9, "google.protobuf.Timestamp"
28
+ optional :type, :enum, 5, "google.cloud.osconfig.v1.Inventory.Item.Type"
29
+ oneof :details do
30
+ optional :installed_package, :message, 6, "google.cloud.osconfig.v1.Inventory.SoftwarePackage"
31
+ optional :available_package, :message, 7, "google.cloud.osconfig.v1.Inventory.SoftwarePackage"
32
+ end
33
+ end
34
+ add_enum "google.cloud.osconfig.v1.Inventory.Item.OriginType" do
35
+ value :ORIGIN_TYPE_UNSPECIFIED, 0
36
+ value :INVENTORY_REPORT, 1
37
+ end
38
+ add_enum "google.cloud.osconfig.v1.Inventory.Item.Type" do
39
+ value :TYPE_UNSPECIFIED, 0
40
+ value :INSTALLED_PACKAGE, 1
41
+ value :AVAILABLE_PACKAGE, 2
42
+ end
43
+ add_message "google.cloud.osconfig.v1.Inventory.SoftwarePackage" do
44
+ oneof :details do
45
+ optional :yum_package, :message, 1, "google.cloud.osconfig.v1.Inventory.VersionedPackage"
46
+ optional :apt_package, :message, 2, "google.cloud.osconfig.v1.Inventory.VersionedPackage"
47
+ optional :zypper_package, :message, 3, "google.cloud.osconfig.v1.Inventory.VersionedPackage"
48
+ optional :googet_package, :message, 4, "google.cloud.osconfig.v1.Inventory.VersionedPackage"
49
+ optional :zypper_patch, :message, 5, "google.cloud.osconfig.v1.Inventory.ZypperPatch"
50
+ optional :wua_package, :message, 6, "google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage"
51
+ optional :qfe_package, :message, 7, "google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage"
52
+ optional :cos_package, :message, 8, "google.cloud.osconfig.v1.Inventory.VersionedPackage"
53
+ end
54
+ end
55
+ add_message "google.cloud.osconfig.v1.Inventory.VersionedPackage" do
56
+ optional :package_name, :string, 4
57
+ optional :architecture, :string, 2
58
+ optional :version, :string, 3
59
+ end
60
+ add_message "google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage" do
61
+ optional :title, :string, 1
62
+ optional :description, :string, 2
63
+ repeated :categories, :message, 3, "google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory"
64
+ repeated :kb_article_ids, :string, 4
65
+ optional :support_url, :string, 11
66
+ repeated :more_info_urls, :string, 5
67
+ optional :update_id, :string, 6
68
+ optional :revision_number, :int32, 7
69
+ optional :last_deployment_change_time, :message, 10, "google.protobuf.Timestamp"
70
+ end
71
+ add_message "google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory" do
72
+ optional :id, :string, 1
73
+ optional :name, :string, 2
74
+ end
75
+ add_message "google.cloud.osconfig.v1.Inventory.ZypperPatch" do
76
+ optional :patch_name, :string, 5
77
+ optional :category, :string, 2
78
+ optional :severity, :string, 3
79
+ optional :summary, :string, 4
80
+ end
81
+ add_message "google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage" do
82
+ optional :caption, :string, 1
83
+ optional :description, :string, 2
84
+ optional :hot_fix_id, :string, 3
85
+ optional :install_time, :message, 5, "google.protobuf.Timestamp"
86
+ end
87
+ end
88
+ end
89
+
90
+ module Google
91
+ module Cloud
92
+ module OsConfig
93
+ module V1
94
+ Inventory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory").msgclass
95
+ Inventory::OsInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.OsInfo").msgclass
96
+ Inventory::Item = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.Item").msgclass
97
+ Inventory::Item::OriginType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.Item.OriginType").enummodule
98
+ Inventory::Item::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.Item.Type").enummodule
99
+ Inventory::SoftwarePackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.SoftwarePackage").msgclass
100
+ Inventory::VersionedPackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.VersionedPackage").msgclass
101
+ Inventory::WindowsUpdatePackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage").msgclass
102
+ Inventory::WindowsUpdatePackage::WindowsUpdateCategory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory").msgclass
103
+ Inventory::ZypperPatch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.ZypperPatch").msgclass
104
+ Inventory::WindowsQuickFixEngineeringPackage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage").msgclass
105
+ end
106
+ end
107
+ end
108
+ end
@@ -54,6 +54,12 @@ module Google
54
54
  # This indicates that the field may be set once in a request to create a
55
55
  # resource, but may not be changed thereafter.
56
56
  IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
57
63
  end
58
64
  end
59
65
  end
@@ -292,7 +292,7 @@ module Google
292
292
  # [partition_spec] determines whether to export to partitioned table(s) and
293
293
  # how to partition the data.
294
294
  #
295
- # If [partition_spec] is unset or [partition_spec.partion_key] is unset or
295
+ # If [partition_spec] is unset or [partition_spec.partition_key] is unset or
296
296
  # `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to
297
297
  # non-partitioned table(s). [force] will decide whether to overwrite existing
298
298
  # table(s).
@@ -625,6 +625,329 @@ module Google
625
625
  extend ::Google::Protobuf::MessageExts::ClassMethods
626
626
  end
627
627
 
628
+ # IAM policy analysis query message.
629
+ # @!attribute [rw] scope
630
+ # @return [::String]
631
+ # Required. The relative name of the root asset. Only resources and IAM policies within
632
+ # the scope will be analyzed.
633
+ #
634
+ # This can only be an organization number (such as "organizations/123"), a
635
+ # folder number (such as "folders/123"), a project ID (such as
636
+ # "projects/my-project-id"), or a project number (such as "projects/12345").
637
+ #
638
+ # To know how to get organization id, visit [here
639
+ # ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
640
+ #
641
+ # To know how to get folder or project id, visit [here
642
+ # ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
643
+ # @!attribute [rw] resource_selector
644
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery::ResourceSelector]
645
+ # Optional. Specifies a resource for analysis.
646
+ # @!attribute [rw] identity_selector
647
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery::IdentitySelector]
648
+ # Optional. Specifies an identity for analysis.
649
+ # @!attribute [rw] access_selector
650
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery::AccessSelector]
651
+ # Optional. Specifies roles or permissions for analysis. This is optional.
652
+ # @!attribute [rw] options
653
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery::Options]
654
+ # Optional. The query options.
655
+ class IamPolicyAnalysisQuery
656
+ include ::Google::Protobuf::MessageExts
657
+ extend ::Google::Protobuf::MessageExts::ClassMethods
658
+
659
+ # Specifies the resource to analyze for access policies, which may be set
660
+ # directly on the resource, or on ancestors such as organizations, folders or
661
+ # projects.
662
+ # @!attribute [rw] full_resource_name
663
+ # @return [::String]
664
+ # Required. The [full resource name]
665
+ # (https://cloud.google.com/asset-inventory/docs/resource-name-format)
666
+ # of a resource of [supported resource
667
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
668
+ class ResourceSelector
669
+ include ::Google::Protobuf::MessageExts
670
+ extend ::Google::Protobuf::MessageExts::ClassMethods
671
+ end
672
+
673
+ # Specifies an identity for which to determine resource access, based on
674
+ # roles assigned either directly to them or to the groups they belong to,
675
+ # directly or indirectly.
676
+ # @!attribute [rw] identity
677
+ # @return [::String]
678
+ # Required. The identity appear in the form of members in
679
+ # [IAM policy
680
+ # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
681
+ #
682
+ # The examples of supported forms are:
683
+ # "user:mike@example.com",
684
+ # "group:admins@example.com",
685
+ # "domain:google.com",
686
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com".
687
+ #
688
+ # Notice that wildcard characters (such as * and ?) are not supported.
689
+ # You must give a specific identity.
690
+ class IdentitySelector
691
+ include ::Google::Protobuf::MessageExts
692
+ extend ::Google::Protobuf::MessageExts::ClassMethods
693
+ end
694
+
695
+ # Specifies roles and/or permissions to analyze, to determine both the
696
+ # identities possessing them and the resources they control. If multiple
697
+ # values are specified, results will include roles or permissions matching
698
+ # any of them. The total number of roles and permissions should be equal or
699
+ # less than 10.
700
+ # @!attribute [rw] roles
701
+ # @return [::Array<::String>]
702
+ # Optional. The roles to appear in result.
703
+ # @!attribute [rw] permissions
704
+ # @return [::Array<::String>]
705
+ # Optional. The permissions to appear in result.
706
+ class AccessSelector
707
+ include ::Google::Protobuf::MessageExts
708
+ extend ::Google::Protobuf::MessageExts::ClassMethods
709
+ end
710
+
711
+ # Contains query options.
712
+ # @!attribute [rw] expand_groups
713
+ # @return [::Boolean]
714
+ # Optional. If true, the identities section of the result will expand any
715
+ # Google groups appearing in an IAM policy binding.
716
+ #
717
+ # If {::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery#identity_selector IamPolicyAnalysisQuery.identity_selector} is specified, the
718
+ # identity in the result will be determined by the selector, and this flag
719
+ # is not allowed to set.
720
+ #
721
+ # Default is false.
722
+ # @!attribute [rw] expand_roles
723
+ # @return [::Boolean]
724
+ # Optional. If true, the access section of result will expand any roles
725
+ # appearing in IAM policy bindings to include their permissions.
726
+ #
727
+ # If {::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery#access_selector IamPolicyAnalysisQuery.access_selector} is specified, the access
728
+ # section of the result will be determined by the selector, and this flag
729
+ # is not allowed to set.
730
+ #
731
+ # Default is false.
732
+ # @!attribute [rw] expand_resources
733
+ # @return [::Boolean]
734
+ # Optional. If true and {::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery#resource_selector IamPolicyAnalysisQuery.resource_selector} is not
735
+ # specified, the resource section of the result will expand any resource
736
+ # attached to an IAM policy to include resources lower in the resource
737
+ # hierarchy.
738
+ #
739
+ # For example, if the request analyzes for which resources user A has
740
+ # permission P, and the results include an IAM policy with P on a GCP
741
+ # folder, the results will also include resources in that folder with
742
+ # permission P.
743
+ #
744
+ # If true and {::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery#resource_selector IamPolicyAnalysisQuery.resource_selector} is specified,
745
+ # the resource section of the result will expand the specified resource to
746
+ # include resources lower in the resource hierarchy. Only project or
747
+ # lower resources are supported. Folder and organization resource cannot be
748
+ # used together with this option.
749
+ #
750
+ # For example, if the request analyzes for which users have permission P on
751
+ # a GCP project with this option enabled, the results will include all
752
+ # users who have permission P on that project or any lower resource.
753
+ #
754
+ # Default is false.
755
+ # @!attribute [rw] output_resource_edges
756
+ # @return [::Boolean]
757
+ # Optional. If true, the result will output resource edges, starting
758
+ # from the policy attached resource, to any expanded resources.
759
+ # Default is false.
760
+ # @!attribute [rw] output_group_edges
761
+ # @return [::Boolean]
762
+ # Optional. If true, the result will output group identity edges, starting
763
+ # from the binding's group members, to any expanded identities.
764
+ # Default is false.
765
+ # @!attribute [rw] analyze_service_account_impersonation
766
+ # @return [::Boolean]
767
+ # Optional. If true, the response will include access analysis from identities to
768
+ # resources via service account impersonation. This is a very expensive
769
+ # operation, because many derived queries will be executed. We highly
770
+ # recommend you use {::Google::Cloud::Asset::V1::AssetService::Client#analyze_iam_policy_longrunning AssetService.AnalyzeIamPolicyLongrunning} rpc
771
+ # instead.
772
+ #
773
+ # For example, if the request analyzes for which resources user A has
774
+ # permission P, and there's an IAM policy states user A has
775
+ # iam.serviceAccounts.getAccessToken permission to a service account SA,
776
+ # and there's another IAM policy states service account SA has permission P
777
+ # to a GCP folder F, then user A potentially has access to the GCP folder
778
+ # F. And those advanced analysis results will be included in
779
+ # {::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse#service_account_impersonation_analysis AnalyzeIamPolicyResponse.service_account_impersonation_analysis}.
780
+ #
781
+ # Another example, if the request analyzes for who has
782
+ # permission P to a GCP folder F, and there's an IAM policy states user A
783
+ # has iam.serviceAccounts.actAs permission to a service account SA, and
784
+ # there's another IAM policy states service account SA has permission P to
785
+ # the GCP folder F, then user A potentially has access to the GCP folder
786
+ # F. And those advanced analysis results will be included in
787
+ # {::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse#service_account_impersonation_analysis AnalyzeIamPolicyResponse.service_account_impersonation_analysis}.
788
+ #
789
+ # Default is false.
790
+ class Options
791
+ include ::Google::Protobuf::MessageExts
792
+ extend ::Google::Protobuf::MessageExts::ClassMethods
793
+ end
794
+ end
795
+
796
+ # A request message for {::Google::Cloud::Asset::V1::AssetService::Client#analyze_iam_policy AssetService.AnalyzeIamPolicy}.
797
+ # @!attribute [rw] analysis_query
798
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery]
799
+ # Required. The request query.
800
+ # @!attribute [rw] execution_timeout
801
+ # @return [::Google::Protobuf::Duration]
802
+ # Optional. Amount of time executable has to complete. See JSON representation of
803
+ # [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
804
+ #
805
+ # If this field is set with a value less than the RPC deadline, and the
806
+ # execution of your query hasn't finished in the specified
807
+ # execution timeout, you will get a response with partial result.
808
+ # Otherwise, your query's execution will continue until the RPC deadline.
809
+ # If it's not finished until then, you will get a DEADLINE_EXCEEDED error.
810
+ #
811
+ # Default is empty.
812
+ class AnalyzeIamPolicyRequest
813
+ include ::Google::Protobuf::MessageExts
814
+ extend ::Google::Protobuf::MessageExts::ClassMethods
815
+ end
816
+
817
+ # A response message for {::Google::Cloud::Asset::V1::AssetService::Client#analyze_iam_policy AssetService.AnalyzeIamPolicy}.
818
+ # @!attribute [rw] main_analysis
819
+ # @return [::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse::IamPolicyAnalysis]
820
+ # The main analysis that matches the original request.
821
+ # @!attribute [rw] service_account_impersonation_analysis
822
+ # @return [::Array<::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse::IamPolicyAnalysis>]
823
+ # The service account impersonation analysis if
824
+ # [AnalyzeIamPolicyRequest.analyze_service_account_impersonation][] is
825
+ # enabled.
826
+ # @!attribute [rw] fully_explored
827
+ # @return [::Boolean]
828
+ # Represents whether all entries in the {::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse#main_analysis main_analysis} and
829
+ # {::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse#service_account_impersonation_analysis service_account_impersonation_analysis} have been fully explored to
830
+ # answer the query in the request.
831
+ class AnalyzeIamPolicyResponse
832
+ include ::Google::Protobuf::MessageExts
833
+ extend ::Google::Protobuf::MessageExts::ClassMethods
834
+
835
+ # An analysis message to group the query and results.
836
+ # @!attribute [rw] analysis_query
837
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery]
838
+ # The analysis query.
839
+ # @!attribute [rw] analysis_results
840
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisResult>]
841
+ # A list of {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult IamPolicyAnalysisResult} that matches the analysis query, or
842
+ # empty if no result is found.
843
+ # @!attribute [rw] fully_explored
844
+ # @return [::Boolean]
845
+ # Represents whether all entries in the {::Google::Cloud::Asset::V1::AnalyzeIamPolicyResponse::IamPolicyAnalysis#analysis_results analysis_results} have been
846
+ # fully explored to answer the query.
847
+ # @!attribute [rw] non_critical_errors
848
+ # @return [::Array<::Google::Cloud::Asset::V1::IamPolicyAnalysisState>]
849
+ # A list of non-critical errors happened during the query handling.
850
+ class IamPolicyAnalysis
851
+ include ::Google::Protobuf::MessageExts
852
+ extend ::Google::Protobuf::MessageExts::ClassMethods
853
+ end
854
+ end
855
+
856
+ # Output configuration for export IAM policy analysis destination.
857
+ # @!attribute [rw] gcs_destination
858
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisOutputConfig::GcsDestination]
859
+ # Destination on Cloud Storage.
860
+ # @!attribute [rw] bigquery_destination
861
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisOutputConfig::BigQueryDestination]
862
+ # Destination on BigQuery.
863
+ class IamPolicyAnalysisOutputConfig
864
+ include ::Google::Protobuf::MessageExts
865
+ extend ::Google::Protobuf::MessageExts::ClassMethods
866
+
867
+ # A Cloud Storage location.
868
+ # @!attribute [rw] uri
869
+ # @return [::String]
870
+ # Required. The uri of the Cloud Storage object. It's the same uri that is used by
871
+ # gsutil. For example: "gs://bucket_name/object_name". See
872
+ # [Quickstart: Using the gsutil tool]
873
+ # (https://cloud.google.com/storage/docs/quickstart-gsutil) for examples.
874
+ class GcsDestination
875
+ include ::Google::Protobuf::MessageExts
876
+ extend ::Google::Protobuf::MessageExts::ClassMethods
877
+ end
878
+
879
+ # A BigQuery destination.
880
+ # @!attribute [rw] dataset
881
+ # @return [::String]
882
+ # Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
883
+ # to which the analysis results should be exported. If this dataset does
884
+ # not exist, the export call will return an INVALID_ARGUMENT error.
885
+ # @!attribute [rw] table_prefix
886
+ # @return [::String]
887
+ # Required. The prefix of the BigQuery tables to which the analysis results will be
888
+ # written. Tables will be created based on this table_prefix if not exist:
889
+ # * <table_prefix>_analysis table will contain export operation's metadata.
890
+ # * <table_prefix>_analysis_result will contain all the
891
+ # {::Google::Cloud::Asset::V1::IamPolicyAnalysisResult IamPolicyAnalysisResult}.
892
+ # When [partition_key] is specified, both tables will be partitioned based
893
+ # on the [partition_key].
894
+ # @!attribute [rw] partition_key
895
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisOutputConfig::BigQueryDestination::PartitionKey]
896
+ # The partition key for BigQuery partitioned table.
897
+ # @!attribute [rw] write_disposition
898
+ # @return [::String]
899
+ # Optional. Specifies the action that occurs if the destination table or partition
900
+ # already exists. The following values are supported:
901
+ #
902
+ # * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
903
+ # overwrites the entire table or all the partitions data.
904
+ # * WRITE_APPEND: If the table or partition already exists, BigQuery
905
+ # appends the data to the table or the latest partition.
906
+ # * WRITE_EMPTY: If the table already exists and contains data, an error is
907
+ # returned.
908
+ #
909
+ # The default value is WRITE_APPEND. Each action is atomic and only occurs
910
+ # if BigQuery is able to complete the job successfully. Details are at
911
+ # https://cloud.google.com/bigquery/docs/loading-data-local#appending_to_or_overwriting_a_table_using_a_local_file.
912
+ class BigQueryDestination
913
+ include ::Google::Protobuf::MessageExts
914
+ extend ::Google::Protobuf::MessageExts::ClassMethods
915
+
916
+ # This enum determines the partition key column for the bigquery tables.
917
+ # Partitioning can improve query performance and reduce query cost by
918
+ # filtering partitions. Refer to
919
+ # https://cloud.google.com/bigquery/docs/partitioned-tables for details.
920
+ module PartitionKey
921
+ # Unspecified partition key. Tables won't be partitioned using this
922
+ # option.
923
+ PARTITION_KEY_UNSPECIFIED = 0
924
+
925
+ # The time when the request is received. If specified as partition key,
926
+ # the result table(s) is partitoned by the RequestTime column, an
927
+ # additional timestamp column representing when the request was received.
928
+ REQUEST_TIME = 1
929
+ end
930
+ end
931
+ end
932
+
933
+ # A request message for {::Google::Cloud::Asset::V1::AssetService::Client#analyze_iam_policy_longrunning AssetService.AnalyzeIamPolicyLongrunning}.
934
+ # @!attribute [rw] analysis_query
935
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisQuery]
936
+ # Required. The request query.
937
+ # @!attribute [rw] output_config
938
+ # @return [::Google::Cloud::Asset::V1::IamPolicyAnalysisOutputConfig]
939
+ # Required. Output configuration indicating where the results will be output to.
940
+ class AnalyzeIamPolicyLongrunningRequest
941
+ include ::Google::Protobuf::MessageExts
942
+ extend ::Google::Protobuf::MessageExts::ClassMethods
943
+ end
944
+
945
+ # A response message for {::Google::Cloud::Asset::V1::AssetService::Client#analyze_iam_policy_longrunning AssetService.AnalyzeIamPolicyLongrunning}.
946
+ class AnalyzeIamPolicyLongrunningResponse
947
+ include ::Google::Protobuf::MessageExts
948
+ extend ::Google::Protobuf::MessageExts::ClassMethods
949
+ end
950
+
628
951
  # Asset content type.
629
952
  module ContentType
630
953
  # Unspecified content type.
@@ -641,6 +964,9 @@ module Google
641
964
 
642
965
  # The Cloud Access context manager Policy set on an asset.
643
966
  ACCESS_POLICY = 5
967
+
968
+ # The runtime OS Inventory information.
969
+ OS_INVENTORY = 6
644
970
  end
645
971
  end
646
972
  end