google-cloud-security_center-v1p1beta1 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/security_center/v1p1beta1/security_center/client.rb +21 -10
  3. data/lib/google/cloud/security_center/v1p1beta1/security_center/paths.rb +174 -16
  4. data/lib/google/cloud/security_center/v1p1beta1/version.rb +1 -1
  5. data/lib/google/cloud/securitycenter/v1p1beta1/asset_pb.rb +4 -1
  6. data/lib/google/cloud/securitycenter/v1p1beta1/finding_pb.rb +2 -1
  7. data/lib/google/cloud/securitycenter/v1p1beta1/folder_pb.rb +24 -0
  8. data/lib/google/cloud/securitycenter/v1p1beta1/notification_config_pb.rb +1 -1
  9. data/lib/google/cloud/securitycenter/v1p1beta1/notification_message_pb.rb +1 -2
  10. data/lib/google/cloud/securitycenter/v1p1beta1/organization_settings_pb.rb +2 -1
  11. data/lib/google/cloud/securitycenter/v1p1beta1/resource_pb.rb +3 -0
  12. data/lib/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response_pb.rb +1 -1
  13. data/lib/google/cloud/securitycenter/v1p1beta1/security_marks_pb.rb +2 -1
  14. data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_pb.rb +2 -0
  15. data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_services_pb.rb +4 -2
  16. data/lib/google/cloud/securitycenter/v1p1beta1/source_pb.rb +2 -1
  17. data/proto_docs/google/cloud/securitycenter/v1p1beta1/asset.rb +13 -2
  18. data/proto_docs/google/cloud/securitycenter/v1p1beta1/finding.rb +10 -1
  19. data/proto_docs/google/cloud/securitycenter/v1p1beta1/folder.rb +40 -0
  20. data/proto_docs/google/cloud/securitycenter/v1p1beta1/organization_settings.rb +4 -0
  21. data/proto_docs/google/cloud/securitycenter/v1p1beta1/resource.rb +5 -0
  22. data/proto_docs/google/cloud/securitycenter/v1p1beta1/security_marks.rb +10 -0
  23. data/proto_docs/google/cloud/securitycenter/v1p1beta1/securitycenter_service.rb +23 -9
  24. data/proto_docs/google/cloud/securitycenter/v1p1beta1/source.rb +8 -0
  25. metadata +7 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c44acbbb5bfd3f1e20569f56c679aef76bf45ee71a1fd23608444f3460bcb6b1
4
- data.tar.gz: 515f4eb43a8fce551dc31cddb26ec3e2764e74b1d8af98b67980759a3de59d15
3
+ metadata.gz: cd23c05011239f48ff73594d6212a94e0550eda084a771d0f70a2d7f29fc4499
4
+ data.tar.gz: 58d4f2637af89e5270742234a396ea9a2cd93843255e7fdd198ec27390c4124f
5
5
  SHA512:
6
- metadata.gz: be85bfc5e9503f401c1372fff0a3fe4d1be59c4c0a6909a511637b07a660338dc845533e5d145aa1ae127ce12c8e797c088dfec430624f713b7d1c1788c749be
7
- data.tar.gz: 61a5aec792841133b1aee163afb5b98b7ecaa512d7ec91d9aa56514fb7bda37f6584e9459f23a733fd67910695a8bc06f6c2b6896dbb5d8fdc66995a24fe1260
6
+ metadata.gz: f013e8f67e42714de297c4c0e85b97af4b0e1edc776e41688fb5e88b127a4b1dd98b03dc331f9c488c246d8c61042b91cfe57c10374ac1a61fa220c45b514d19
7
+ data.tar.gz: 41b592ab64b3a48556fca8fc053f1f7b74d3d87e6aba73be58b784b4e90c34f0e2aeaf348b1c10c4eb398b05bfe4cbc3259c0c76ef001da62480105a291d7dab
@@ -850,7 +850,8 @@ module Google
850
850
  #
851
851
  # @param parent [::String]
852
852
  # Required. Name of the organization to groupBy. Its format is
853
- # "organizations/[organization_id]".
853
+ # "organizations/[organization_id], folders/[folder_id], or
854
+ # projects/[project_id]".
854
855
  # @param filter [::String]
855
856
  # Expression that defines the filter to apply across assets.
856
857
  # The expression is a list of zero or more restrictions combined via logical
@@ -1025,7 +1026,9 @@ module Google
1025
1026
  # specified properties.
1026
1027
  #
1027
1028
  # To group across all sources provide a `-` as the source id.
1028
- # Example: /v1p1beta1/organizations/\\{organization_id}/sources/-/findings
1029
+ # Example: /v1/organizations/\\{organization_id}/sources/-/findings,
1030
+ # /v1/folders/\\{folder_id}/sources/-/findings,
1031
+ # /v1/projects/\\{project_id}/sources/-/findings
1029
1032
  #
1030
1033
  # @overload group_findings(request, options = nil)
1031
1034
  # Pass arguments to `group_findings` via a request object, either of type
@@ -1044,9 +1047,12 @@ module Google
1044
1047
  #
1045
1048
  # @param parent [::String]
1046
1049
  # Required. Name of the source to groupBy. Its format is
1047
- # "organizations/[organization_id]/sources/[source_id]". To groupBy across
1048
- # all sources provide a source_id of `-`. For example:
1049
- # organizations/\\{organization_id}/sources/-
1050
+ # "organizations/[organization_id]/sources/[source_id]",
1051
+ # folders/[folder_id]/sources/[source_id], or
1052
+ # projects/[project_id]/sources/[source_id]. To groupBy across all sources
1053
+ # provide a source_id of `-`. For example:
1054
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/-,
1055
+ # or projects/\\{project_id}/sources/-
1050
1056
  # @param filter [::String]
1051
1057
  # Expression that defines the filter to apply across findings.
1052
1058
  # The expression is a list of one or more restrictions combined via logical
@@ -1226,7 +1232,8 @@ module Google
1226
1232
  #
1227
1233
  # @param parent [::String]
1228
1234
  # Required. Name of the organization assets should belong to. Its format is
1229
- # "organizations/[organization_id]".
1235
+ # "organizations/[organization_id], folders/[folder_id], or
1236
+ # projects/[project_id]".
1230
1237
  # @param filter [::String]
1231
1238
  # Expression that defines the filter to apply across assets.
1232
1239
  # The expression is a list of zero or more restrictions combined via logical
@@ -1423,9 +1430,12 @@ module Google
1423
1430
  #
1424
1431
  # @param parent [::String]
1425
1432
  # Required. Name of the source the findings belong to. Its format is
1426
- # "organizations/[organization_id]/sources/[source_id]". To list across all
1427
- # sources provide a source_id of `-`. For example:
1428
- # organizations/\\{organization_id}/sources/-
1433
+ # "organizations/[organization_id]/sources/[source_id],
1434
+ # folders/[folder_id]/sources/[source_id], or
1435
+ # projects/[project_id]/sources/[source_id]". To list across all sources
1436
+ # provide a source_id of `-`. For example:
1437
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/- or
1438
+ # projects/\\{projects_id}/sources/-
1429
1439
  # @param filter [::String]
1430
1440
  # Expression that defines the filter to apply across findings.
1431
1441
  # The expression is a list of one or more restrictions combined via logical
@@ -1684,7 +1694,8 @@ module Google
1684
1694
  #
1685
1695
  # @param parent [::String]
1686
1696
  # Required. Resource name of the parent of sources to list. Its format should be
1687
- # "organizations/[organization_id]".
1697
+ # "organizations/[organization_id], folders/[folder_id], or
1698
+ # projects/[project_id]".
1688
1699
  # @param page_token [::String]
1689
1700
  # The value returned by the last `ListSourcesResponse`; indicates
1690
1701
  # that this is a continuation of a prior `ListSources` call, and
@@ -27,20 +27,73 @@ module Google
27
27
  ##
28
28
  # Create a fully-qualified Finding resource string.
29
29
  #
30
- # The resource will be in the following format:
30
+ # @overload finding_path(organization:, source:, finding:)
31
+ # The resource will be in the following format:
31
32
  #
32
- # `organizations/{organization}/sources/{source}/findings/{finding}`
33
+ # `organizations/{organization}/sources/{source}/findings/{finding}`
33
34
  #
34
- # @param organization [String]
35
- # @param source [String]
36
- # @param finding [String]
35
+ # @param organization [String]
36
+ # @param source [String]
37
+ # @param finding [String]
38
+ #
39
+ # @overload finding_path(folder:, source:, finding:)
40
+ # The resource will be in the following format:
41
+ #
42
+ # `folders/{folder}/sources/{source}/findings/{finding}`
43
+ #
44
+ # @param folder [String]
45
+ # @param source [String]
46
+ # @param finding [String]
47
+ #
48
+ # @overload finding_path(project:, source:, finding:)
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/sources/{source}/findings/{finding}`
52
+ #
53
+ # @param project [String]
54
+ # @param source [String]
55
+ # @param finding [String]
37
56
  #
38
57
  # @return [::String]
39
- def finding_path organization:, source:, finding:
40
- raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
41
- raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
58
+ def finding_path **args
59
+ resources = {
60
+ "finding:organization:source" => (proc do |organization:, source:, finding:|
61
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
62
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
63
+
64
+ "organizations/#{organization}/sources/#{source}/findings/#{finding}"
65
+ end),
66
+ "finding:folder:source" => (proc do |folder:, source:, finding:|
67
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
68
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
69
+
70
+ "folders/#{folder}/sources/#{source}/findings/#{finding}"
71
+ end),
72
+ "finding:project:source" => (proc do |project:, source:, finding:|
73
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
74
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
42
75
 
43
- "organizations/#{organization}/sources/#{source}/findings/#{finding}"
76
+ "projects/#{project}/sources/#{source}/findings/#{finding}"
77
+ end)
78
+ }
79
+
80
+ resource = resources[args.keys.sort.join(":")]
81
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
82
+ resource.call(**args)
83
+ end
84
+
85
+ ##
86
+ # Create a fully-qualified Folder resource string.
87
+ #
88
+ # The resource will be in the following format:
89
+ #
90
+ # `folders/{folder}`
91
+ #
92
+ # @param folder [String]
93
+ #
94
+ # @return [::String]
95
+ def folder_path folder:
96
+ "folders/#{folder}"
44
97
  end
45
98
 
46
99
  ##
@@ -88,6 +141,20 @@ module Google
88
141
  "organizations/#{organization}/organizationSettings"
89
142
  end
90
143
 
144
+ ##
145
+ # Create a fully-qualified Project resource string.
146
+ #
147
+ # The resource will be in the following format:
148
+ #
149
+ # `projects/{project}`
150
+ #
151
+ # @param project [String]
152
+ #
153
+ # @return [::String]
154
+ def project_path project:
155
+ "projects/#{project}"
156
+ end
157
+
91
158
  ##
92
159
  # Create a fully-qualified SecurityMarks resource string.
93
160
  #
@@ -108,6 +175,40 @@ module Google
108
175
  # @param source [String]
109
176
  # @param finding [String]
110
177
  #
178
+ # @overload security_marks_path(folder:, asset:)
179
+ # The resource will be in the following format:
180
+ #
181
+ # `folders/{folder}/assets/{asset}/securityMarks`
182
+ #
183
+ # @param folder [String]
184
+ # @param asset [String]
185
+ #
186
+ # @overload security_marks_path(project:, asset:)
187
+ # The resource will be in the following format:
188
+ #
189
+ # `projects/{project}/assets/{asset}/securityMarks`
190
+ #
191
+ # @param project [String]
192
+ # @param asset [String]
193
+ #
194
+ # @overload security_marks_path(folder:, source:, finding:)
195
+ # The resource will be in the following format:
196
+ #
197
+ # `folders/{folder}/sources/{source}/findings/{finding}/securityMarks`
198
+ #
199
+ # @param folder [String]
200
+ # @param source [String]
201
+ # @param finding [String]
202
+ #
203
+ # @overload security_marks_path(project:, source:, finding:)
204
+ # The resource will be in the following format:
205
+ #
206
+ # `projects/{project}/sources/{source}/findings/{finding}/securityMarks`
207
+ #
208
+ # @param project [String]
209
+ # @param source [String]
210
+ # @param finding [String]
211
+ #
111
212
  # @return [::String]
112
213
  def security_marks_path **args
113
214
  resources = {
@@ -121,6 +222,28 @@ module Google
121
222
  raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
122
223
 
123
224
  "organizations/#{organization}/sources/#{source}/findings/#{finding}/securityMarks"
225
+ end),
226
+ "asset:folder" => (proc do |folder:, asset:|
227
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
228
+
229
+ "folders/#{folder}/assets/#{asset}/securityMarks"
230
+ end),
231
+ "asset:project" => (proc do |project:, asset:|
232
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
233
+
234
+ "projects/#{project}/assets/#{asset}/securityMarks"
235
+ end),
236
+ "finding:folder:source" => (proc do |folder:, source:, finding:|
237
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
238
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
239
+
240
+ "folders/#{folder}/sources/#{source}/findings/#{finding}/securityMarks"
241
+ end),
242
+ "finding:project:source" => (proc do |project:, source:, finding:|
243
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
244
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
245
+
246
+ "projects/#{project}/sources/#{source}/findings/#{finding}/securityMarks"
124
247
  end)
125
248
  }
126
249
 
@@ -132,18 +255,53 @@ module Google
132
255
  ##
133
256
  # Create a fully-qualified Source resource string.
134
257
  #
135
- # The resource will be in the following format:
258
+ # @overload source_path(organization:, source:)
259
+ # The resource will be in the following format:
136
260
  #
137
- # `organizations/{organization}/sources/{source}`
261
+ # `organizations/{organization}/sources/{source}`
138
262
  #
139
- # @param organization [String]
140
- # @param source [String]
263
+ # @param organization [String]
264
+ # @param source [String]
265
+ #
266
+ # @overload source_path(folder:, source:)
267
+ # The resource will be in the following format:
268
+ #
269
+ # `folders/{folder}/sources/{source}`
270
+ #
271
+ # @param folder [String]
272
+ # @param source [String]
273
+ #
274
+ # @overload source_path(project:, source:)
275
+ # The resource will be in the following format:
276
+ #
277
+ # `projects/{project}/sources/{source}`
278
+ #
279
+ # @param project [String]
280
+ # @param source [String]
141
281
  #
142
282
  # @return [::String]
143
- def source_path organization:, source:
144
- raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
283
+ def source_path **args
284
+ resources = {
285
+ "organization:source" => (proc do |organization:, source:|
286
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
287
+
288
+ "organizations/#{organization}/sources/#{source}"
289
+ end),
290
+ "folder:source" => (proc do |folder:, source:|
291
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
292
+
293
+ "folders/#{folder}/sources/#{source}"
294
+ end),
295
+ "project:source" => (proc do |project:, source:|
296
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
297
+
298
+ "projects/#{project}/sources/#{source}"
299
+ end)
300
+ }
145
301
 
146
- "organizations/#{organization}/sources/#{source}"
302
+ resource = resources[args.keys.sort.join(":")]
303
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
304
+ resource.call(**args)
147
305
  end
148
306
 
149
307
  ##
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1p1beta1
24
- VERSION = "0.6.0"
24
+ VERSION = "0.7.0"
25
25
  end
26
26
  end
27
27
  end
@@ -3,11 +3,12 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/resource_pb'
7
+ require 'google/cloud/securitycenter/v1p1beta1/folder_pb'
8
8
  require 'google/cloud/securitycenter/v1p1beta1/security_marks_pb'
9
9
  require 'google/protobuf/struct_pb'
10
10
  require 'google/protobuf/timestamp_pb'
11
+ require 'google/api/annotations_pb'
11
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  add_file("google/cloud/securitycenter/v1p1beta1/asset.proto", :syntax => :proto3) do
13
14
  add_message "google.cloud.securitycenter.v1p1beta1.Asset" do
@@ -18,6 +19,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
18
19
  optional :create_time, :message, 9, "google.protobuf.Timestamp"
19
20
  optional :update_time, :message, 10, "google.protobuf.Timestamp"
20
21
  optional :iam_policy, :message, 11, "google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy"
22
+ optional :canonical_name, :string, 13
21
23
  end
22
24
  add_message "google.cloud.securitycenter.v1p1beta1.Asset.SecurityCenterProperties" do
23
25
  optional :resource_name, :string, 1
@@ -28,6 +30,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
28
30
  optional :resource_display_name, :string, 6
29
31
  optional :resource_parent_display_name, :string, 7
30
32
  optional :resource_project_display_name, :string, 8
33
+ repeated :folders, :message, 10, "google.cloud.securitycenter.v1p1beta1.Folder"
31
34
  end
32
35
  add_message "google.cloud.securitycenter.v1p1beta1.Asset.IamPolicy" do
33
36
  optional :policy_blob, :string, 1
@@ -3,12 +3,12 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/field_behavior_pb'
8
7
  require 'google/api/resource_pb'
9
8
  require 'google/cloud/securitycenter/v1p1beta1/security_marks_pb'
10
9
  require 'google/protobuf/struct_pb'
11
10
  require 'google/protobuf/timestamp_pb'
11
+ require 'google/api/annotations_pb'
12
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
13
13
  add_file("google/cloud/securitycenter/v1p1beta1/finding.proto", :syntax => :proto3) do
14
14
  add_message "google.cloud.securitycenter.v1p1beta1.Finding" do
@@ -23,6 +23,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
23
23
  optional :event_time, :message, 9, "google.protobuf.Timestamp"
24
24
  optional :create_time, :message, 10, "google.protobuf.Timestamp"
25
25
  optional :severity, :enum, 13, "google.cloud.securitycenter.v1p1beta1.Finding.Severity"
26
+ optional :canonical_name, :string, 14
26
27
  end
27
28
  add_enum "google.cloud.securitycenter.v1p1beta1.Finding.State" do
28
29
  value :STATE_UNSPECIFIED, 0
@@ -0,0 +1,24 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1p1beta1/folder.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/securitycenter/v1p1beta1/folder.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.securitycenter.v1p1beta1.Folder" do
10
+ optional :resource_folder, :string, 1
11
+ optional :resource_folder_display_name, :string, 2
12
+ end
13
+ end
14
+ end
15
+
16
+ module Google
17
+ module Cloud
18
+ module SecurityCenter
19
+ module V1p1Beta1
20
+ Folder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1p1beta1.Folder").msgclass
21
+ end
22
+ end
23
+ end
24
+ end
@@ -3,9 +3,9 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/field_behavior_pb'
8
7
  require 'google/api/resource_pb'
8
+ require 'google/api/annotations_pb'
9
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  add_file("google/cloud/securitycenter/v1p1beta1/notification_config.proto", :syntax => :proto3) do
11
11
  add_message "google.cloud.securitycenter.v1p1beta1.NotificationConfig" do
@@ -3,10 +3,9 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
- require 'google/cloud/securitycenter/v1p1beta1/asset_pb'
8
6
  require 'google/cloud/securitycenter/v1p1beta1/finding_pb'
9
7
  require 'google/cloud/securitycenter/v1p1beta1/resource_pb'
8
+ require 'google/api/annotations_pb'
10
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
11
10
  add_file("google/cloud/securitycenter/v1p1beta1/notification_message.proto", :syntax => :proto3) do
12
11
  add_message "google.cloud.securitycenter.v1p1beta1.NotificationMessage" do
@@ -3,8 +3,8 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/resource_pb'
7
+ require 'google/api/annotations_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("google/cloud/securitycenter/v1p1beta1/organization_settings.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1p1beta1.OrganizationSettings" do
@@ -15,6 +15,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  add_message "google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig" do
16
16
  repeated :project_ids, :string, 1
17
17
  optional :inclusion_mode, :enum, 2, "google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.InclusionMode"
18
+ repeated :folder_ids, :string, 3
18
19
  end
19
20
  add_enum "google.cloud.securitycenter.v1p1beta1.OrganizationSettings.AssetDiscoveryConfig.InclusionMode" do
20
21
  value :INCLUSION_MODE_UNSPECIFIED, 0
@@ -3,6 +3,8 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/api/field_behavior_pb'
7
+ require 'google/cloud/securitycenter/v1p1beta1/folder_pb'
6
8
  require 'google/api/annotations_pb'
7
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
10
  add_file("google/cloud/securitycenter/v1p1beta1/resource.proto", :syntax => :proto3) do
@@ -12,6 +14,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
14
  optional :project_display_name, :string, 3
13
15
  optional :parent, :string, 4
14
16
  optional :parent_display_name, :string, 5
17
+ repeated :folders, :message, 7, "google.cloud.securitycenter.v1p1beta1.Folder"
15
18
  end
16
19
  end
17
20
  end
@@ -3,8 +3,8 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/protobuf/duration_pb'
7
+ require 'google/api/annotations_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1p1beta1.RunAssetDiscoveryResponse" do
@@ -3,13 +3,14 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/resource_pb'
7
+ require 'google/api/annotations_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("google/cloud/securitycenter/v1p1beta1/security_marks.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1p1beta1.SecurityMarks" do
11
11
  optional :name, :string, 1
12
12
  map :marks, :string, :string, 2
13
+ optional :canonical_name, :string, 3
13
14
  end
14
15
  end
15
16
  end
@@ -11,6 +11,7 @@ require 'google/api/field_behavior_pb'
11
11
  require 'google/api/resource_pb'
12
12
  require 'google/cloud/securitycenter/v1p1beta1/asset_pb'
13
13
  require 'google/cloud/securitycenter/v1p1beta1/finding_pb'
14
+ require 'google/cloud/securitycenter/v1p1beta1/folder_pb'
14
15
  require 'google/cloud/securitycenter/v1p1beta1/notification_config_pb'
15
16
  require 'google/cloud/securitycenter/v1p1beta1/organization_settings_pb'
16
17
  require 'google/cloud/securitycenter/v1p1beta1/security_marks_pb'
@@ -156,6 +157,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
156
157
  optional :project_display_name, :string, 3
157
158
  optional :parent_name, :string, 4
158
159
  optional :parent_display_name, :string, 5
160
+ repeated :folders, :message, 10, "google.cloud.securitycenter.v1p1beta1.Folder"
159
161
  end
160
162
  add_enum "google.cloud.securitycenter.v1p1beta1.ListFindingsResponse.ListFindingsResult.StateChange" do
161
163
  value :UNUSED, 0
@@ -27,7 +27,7 @@ module Google
27
27
  # V1p1Beta1 APIs for Security Center service.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -57,7 +57,9 @@ module Google
57
57
  # specified properties.
58
58
  #
59
59
  # To group across all sources provide a `-` as the source id.
60
- # Example: /v1p1beta1/organizations/{organization_id}/sources/-/findings
60
+ # Example: /v1/organizations/{organization_id}/sources/-/findings,
61
+ # /v1/folders/{folder_id}/sources/-/findings,
62
+ # /v1/projects/{project_id}/sources/-/findings
61
63
  rpc :GroupFindings, ::Google::Cloud::SecurityCenter::V1p1beta1::GroupFindingsRequest, ::Google::Cloud::SecurityCenter::V1p1beta1::GroupFindingsResponse
62
64
  # Lists an organization's assets.
63
65
  rpc :ListAssets, ::Google::Cloud::SecurityCenter::V1p1beta1::ListAssetsRequest, ::Google::Cloud::SecurityCenter::V1p1beta1::ListAssetsResponse
@@ -3,14 +3,15 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/api/resource_pb'
7
+ require 'google/api/annotations_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("google/cloud/securitycenter/v1p1beta1/source.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1p1beta1.Source" do
11
11
  optional :name, :string, 1
12
12
  optional :display_name, :string, 2
13
13
  optional :description, :string, 3
14
+ optional :canonical_name, :string, 14
14
15
  end
15
16
  end
16
17
  end
@@ -51,14 +51,20 @@ module Google
51
51
  # The time at which the asset was created in Security Command Center.
52
52
  # @!attribute [rw] update_time
53
53
  # @return [::Google::Protobuf::Timestamp]
54
- # The time at which the asset was last updated, added, or deleted in Cloud
55
- # SCC.
54
+ # The time at which the asset was last updated or added in Cloud SCC.
56
55
  # @!attribute [rw] iam_policy
57
56
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Asset::IamPolicy]
58
57
  # Cloud IAM Policy information associated with the Google Cloud resource
59
58
  # described by the Security Command Center asset. This information is managed
60
59
  # and defined by the Google Cloud resource and cannot be modified by the
61
60
  # user.
61
+ # @!attribute [rw] canonical_name
62
+ # @return [::String]
63
+ # The canonical name of the resource. It's either
64
+ # "organizations/\\{organization_id}/assets/\\{asset_id}",
65
+ # "folders/\\{folder_id}/assets/\\{asset_id}" or
66
+ # "projects/\\{project_number}/assets/\\{asset_id}", depending on the closest CRM
67
+ # ancestor of the resource.
62
68
  class Asset
63
69
  include ::Google::Protobuf::MessageExts
64
70
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -96,6 +102,11 @@ module Google
96
102
  # @!attribute [rw] resource_project_display_name
97
103
  # @return [::String]
98
104
  # The user defined display name for the project of this resource.
105
+ # @!attribute [rw] folders
106
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1p1Beta1::Folder>]
107
+ # Contains a Folder message for each folder in the assets ancestry.
108
+ # The first folder is the deepest nested folder, and the last folder is the
109
+ # folder directly under the Organization.
99
110
  class SecurityCenterProperties
100
111
  include ::Google::Protobuf::MessageExts
101
112
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -78,7 +78,8 @@ module Google
78
78
  # occurred. For example, if the finding represents an open firewall it would
79
79
  # capture the time the detector believes the firewall became open. The
80
80
  # accuracy is determined by the detector. If the finding were to be resolved
81
- # afterward, this time would reflect when the finding was resolved.
81
+ # afterward, this time would reflect when the finding was resolved. Must not
82
+ # be set to a value greater than the current timestamp.
82
83
  # @!attribute [rw] create_time
83
84
  # @return [::Google::Protobuf::Timestamp]
84
85
  # The time at which the finding was created in Security Command Center.
@@ -86,6 +87,14 @@ module Google
86
87
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::Finding::Severity]
87
88
  # The severity of the finding. This field is managed by the source that
88
89
  # writes the finding.
90
+ # @!attribute [rw] canonical_name
91
+ # @return [::String]
92
+ # The canonical name of the finding. It's either
93
+ # "organizations/\\{organization_id}/sources/\\{source_id}/findings/\\{finding_id}",
94
+ # "folders/\\{folder_id}/sources/\\{source_id}/findings/\\{finding_id}" or
95
+ # "projects/\\{project_number}/sources/\\{source_id}/findings/\\{finding_id}",
96
+ # depending on the closest CRM ancestor of the resource associated with the
97
+ # finding.
89
98
  class Finding
90
99
  include ::Google::Protobuf::MessageExts
91
100
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1p1Beta1
24
+ # Message that contains the resource name and display name of a folder
25
+ # resource.
26
+ # @!attribute [rw] resource_folder
27
+ # @return [::String]
28
+ # Full resource name of this folder. See:
29
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
30
+ # @!attribute [rw] resource_folder_display_name
31
+ # @return [::String]
32
+ # The user defined display name for this folder.
33
+ class Folder
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -49,6 +49,10 @@ module Google
49
49
  # @!attribute [rw] inclusion_mode
50
50
  # @return [::Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings::AssetDiscoveryConfig::InclusionMode]
51
51
  # The mode to use for filtering asset discovery.
52
+ # @!attribute [rw] folder_ids
53
+ # @return [::Array<::String>]
54
+ # The folder ids to use for filtering asset discovery.
55
+ # It consists of only digits, e.g., 756619654966.
52
56
  class AssetDiscoveryConfig
53
57
  include ::Google::Protobuf::MessageExts
54
58
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -38,6 +38,11 @@ module Google
38
38
  # @!attribute [rw] parent_display_name
39
39
  # @return [::String]
40
40
  # The human readable name of resource's parent.
41
+ # @!attribute [r] folders
42
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1p1Beta1::Folder>]
43
+ # Output only. Contains a Folder message for each folder in the assets ancestry.
44
+ # The first folder is the deepest nested folder, and the last folder is the
45
+ # folder directly under the Organization.
41
46
  class Resource
42
47
  include ::Google::Protobuf::MessageExts
43
48
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -42,6 +42,16 @@ module Google
42
42
  # * Keys must be letters, numbers, underscores, or dashes
43
43
  # * Values have leading and trailing whitespace trimmed, remaining
44
44
  # characters must be between 1 - 4096 characters (inclusive)
45
+ # @!attribute [rw] canonical_name
46
+ # @return [::String]
47
+ # The canonical name of the marks.
48
+ # Examples:
49
+ # "organizations/\\{organization_id}/assets/\\{asset_id}/securityMarks"
50
+ # "folders/\\{folder_id}/assets/\\{asset_id}/securityMarks"
51
+ # "projects/\\{project_number}/assets/\\{asset_id}/securityMarks"
52
+ # "organizations/\\{organization_id}/sources/\\{source_id}/findings/\\{finding_id}/securityMarks"
53
+ # "folders/\\{folder_id}/sources/\\{source_id}/findings/\\{finding_id}/securityMarks"
54
+ # "projects/\\{project_number}/sources/\\{source_id}/findings/\\{finding_id}/securityMarks"
45
55
  class SecurityMarks
46
56
  include ::Google::Protobuf::MessageExts
47
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -115,7 +115,8 @@ module Google
115
115
  # @!attribute [rw] parent
116
116
  # @return [::String]
117
117
  # Required. Name of the organization to groupBy. Its format is
118
- # "organizations/[organization_id]".
118
+ # "organizations/[organization_id], folders/[folder_id], or
119
+ # projects/[project_id]".
119
120
  # @!attribute [rw] filter
120
121
  # @return [::String]
121
122
  # Expression that defines the filter to apply across assets.
@@ -274,9 +275,12 @@ module Google
274
275
  # @!attribute [rw] parent
275
276
  # @return [::String]
276
277
  # Required. Name of the source to groupBy. Its format is
277
- # "organizations/[organization_id]/sources/[source_id]". To groupBy across
278
- # all sources provide a source_id of `-`. For example:
279
- # organizations/\\{organization_id}/sources/-
278
+ # "organizations/[organization_id]/sources/[source_id]",
279
+ # folders/[folder_id]/sources/[source_id], or
280
+ # projects/[project_id]/sources/[source_id]. To groupBy across all sources
281
+ # provide a source_id of `-`. For example:
282
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/-,
283
+ # or projects/\\{project_id}/sources/-
280
284
  # @!attribute [rw] filter
281
285
  # @return [::String]
282
286
  # Expression that defines the filter to apply across findings.
@@ -478,7 +482,8 @@ module Google
478
482
  # @!attribute [rw] parent
479
483
  # @return [::String]
480
484
  # Required. Resource name of the parent of sources to list. Its format should be
481
- # "organizations/[organization_id]".
485
+ # "organizations/[organization_id], folders/[folder_id], or
486
+ # projects/[project_id]".
482
487
  # @!attribute [rw] page_token
483
488
  # @return [::String]
484
489
  # The value returned by the last `ListSourcesResponse`; indicates
@@ -510,7 +515,8 @@ module Google
510
515
  # @!attribute [rw] parent
511
516
  # @return [::String]
512
517
  # Required. Name of the organization assets should belong to. Its format is
513
- # "organizations/[organization_id]".
518
+ # "organizations/[organization_id], folders/[folder_id], or
519
+ # projects/[project_id]".
514
520
  # @!attribute [rw] filter
515
521
  # @return [::String]
516
522
  # Expression that defines the filter to apply across assets.
@@ -704,9 +710,12 @@ module Google
704
710
  # @!attribute [rw] parent
705
711
  # @return [::String]
706
712
  # Required. Name of the source the findings belong to. Its format is
707
- # "organizations/[organization_id]/sources/[source_id]". To list across all
708
- # sources provide a source_id of `-`. For example:
709
- # organizations/\\{organization_id}/sources/-
713
+ # "organizations/[organization_id]/sources/[source_id],
714
+ # folders/[folder_id]/sources/[source_id], or
715
+ # projects/[project_id]/sources/[source_id]". To list across all sources
716
+ # provide a source_id of `-`. For example:
717
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/- or
718
+ # projects/\\{projects_id}/sources/-
710
719
  # @!attribute [rw] filter
711
720
  # @return [::String]
712
721
  # Expression that defines the filter to apply across findings.
@@ -885,6 +894,11 @@ module Google
885
894
  # @!attribute [rw] parent_display_name
886
895
  # @return [::String]
887
896
  # The human readable name of resource's parent.
897
+ # @!attribute [rw] folders
898
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1p1Beta1::Folder>]
899
+ # Contains a Folder message for each folder in the assets ancestry.
900
+ # The first folder is the deepest nested folder, and the last folder is
901
+ # the folder directly under the Organization.
888
902
  class Resource
889
903
  include ::Google::Protobuf::MessageExts
890
904
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -46,6 +46,14 @@ module Google
46
46
  # scan and detect four common vulnerabilities, including cross-site-scripting
47
47
  # (XSS), Flash injection, mixed content (HTTP in HTTPS), and
48
48
  # outdated/insecure libraries."
49
+ # @!attribute [rw] canonical_name
50
+ # @return [::String]
51
+ # The canonical name of the finding. It's either
52
+ # "organizations/\\{organization_id}/sources/\\{source_id}",
53
+ # "folders/\\{folder_id}/sources/\\{source_id}" or
54
+ # "projects/\\{project_number}/sources/\\{source_id}",
55
+ # depending on the closest CRM ancestor of the resource associated with the
56
+ # finding.
49
57
  class Source
50
58
  include ::Google::Protobuf::MessageExts
51
59
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-security_center-v1p1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-08 00:00:00.000000000 Z
11
+ date: 2021-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.3'
19
+ version: '0.4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.3'
26
+ version: '0.4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: google-cloud-errors
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -194,6 +194,7 @@ files:
194
194
  - lib/google/cloud/security_center/v1p1beta1/version.rb
195
195
  - lib/google/cloud/securitycenter/v1p1beta1/asset_pb.rb
196
196
  - lib/google/cloud/securitycenter/v1p1beta1/finding_pb.rb
197
+ - lib/google/cloud/securitycenter/v1p1beta1/folder_pb.rb
197
198
  - lib/google/cloud/securitycenter/v1p1beta1/notification_config_pb.rb
198
199
  - lib/google/cloud/securitycenter/v1p1beta1/notification_message_pb.rb
199
200
  - lib/google/cloud/securitycenter/v1p1beta1/organization_settings_pb.rb
@@ -208,6 +209,7 @@ files:
208
209
  - proto_docs/google/api/resource.rb
209
210
  - proto_docs/google/cloud/securitycenter/v1p1beta1/asset.rb
210
211
  - proto_docs/google/cloud/securitycenter/v1p1beta1/finding.rb
212
+ - proto_docs/google/cloud/securitycenter/v1p1beta1/folder.rb
211
213
  - proto_docs/google/cloud/securitycenter/v1p1beta1/notification_config.rb
212
214
  - proto_docs/google/cloud/securitycenter/v1p1beta1/notification_message.rb
213
215
  - proto_docs/google/cloud/securitycenter/v1p1beta1/organization_settings.rb
@@ -247,7 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
249
  - !ruby/object:Gem::Version
248
250
  version: '0'
249
251
  requirements: []
250
- rubygems_version: 3.2.13
252
+ rubygems_version: 3.2.17
251
253
  signing_key:
252
254
  specification_version: 4
253
255
  summary: API Client library for the Cloud Security Command Center V1p1beta1 API