google-cloud-security_center-v1 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/v1/security_center/client.rb +22 -11
  3. data/lib/google/cloud/security_center/v1/security_center/paths.rb +174 -16
  4. data/lib/google/cloud/security_center/v1/version.rb +1 -1
  5. data/lib/google/cloud/securitycenter/v1/asset_pb.rb +4 -1
  6. data/lib/google/cloud/securitycenter/v1/finding_pb.rb +2 -1
  7. data/lib/google/cloud/securitycenter/v1/folder_pb.rb +24 -0
  8. data/lib/google/cloud/securitycenter/v1/notification_config_pb.rb +1 -1
  9. data/lib/google/cloud/securitycenter/v1/notification_message_pb.rb +1 -1
  10. data/lib/google/cloud/securitycenter/v1/organization_settings_pb.rb +2 -1
  11. data/lib/google/cloud/securitycenter/v1/resource_pb.rb +3 -0
  12. data/lib/google/cloud/securitycenter/v1/run_asset_discovery_response_pb.rb +1 -1
  13. data/lib/google/cloud/securitycenter/v1/security_marks_pb.rb +2 -1
  14. data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +2 -0
  15. data/lib/google/cloud/securitycenter/v1/securitycenter_service_services_pb.rb +5 -2
  16. data/lib/google/cloud/securitycenter/v1/source_pb.rb +2 -1
  17. data/proto_docs/google/cloud/securitycenter/v1/asset.rb +13 -2
  18. data/proto_docs/google/cloud/securitycenter/v1/finding.rb +10 -1
  19. data/proto_docs/google/cloud/securitycenter/v1/folder.rb +40 -0
  20. data/proto_docs/google/cloud/securitycenter/v1/organization_settings.rb +4 -0
  21. data/proto_docs/google/cloud/securitycenter/v1/resource.rb +5 -0
  22. data/proto_docs/google/cloud/securitycenter/v1/security_marks.rb +10 -0
  23. data/proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb +24 -10
  24. data/proto_docs/google/cloud/securitycenter/v1/source.rb +8 -0
  25. metadata +7 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 977b27bf8d5cdc9635deb71175f475ef0d208c7fce2f09af5ae2e29bf7f886bf
4
- data.tar.gz: d6357cf31f5d996ef12c3285525bd0b48a4964d994a60964c09a48a2bf47bead
3
+ metadata.gz: 7a4802e5de4cd2e0dfb73d4ec8e449b23c30ae1b48a7e2fc8dddc9d26bdea014
4
+ data.tar.gz: a336485043570eb96577c22c6a8737058c85492cfc5907812889b885e1d32be4
5
5
  SHA512:
6
- metadata.gz: c0de14bba5173b913d6a8b934798e79fb0cfe194b6a5029069ce0bed95c9f8432cbdb66694afafff5e4319157eb80491eae99c1aa50971cc218f7abc68b94f81
7
- data.tar.gz: fc37bd01855c361fc73aa9e4c411fe51f46191c1e466bb415ff20cb4797cbcf5eca4761d5baf12f7a73b2bc4193716a84bfd9141ac2e5feede1064971e664ab2
6
+ metadata.gz: 9e20f85d514eff0df987074390f3171c817fd0260db835d55612fc26941eb6bf9b1f6190e722649361d9b6970d8b75f112218c1618e691df61f40fde4d1d8be8
7
+ data.tar.gz: 46ef76e9f34c12f5ce921302ed917b0a7190ef284399a088a7279095ed9dad422fd182f37e9994323dd2844ff62fee20d5276f587eb883b6bec1b5db6b5e7457
@@ -853,7 +853,8 @@ module Google
853
853
  #
854
854
  # @param parent [::String]
855
855
  # Required. Name of the organization to groupBy. Its format is
856
- # "organizations/[organization_id]".
856
+ # "organizations/[organization_id], folders/[folder_id], or
857
+ # projects/[project_id]".
857
858
  # @param filter [::String]
858
859
  # Expression that defines the filter to apply across assets.
859
860
  # The expression is a list of zero or more restrictions combined via logical
@@ -1028,7 +1029,9 @@ module Google
1028
1029
  # specified properties.
1029
1030
  #
1030
1031
  # To group across all sources provide a `-` as the source id.
1031
- # Example: /v1/organizations/\\{organization_id}/sources/-/findings
1032
+ # Example: /v1/organizations/\\{organization_id}/sources/-/findings,
1033
+ # /v1/folders/\\{folder_id}/sources/-/findings,
1034
+ # /v1/projects/\\{project_id}/sources/-/findings
1032
1035
  #
1033
1036
  # @overload group_findings(request, options = nil)
1034
1037
  # Pass arguments to `group_findings` via a request object, either of type
@@ -1047,9 +1050,12 @@ module Google
1047
1050
  #
1048
1051
  # @param parent [::String]
1049
1052
  # Required. Name of the source to groupBy. Its format is
1050
- # "organizations/[organization_id]/sources/[source_id]". To groupBy across
1051
- # all sources provide a source_id of `-`. For example:
1052
- # organizations/\\{organization_id}/sources/-
1053
+ # "organizations/[organization_id]/sources/[source_id]",
1054
+ # folders/[folder_id]/sources/[source_id], or
1055
+ # projects/[project_id]/sources/[source_id]. To groupBy across all sources
1056
+ # provide a source_id of `-`. For example:
1057
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/-,
1058
+ # or projects/\\{project_id}/sources/-
1053
1059
  # @param filter [::String]
1054
1060
  # Expression that defines the filter to apply across findings.
1055
1061
  # The expression is a list of one or more restrictions combined via logical
@@ -1229,7 +1235,8 @@ module Google
1229
1235
  #
1230
1236
  # @param parent [::String]
1231
1237
  # Required. Name of the organization assets should belong to. Its format is
1232
- # "organizations/[organization_id]".
1238
+ # "organizations/[organization_id], folders/[folder_id], or
1239
+ # projects/[project_id]".
1233
1240
  # @param filter [::String]
1234
1241
  # Expression that defines the filter to apply across assets.
1235
1242
  # The expression is a list of zero or more restrictions combined via logical
@@ -1426,9 +1433,12 @@ module Google
1426
1433
  #
1427
1434
  # @param parent [::String]
1428
1435
  # Required. Name of the source the findings belong to. Its format is
1429
- # "organizations/[organization_id]/sources/[source_id]". To list across all
1430
- # sources provide a source_id of `-`. For example:
1431
- # organizations/\\{organization_id}/sources/-
1436
+ # "organizations/[organization_id]/sources/[source_id],
1437
+ # folders/[folder_id]/sources/[source_id], or
1438
+ # projects/[project_id]/sources/[source_id]". To list across all sources
1439
+ # provide a source_id of `-`. For example:
1440
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/- or
1441
+ # projects/\\{projects_id}/sources/-
1432
1442
  # @param filter [::String]
1433
1443
  # Expression that defines the filter to apply across findings.
1434
1444
  # The expression is a list of one or more restrictions combined via logical
@@ -1686,8 +1696,9 @@ module Google
1686
1696
  # the default parameter values, pass an empty Hash as a request object (see above).
1687
1697
  #
1688
1698
  # @param parent [::String]
1689
- # Required. Resource name of the parent of sources to list. Its format should
1690
- # be "organizations/[organization_id]".
1699
+ # Required. Resource name of the parent of sources to list. Its format should be
1700
+ # "organizations/[organization_id], folders/[folder_id], or
1701
+ # projects/[project_id]".
1691
1702
  # @param page_token [::String]
1692
1703
  # The value returned by the last `ListSourcesResponse`; indicates
1693
1704
  # 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 V1
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/v1/folder_pb'
8
8
  require 'google/cloud/securitycenter/v1/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/v1/asset.proto", :syntax => :proto3) do
13
14
  add_message "google.cloud.securitycenter.v1.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.v1.Asset.IamPolicy"
22
+ optional :canonical_name, :string, 13
21
23
  end
22
24
  add_message "google.cloud.securitycenter.v1.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.v1.Folder"
31
34
  end
32
35
  add_message "google.cloud.securitycenter.v1.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/v1/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/v1/finding.proto", :syntax => :proto3) do
14
14
  add_message "google.cloud.securitycenter.v1.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, 12, "google.cloud.securitycenter.v1.Finding.Severity"
26
+ optional :canonical_name, :string, 14
26
27
  end
27
28
  add_enum "google.cloud.securitycenter.v1.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/v1/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/v1/folder.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.securitycenter.v1.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 V1
20
+ Folder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.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/v1/notification_config.proto", :syntax => :proto3) do
11
11
  add_message "google.cloud.securitycenter.v1.NotificationConfig" do
@@ -3,9 +3,9 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'google/api/annotations_pb'
7
6
  require 'google/cloud/securitycenter/v1/finding_pb'
8
7
  require 'google/cloud/securitycenter/v1/resource_pb'
8
+ require 'google/api/annotations_pb'
9
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  add_file("google/cloud/securitycenter/v1/notification_message.proto", :syntax => :proto3) do
11
11
  add_message "google.cloud.securitycenter.v1.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/v1/organization_settings.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1.OrganizationSettings" do
@@ -15,6 +15,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  add_message "google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig" do
16
16
  repeated :project_ids, :string, 1
17
17
  optional :inclusion_mode, :enum, 2, "google.cloud.securitycenter.v1.OrganizationSettings.AssetDiscoveryConfig.InclusionMode"
18
+ repeated :folder_ids, :string, 3
18
19
  end
19
20
  add_enum "google.cloud.securitycenter.v1.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/v1/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/v1/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.v1.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/v1/run_asset_discovery_response.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1.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/v1/security_marks.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1.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
@@ -10,6 +10,7 @@ require 'google/api/field_behavior_pb'
10
10
  require 'google/api/resource_pb'
11
11
  require 'google/cloud/securitycenter/v1/asset_pb'
12
12
  require 'google/cloud/securitycenter/v1/finding_pb'
13
+ require 'google/cloud/securitycenter/v1/folder_pb'
13
14
  require 'google/cloud/securitycenter/v1/notification_config_pb'
14
15
  require 'google/cloud/securitycenter/v1/organization_settings_pb'
15
16
  require 'google/cloud/securitycenter/v1/security_marks_pb'
@@ -155,6 +156,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
155
156
  optional :project_display_name, :string, 3
156
157
  optional :parent_name, :string, 4
157
158
  optional :parent_display_name, :string, 5
159
+ repeated :folders, :message, 7, "google.cloud.securitycenter.v1.Folder"
158
160
  end
159
161
  add_enum "google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange" do
160
162
  value :UNUSED, 0
@@ -27,7 +27,7 @@ module Google
27
27
  # V1 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: /v1/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::V1::GroupFindingsRequest, ::Google::Cloud::SecurityCenter::V1::GroupFindingsResponse
62
64
  # Lists an organization's assets.
63
65
  rpc :ListAssets, ::Google::Cloud::SecurityCenter::V1::ListAssetsRequest, ::Google::Cloud::SecurityCenter::V1::ListAssetsResponse
@@ -86,6 +88,7 @@ module Google
86
88
  # Creates or updates a finding. The corresponding source must exist for a
87
89
  # finding creation to succeed.
88
90
  rpc :UpdateFinding, ::Google::Cloud::SecurityCenter::V1::UpdateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
91
+ #
89
92
  # Updates a notification config. The following update
90
93
  # fields are allowed: description, pubsub_topic, streaming_config.filter
91
94
  rpc :UpdateNotificationConfig, ::Google::Cloud::SecurityCenter::V1::UpdateNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
@@ -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/v1/source.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1.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 Security
55
- # Command Center.
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::V1::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::V1::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
@@ -79,7 +79,8 @@ module Google
79
79
  # occurred. For example, if the finding represents an open firewall it would
80
80
  # capture the time the detector believes the firewall became open. The
81
81
  # accuracy is determined by the detector. If the finding were to be resolved
82
- # afterward, this time would reflect when the finding was resolved.
82
+ # afterward, this time would reflect when the finding was resolved. Must not
83
+ # be set to a value greater than the current timestamp.
83
84
  # @!attribute [rw] create_time
84
85
  # @return [::Google::Protobuf::Timestamp]
85
86
  # The time at which the finding was created in Security Command Center.
@@ -87,6 +88,14 @@ module Google
87
88
  # @return [::Google::Cloud::SecurityCenter::V1::Finding::Severity]
88
89
  # The severity of the finding. This field is managed by the source that
89
90
  # writes the finding.
91
+ # @!attribute [rw] canonical_name
92
+ # @return [::String]
93
+ # The canonical name of the finding. It's either
94
+ # "organizations/\\{organization_id}/sources/\\{source_id}/findings/\\{finding_id}",
95
+ # "folders/\\{folder_id}/sources/\\{source_id}/findings/\\{finding_id}" or
96
+ # "projects/\\{project_number}/sources/\\{source_id}/findings/\\{finding_id}",
97
+ # depending on the closest CRM ancestor of the resource associated with the
98
+ # finding.
90
99
  class Finding
91
100
  include ::Google::Protobuf::MessageExts
92
101
  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 V1
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::V1::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::V1::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
@@ -118,7 +118,8 @@ module Google
118
118
  # @!attribute [rw] parent
119
119
  # @return [::String]
120
120
  # Required. Name of the organization to groupBy. Its format is
121
- # "organizations/[organization_id]".
121
+ # "organizations/[organization_id], folders/[folder_id], or
122
+ # projects/[project_id]".
122
123
  # @!attribute [rw] filter
123
124
  # @return [::String]
124
125
  # Expression that defines the filter to apply across assets.
@@ -277,9 +278,12 @@ module Google
277
278
  # @!attribute [rw] parent
278
279
  # @return [::String]
279
280
  # Required. Name of the source to groupBy. Its format is
280
- # "organizations/[organization_id]/sources/[source_id]". To groupBy across
281
- # all sources provide a source_id of `-`. For example:
282
- # organizations/\\{organization_id}/sources/-
281
+ # "organizations/[organization_id]/sources/[source_id]",
282
+ # folders/[folder_id]/sources/[source_id], or
283
+ # projects/[project_id]/sources/[source_id]. To groupBy across all sources
284
+ # provide a source_id of `-`. For example:
285
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/-,
286
+ # or projects/\\{project_id}/sources/-
283
287
  # @!attribute [rw] filter
284
288
  # @return [::String]
285
289
  # Expression that defines the filter to apply across findings.
@@ -480,8 +484,9 @@ module Google
480
484
  # Request message for listing sources.
481
485
  # @!attribute [rw] parent
482
486
  # @return [::String]
483
- # Required. Resource name of the parent of sources to list. Its format should
484
- # be "organizations/[organization_id]".
487
+ # Required. Resource name of the parent of sources to list. Its format should be
488
+ # "organizations/[organization_id], folders/[folder_id], or
489
+ # projects/[project_id]".
485
490
  # @!attribute [rw] page_token
486
491
  # @return [::String]
487
492
  # The value returned by the last `ListSourcesResponse`; indicates
@@ -513,7 +518,8 @@ module Google
513
518
  # @!attribute [rw] parent
514
519
  # @return [::String]
515
520
  # Required. Name of the organization assets should belong to. Its format is
516
- # "organizations/[organization_id]".
521
+ # "organizations/[organization_id], folders/[folder_id], or
522
+ # projects/[project_id]".
517
523
  # @!attribute [rw] filter
518
524
  # @return [::String]
519
525
  # Expression that defines the filter to apply across assets.
@@ -707,9 +713,12 @@ module Google
707
713
  # @!attribute [rw] parent
708
714
  # @return [::String]
709
715
  # Required. Name of the source the findings belong to. Its format is
710
- # "organizations/[organization_id]/sources/[source_id]". To list across all
711
- # sources provide a source_id of `-`. For example:
712
- # organizations/\\{organization_id}/sources/-
716
+ # "organizations/[organization_id]/sources/[source_id],
717
+ # folders/[folder_id]/sources/[source_id], or
718
+ # projects/[project_id]/sources/[source_id]". To list across all sources
719
+ # provide a source_id of `-`. For example:
720
+ # organizations/\\{organization_id}/sources/-, folders/\\{folder_id}/sources/- or
721
+ # projects/\\{projects_id}/sources/-
713
722
  # @!attribute [rw] filter
714
723
  # @return [::String]
715
724
  # Expression that defines the filter to apply across findings.
@@ -888,6 +897,11 @@ module Google
888
897
  # @!attribute [rw] parent_display_name
889
898
  # @return [::String]
890
899
  # The human readable name of resource's parent.
900
+ # @!attribute [rw] folders
901
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::Folder>]
902
+ # Contains a Folder message for each folder in the assets ancestry.
903
+ # The first folder is the deepest nested folder, and the last folder is
904
+ # the folder directly under the Organization.
891
905
  class Resource
892
906
  include ::Google::Protobuf::MessageExts
893
907
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -47,6 +47,14 @@ module Google
47
47
  # scan and detect four common vulnerabilities, including cross-site-scripting
48
48
  # (XSS), Flash injection, mixed content (HTTP in HTTPS), and
49
49
  # outdated or insecure libraries."
50
+ # @!attribute [rw] canonical_name
51
+ # @return [::String]
52
+ # The canonical name of the finding. It's either
53
+ # "organizations/\\{organization_id}/sources/\\{source_id}",
54
+ # "folders/\\{folder_id}/sources/\\{source_id}" or
55
+ # "projects/\\{project_number}/sources/\\{source_id}",
56
+ # depending on the closest CRM ancestor of the resource associated with the
57
+ # finding.
50
58
  class Source
51
59
  include ::Google::Protobuf::MessageExts
52
60
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-security_center-v1
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
@@ -193,6 +193,7 @@ files:
193
193
  - lib/google/cloud/security_center/v1/version.rb
194
194
  - lib/google/cloud/securitycenter/v1/asset_pb.rb
195
195
  - lib/google/cloud/securitycenter/v1/finding_pb.rb
196
+ - lib/google/cloud/securitycenter/v1/folder_pb.rb
196
197
  - lib/google/cloud/securitycenter/v1/notification_config_pb.rb
197
198
  - lib/google/cloud/securitycenter/v1/notification_message_pb.rb
198
199
  - lib/google/cloud/securitycenter/v1/organization_settings_pb.rb
@@ -207,6 +208,7 @@ files:
207
208
  - proto_docs/google/api/resource.rb
208
209
  - proto_docs/google/cloud/securitycenter/v1/asset.rb
209
210
  - proto_docs/google/cloud/securitycenter/v1/finding.rb
211
+ - proto_docs/google/cloud/securitycenter/v1/folder.rb
210
212
  - proto_docs/google/cloud/securitycenter/v1/notification_config.rb
211
213
  - proto_docs/google/cloud/securitycenter/v1/notification_message.rb
212
214
  - proto_docs/google/cloud/securitycenter/v1/organization_settings.rb
@@ -246,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
248
  - !ruby/object:Gem::Version
247
249
  version: '0'
248
250
  requirements: []
249
- rubygems_version: 3.2.13
251
+ rubygems_version: 3.2.17
250
252
  signing_key:
251
253
  specification_version: 4
252
254
  summary: API Client library for the Cloud Security Command Center V1 API