google-cloud-asset-v1 0.6.1 → 0.10.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.
@@ -82,6 +82,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
82
82
  optional :dataset, :string, 1
83
83
  optional :table, :string, 2
84
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
85
95
  end
86
96
  add_message "google.cloud.asset.v1.PubsubDestination" do
87
97
  optional :topic, :string, 1
@@ -121,12 +131,78 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
121
131
  repeated :results, :message, 1, "google.cloud.asset.v1.IamPolicySearchResult"
122
132
  optional :next_page_token, :string, 2
123
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
124
199
  add_enum "google.cloud.asset.v1.ContentType" do
125
200
  value :CONTENT_TYPE_UNSPECIFIED, 0
126
201
  value :RESOURCE, 1
127
202
  value :IAM_POLICY, 2
128
203
  value :ORG_POLICY, 4
129
204
  value :ACCESS_POLICY, 5
205
+ value :OS_INVENTORY, 6
130
206
  end
131
207
  end
132
208
  end
@@ -150,6 +226,8 @@ module Google
150
226
  GcsOutputResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.GcsOutputResult").msgclass
151
227
  GcsDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.GcsDestination").msgclass
152
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
153
231
  PubsubDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.PubsubDestination").msgclass
154
232
  FeedOutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.FeedOutputConfig").msgclass
155
233
  Feed = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.Feed").msgclass
@@ -157,6 +235,20 @@ module Google
157
235
  SearchAllResourcesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllResourcesResponse").msgclass
158
236
  SearchAllIamPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.SearchAllIamPoliciesRequest").msgclass
159
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
160
252
  ContentType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.asset.v1.ContentType").enummodule
161
253
  end
162
254
  end
@@ -43,7 +43,7 @@ module Google
43
43
  # at least 2 seconds with exponential retry to poll the export operation
44
44
  # result. For regular-size resource parent, the export operation usually
45
45
  # finishes within 5 minutes.
46
- rpc :ExportAssets, Google::Cloud::Asset::V1::ExportAssetsRequest, Google::Longrunning::Operation
46
+ rpc :ExportAssets, ::Google::Cloud::Asset::V1::ExportAssetsRequest, ::Google::Longrunning::Operation
47
47
  # Batch gets the update history of assets that overlap a time window.
48
48
  # For IAM_POLICY content, this API outputs history when the asset and its
49
49
  # attached IAM POLICY both exist. This can create gaps in the output history.
@@ -51,28 +51,41 @@ module Google
51
51
  # deleted status.
52
52
  # If a specified asset does not exist, this API returns an INVALID_ARGUMENT
53
53
  # error.
54
- 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
55
55
  # Creates a feed in a parent project/folder/organization to listen to its
56
56
  # asset updates.
57
- 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
58
58
  # Gets details about an asset feed.
59
- 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
60
60
  # Lists all asset feeds in a parent project/folder/organization.
61
- 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
62
62
  # Updates an asset feed configuration.
63
- 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
64
64
  # Deletes an asset feed.
65
- rpc :DeleteFeed, Google::Cloud::Asset::V1::DeleteFeedRequest, Google::Protobuf::Empty
65
+ rpc :DeleteFeed, ::Google::Cloud::Asset::V1::DeleteFeedRequest, ::Google::Protobuf::Empty
66
66
  # Searches all Cloud resources within the specified scope, such as a project,
67
67
  # folder, or organization. The caller must be granted the
68
68
  # `cloudasset.assets.searchAllResources` permission on the desired scope,
69
69
  # otherwise the request will be rejected.
70
- rpc :SearchAllResources, Google::Cloud::Asset::V1::SearchAllResourcesRequest, Google::Cloud::Asset::V1::SearchAllResourcesResponse
70
+ rpc :SearchAllResources, ::Google::Cloud::Asset::V1::SearchAllResourcesRequest, ::Google::Cloud::Asset::V1::SearchAllResourcesResponse
71
71
  # Searches all IAM policies within the specified scope, such as a project,
72
72
  # folder, or organization. The caller must be granted the
73
73
  # `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
74
74
  # otherwise the request will be rejected.
75
- 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
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.6.1"
24
+ VERSION = "0.10.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
@@ -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