google-cloud-asset-v1 0.5.3 → 0.9.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.
@@ -26,6 +26,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
26
  add_message "google.cloud.asset.v1.ExportAssetsResponse" do
27
27
  optional :read_time, :message, 1, "google.protobuf.Timestamp"
28
28
  optional :output_config, :message, 2, "google.cloud.asset.v1.OutputConfig"
29
+ optional :output_result, :message, 3, "google.cloud.asset.v1.OutputResult"
29
30
  end
30
31
  add_message "google.cloud.asset.v1.BatchGetAssetsHistoryRequest" do
31
32
  optional :parent, :string, 1
@@ -63,6 +64,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
63
64
  optional :bigquery_destination, :message, 2, "google.cloud.asset.v1.BigQueryDestination"
64
65
  end
65
66
  end
67
+ add_message "google.cloud.asset.v1.OutputResult" do
68
+ oneof :result do
69
+ optional :gcs_result, :message, 1, "google.cloud.asset.v1.GcsOutputResult"
70
+ end
71
+ end
72
+ add_message "google.cloud.asset.v1.GcsOutputResult" do
73
+ repeated :uris, :string, 1
74
+ end
66
75
  add_message "google.cloud.asset.v1.GcsDestination" do
67
76
  oneof :object_uri do
68
77
  optional :uri, :string, 1
@@ -73,6 +82,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
73
82
  optional :dataset, :string, 1
74
83
  optional :table, :string, 2
75
84
  optional :force, :bool, 3
85
+ optional :partition_spec, :message, 4, "google.cloud.asset.v1.PartitionSpec"
86
+ optional :separate_tables_per_asset_type, :bool, 5
87
+ end
88
+ add_message "google.cloud.asset.v1.PartitionSpec" do
89
+ optional :partition_key, :enum, 1, "google.cloud.asset.v1.PartitionSpec.PartitionKey"
90
+ end
91
+ add_enum "google.cloud.asset.v1.PartitionSpec.PartitionKey" do
92
+ value :PARTITION_KEY_UNSPECIFIED, 0
93
+ value :READ_TIME, 1
94
+ value :REQUEST_TIME, 2
76
95
  end
77
96
  add_message "google.cloud.asset.v1.PubsubDestination" do
78
97
  optional :topic, :string, 1
@@ -112,12 +131,78 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
112
131
  repeated :results, :message, 1, "google.cloud.asset.v1.IamPolicySearchResult"
113
132
  optional :next_page_token, :string, 2
114
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
115
199
  add_enum "google.cloud.asset.v1.ContentType" do
116
200
  value :CONTENT_TYPE_UNSPECIFIED, 0
117
201
  value :RESOURCE, 1
118
202
  value :IAM_POLICY, 2
119
203
  value :ORG_POLICY, 4
120
204
  value :ACCESS_POLICY, 5
205
+ value :OS_INVENTORY, 6
121
206
  end
122
207
  end
123
208
  end
@@ -137,8 +222,12 @@ module Google
137
222
  UpdateFeedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.UpdateFeedRequest").msgclass
138
223
  DeleteFeedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.DeleteFeedRequest").msgclass
139
224
  OutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.OutputConfig").msgclass
225
+ OutputResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.OutputResult").msgclass
226
+ GcsOutputResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.GcsOutputResult").msgclass
140
227
  GcsDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.GcsDestination").msgclass
141
228
  BigQueryDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.BigQueryDestination").msgclass
229
+ PartitionSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.PartitionSpec").msgclass
230
+ PartitionSpec::PartitionKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.PartitionSpec.PartitionKey").enummodule
142
231
  PubsubDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.PubsubDestination").msgclass
143
232
  FeedOutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.FeedOutputConfig").msgclass
144
233
  Feed = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.Feed").msgclass
@@ -146,6 +235,20 @@ module Google
146
235
  SearchAllResourcesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllResourcesResponse").msgclass
147
236
  SearchAllIamPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllIamPoliciesRequest").msgclass
148
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
149
252
  ContentType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.ContentType").enummodule
150
253
  end
151
254
  end
@@ -36,15 +36,14 @@ module Google
36
36
  # Exports assets with time and resource types to a given Cloud Storage
37
37
  # location/BigQuery table. For Cloud Storage location destinations, the
38
38
  # output format is newline-delimited JSON. Each line represents a
39
- # [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON
40
- # format; for BigQuery table destinations, the output table stores the fields
41
- # in asset proto as columns. This API implements the
42
- # [google.longrunning.Operation][google.longrunning.Operation] API , which
43
- # allows you to keep track of the export. We recommend intervals of at least
44
- # 2 seconds with exponential retry to poll the export operation result. For
45
- # regular-size resource parent, the export operation usually finishes within
46
- # 5 minutes.
47
- rpc :ExportAssets, Google::Cloud::Asset::V1::ExportAssetsRequest, Google::Longrunning::Operation
39
+ # [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table
40
+ # destinations, the output table stores the fields in asset proto as columns.
41
+ # This API implements the [google.longrunning.Operation][google.longrunning.Operation] API
42
+ # , which allows you to keep track of the export. We recommend intervals of
43
+ # at least 2 seconds with exponential retry to poll the export operation
44
+ # result. For regular-size resource parent, the export operation usually
45
+ # finishes within 5 minutes.
46
+ rpc :ExportAssets, ::Google::Cloud::Asset::V1::ExportAssetsRequest, ::Google::Longrunning::Operation
48
47
  # Batch gets the update history of assets that overlap a time window.
49
48
  # For IAM_POLICY content, this API outputs history when the asset and its
50
49
  # attached IAM POLICY both exist. This can create gaps in the output history.
@@ -52,28 +51,41 @@ module Google
52
51
  # deleted status.
53
52
  # If a specified asset does not exist, this API returns an INVALID_ARGUMENT
54
53
  # error.
55
- rpc :BatchGetAssetsHistory, Google::Cloud::Asset::V1::BatchGetAssetsHistoryRequest, Google::Cloud::Asset::V1::BatchGetAssetsHistoryResponse
54
+ rpc :BatchGetAssetsHistory, ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryRequest, ::Google::Cloud::Asset::V1::BatchGetAssetsHistoryResponse
56
55
  # Creates a feed in a parent project/folder/organization to listen to its
57
56
  # asset updates.
58
- rpc :CreateFeed, Google::Cloud::Asset::V1::CreateFeedRequest, Google::Cloud::Asset::V1::Feed
57
+ rpc :CreateFeed, ::Google::Cloud::Asset::V1::CreateFeedRequest, ::Google::Cloud::Asset::V1::Feed
59
58
  # Gets details about an asset feed.
60
- rpc :GetFeed, Google::Cloud::Asset::V1::GetFeedRequest, Google::Cloud::Asset::V1::Feed
59
+ rpc :GetFeed, ::Google::Cloud::Asset::V1::GetFeedRequest, ::Google::Cloud::Asset::V1::Feed
61
60
  # Lists all asset feeds in a parent project/folder/organization.
62
- rpc :ListFeeds, Google::Cloud::Asset::V1::ListFeedsRequest, Google::Cloud::Asset::V1::ListFeedsResponse
61
+ rpc :ListFeeds, ::Google::Cloud::Asset::V1::ListFeedsRequest, ::Google::Cloud::Asset::V1::ListFeedsResponse
63
62
  # Updates an asset feed configuration.
64
- rpc :UpdateFeed, Google::Cloud::Asset::V1::UpdateFeedRequest, Google::Cloud::Asset::V1::Feed
63
+ rpc :UpdateFeed, ::Google::Cloud::Asset::V1::UpdateFeedRequest, ::Google::Cloud::Asset::V1::Feed
65
64
  # Deletes an asset feed.
66
- rpc :DeleteFeed, Google::Cloud::Asset::V1::DeleteFeedRequest, Google::Protobuf::Empty
67
- # Searches all the resources within the given accessible scope (e.g., a
68
- # project, a folder or an organization). Callers should have
69
- # cloud.assets.SearchAllResources permission upon the requested scope,
65
+ rpc :DeleteFeed, ::Google::Cloud::Asset::V1::DeleteFeedRequest, ::Google::Protobuf::Empty
66
+ # Searches all Cloud resources within the specified scope, such as a project,
67
+ # folder, or organization. The caller must be granted the
68
+ # `cloudasset.assets.searchAllResources` permission on the desired scope,
70
69
  # otherwise the request will be rejected.
71
- rpc :SearchAllResources, Google::Cloud::Asset::V1::SearchAllResourcesRequest, Google::Cloud::Asset::V1::SearchAllResourcesResponse
72
- # Searches all the IAM policies within the given accessible scope (e.g., a
73
- # project, a folder or an organization). Callers should have
74
- # cloud.assets.SearchAllIamPolicies permission upon the requested scope,
70
+ rpc :SearchAllResources, ::Google::Cloud::Asset::V1::SearchAllResourcesRequest, ::Google::Cloud::Asset::V1::SearchAllResourcesResponse
71
+ # Searches all IAM policies within the specified scope, such as a project,
72
+ # folder, or organization. The caller must be granted the
73
+ # `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
75
74
  # otherwise the request will be rejected.
76
- rpc :SearchAllIamPolicies, Google::Cloud::Asset::V1::SearchAllIamPoliciesRequest, Google::Cloud::Asset::V1::SearchAllIamPoliciesResponse
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
77
89
  end
78
90
 
79
91
  Stub = Service.rpc_stub_class
@@ -3,17 +3,18 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/resource_pb'
8
7
  require 'google/cloud/orgpolicy/v1/orgpolicy_pb'
9
8
  require 'google/iam/v1/policy_pb'
10
9
  require 'google/identity/accesscontextmanager/v1/access_level_pb'
11
10
  require 'google/identity/accesscontextmanager/v1/access_policy_pb'
11
+ require 'google/cloud/osconfig/v1/inventory_pb'
12
12
  require 'google/identity/accesscontextmanager/v1/service_perimeter_pb'
13
13
  require 'google/protobuf/any_pb'
14
14
  require 'google/protobuf/struct_pb'
15
15
  require 'google/protobuf/timestamp_pb'
16
16
  require 'google/rpc/code_pb'
17
+ require 'google/api/annotations_pb'
17
18
  Google::Protobuf::DescriptorPool.generated_pool.build do
18
19
  add_file("google/cloud/asset/v1/assets.proto", :syntax => :proto3) do
19
20
  add_message "google.cloud.asset.v1.TemporalAsset" do
@@ -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.5.3"
24
+ VERSION = "0.9.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
@@ -43,12 +43,12 @@ module Google
43
43
  #
44
44
  # The ResourceDescriptor Yaml config will look like:
45
45
  #
46
- # resources:
47
- # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/\\{project}/topics/\\{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/\\{project}"
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
52
  #
53
53
  # Sometimes, resources have multiple patterns, typically because they can
54
54
  # live under multiple parents.
@@ -183,15 +183,24 @@ module Google
183
183
  # }
184
184
  # @!attribute [rw] plural
185
185
  # @return [::String]
186
- # The plural name used in the resource name, such as 'projects' for
187
- # the name of 'projects/\\{project}'. It is the same concept of the `plural`
188
- # field in k8s CRD spec
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
189
190
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
190
194
  # @!attribute [rw] singular
191
195
  # @return [::String]
192
196
  # The same concept of the `singular` field in k8s CRD spec
193
197
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
194
198
  # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
195
204
  class ResourceDescriptor
196
205
  include ::Google::Protobuf::MessageExts
197
206
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -211,6 +220,22 @@ module Google
211
220
  # that from being necessary once there are multiple patterns.)
212
221
  FUTURE_MULTI_PATTERN = 2
213
222
  end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
214
239
  end
215
240
 
216
241
  # Defines a proto annotation that describes a string field that refers to
@@ -226,6 +251,17 @@ module Google
226
251
  # type: "pubsub.googleapis.com/Topic"
227
252
  # }];
228
253
  # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
229
265
  # @!attribute [rw] child_type
230
266
  # @return [::String]
231
267
  # The resource type of a child collection that the annotated field
@@ -234,11 +270,11 @@ module Google
234
270
  #
235
271
  # Example:
236
272
  #
237
- # message ListLogEntriesRequest {
238
- # string parent = 1 [(google.api.resource_reference) = {
239
- # child_type: "logging.googleapis.com/LogEntry"
240
- # };
241
- # }
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
242
278
  class ResourceReference
243
279
  include ::Google::Protobuf::MessageExts
244
280
  extend ::Google::Protobuf::MessageExts::ClassMethods