google-cloud-security_center-v1 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/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