google-cloud-security_center-v1p1beta1 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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