google-cloud-security_center-v1 0.8.1 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/google/cloud/security_center/v1/security_center/client.rb +1361 -105
  4. data/lib/google/cloud/security_center/v1/security_center/operations.rb +115 -12
  5. data/lib/google/cloud/security_center/v1/security_center/paths.rb +116 -0
  6. data/lib/google/cloud/security_center/v1/version.rb +1 -1
  7. data/lib/google/cloud/securitycenter/v1/asset_pb.rb +2 -2
  8. data/lib/google/cloud/securitycenter/v1/external_system_pb.rb +29 -0
  9. data/lib/google/cloud/securitycenter/v1/finding_pb.rb +16 -2
  10. data/lib/google/cloud/securitycenter/v1/folder_pb.rb +1 -1
  11. data/lib/google/cloud/securitycenter/v1/indicator_pb.rb +1 -1
  12. data/lib/google/cloud/securitycenter/v1/mute_config_pb.rb +32 -0
  13. data/lib/google/cloud/securitycenter/v1/notification_config_pb.rb +2 -2
  14. data/lib/google/cloud/securitycenter/v1/notification_message_pb.rb +2 -2
  15. data/lib/google/cloud/securitycenter/v1/organization_settings_pb.rb +2 -2
  16. data/lib/google/cloud/securitycenter/v1/resource_pb.rb +4 -2
  17. data/lib/google/cloud/securitycenter/v1/run_asset_discovery_response_pb.rb +2 -2
  18. data/lib/google/cloud/securitycenter/v1/security_marks_pb.rb +2 -2
  19. data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +55 -2
  20. data/lib/google/cloud/securitycenter/v1/securitycenter_service_services_pb.rb +19 -1
  21. data/lib/google/cloud/securitycenter/v1/source_pb.rb +2 -2
  22. data/lib/google/cloud/securitycenter/v1/vulnerability_pb.rb +86 -0
  23. data/proto_docs/google/cloud/securitycenter/v1/external_system.rb +52 -0
  24. data/proto_docs/google/cloud/securitycenter/v1/finding.rb +45 -0
  25. data/proto_docs/google/cloud/securitycenter/v1/mute_config.rb +82 -0
  26. data/proto_docs/google/cloud/securitycenter/v1/resource.rb +6 -0
  27. data/proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb +181 -0
  28. data/proto_docs/google/cloud/securitycenter/v1/vulnerability.rb +226 -0
  29. metadata +8 -2
@@ -1,16 +1,16 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/securitycenter/v1/securitycenter_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/cloud/securitycenter/v1/run_asset_discovery_response_pb'
7
5
  require 'google/api/annotations_pb'
8
6
  require 'google/api/client_pb'
9
7
  require 'google/api/field_behavior_pb'
10
8
  require 'google/api/resource_pb'
11
9
  require 'google/cloud/securitycenter/v1/asset_pb'
10
+ require 'google/cloud/securitycenter/v1/external_system_pb'
12
11
  require 'google/cloud/securitycenter/v1/finding_pb'
13
12
  require 'google/cloud/securitycenter/v1/folder_pb'
13
+ require 'google/cloud/securitycenter/v1/mute_config_pb'
14
14
  require 'google/cloud/securitycenter/v1/notification_config_pb'
15
15
  require 'google/cloud/securitycenter/v1/organization_settings_pb'
16
16
  require 'google/cloud/securitycenter/v1/security_marks_pb'
@@ -23,13 +23,27 @@ require 'google/protobuf/empty_pb'
23
23
  require 'google/protobuf/field_mask_pb'
24
24
  require 'google/protobuf/struct_pb'
25
25
  require 'google/protobuf/timestamp_pb'
26
+ require 'google/protobuf'
27
+
26
28
  Google::Protobuf::DescriptorPool.generated_pool.build do
27
29
  add_file("google/cloud/securitycenter/v1/securitycenter_service.proto", :syntax => :proto3) do
30
+ add_message "google.cloud.securitycenter.v1.BulkMuteFindingsRequest" do
31
+ optional :parent, :string, 1
32
+ optional :filter, :string, 2
33
+ optional :mute_annotation, :string, 3
34
+ end
35
+ add_message "google.cloud.securitycenter.v1.BulkMuteFindingsResponse" do
36
+ end
28
37
  add_message "google.cloud.securitycenter.v1.CreateFindingRequest" do
29
38
  optional :parent, :string, 1
30
39
  optional :finding_id, :string, 2
31
40
  optional :finding, :message, 3, "google.cloud.securitycenter.v1.Finding"
32
41
  end
42
+ add_message "google.cloud.securitycenter.v1.CreateMuteConfigRequest" do
43
+ optional :parent, :string, 1
44
+ optional :mute_config, :message, 2, "google.cloud.securitycenter.v1.MuteConfig"
45
+ optional :mute_config_id, :string, 3
46
+ end
33
47
  add_message "google.cloud.securitycenter.v1.CreateNotificationConfigRequest" do
34
48
  optional :parent, :string, 1
35
49
  optional :config_id, :string, 2
@@ -39,9 +53,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
39
53
  optional :parent, :string, 1
40
54
  optional :source, :message, 2, "google.cloud.securitycenter.v1.Source"
41
55
  end
56
+ add_message "google.cloud.securitycenter.v1.DeleteMuteConfigRequest" do
57
+ optional :name, :string, 1
58
+ end
42
59
  add_message "google.cloud.securitycenter.v1.DeleteNotificationConfigRequest" do
43
60
  optional :name, :string, 1
44
61
  end
62
+ add_message "google.cloud.securitycenter.v1.GetMuteConfigRequest" do
63
+ optional :name, :string, 1
64
+ end
45
65
  add_message "google.cloud.securitycenter.v1.GetNotificationConfigRequest" do
46
66
  optional :name, :string, 1
47
67
  end
@@ -85,6 +105,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
85
105
  map :properties, :string, :message, 1, "google.protobuf.Value"
86
106
  optional :count, :int64, 2
87
107
  end
108
+ add_message "google.cloud.securitycenter.v1.ListMuteConfigsRequest" do
109
+ optional :parent, :string, 1
110
+ optional :page_size, :int32, 2
111
+ optional :page_token, :string, 3
112
+ end
113
+ add_message "google.cloud.securitycenter.v1.ListMuteConfigsResponse" do
114
+ repeated :mute_configs, :message, 1, "google.cloud.securitycenter.v1.MuteConfig"
115
+ optional :next_page_token, :string, 2
116
+ end
88
117
  add_message "google.cloud.securitycenter.v1.ListNotificationConfigsRequest" do
89
118
  optional :parent, :string, 1
90
119
  optional :page_token, :string, 2
@@ -156,7 +185,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
156
185
  optional :project_display_name, :string, 3
157
186
  optional :parent_name, :string, 4
158
187
  optional :parent_display_name, :string, 5
188
+ optional :type, :string, 6
159
189
  repeated :folders, :message, 7, "google.cloud.securitycenter.v1.Folder"
190
+ optional :display_name, :string, 8
160
191
  end
161
192
  add_enum "google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange" do
162
193
  value :UNUSED, 0
@@ -170,13 +201,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
170
201
  optional :state, :enum, 2, "google.cloud.securitycenter.v1.Finding.State"
171
202
  optional :start_time, :message, 3, "google.protobuf.Timestamp"
172
203
  end
204
+ add_message "google.cloud.securitycenter.v1.SetMuteRequest" do
205
+ optional :name, :string, 1
206
+ optional :mute, :enum, 2, "google.cloud.securitycenter.v1.Finding.Mute"
207
+ end
173
208
  add_message "google.cloud.securitycenter.v1.RunAssetDiscoveryRequest" do
174
209
  optional :parent, :string, 1
175
210
  end
211
+ add_message "google.cloud.securitycenter.v1.UpdateExternalSystemRequest" do
212
+ optional :external_system, :message, 1, "google.cloud.securitycenter.v1.ExternalSystem"
213
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
214
+ end
176
215
  add_message "google.cloud.securitycenter.v1.UpdateFindingRequest" do
177
216
  optional :finding, :message, 1, "google.cloud.securitycenter.v1.Finding"
178
217
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
179
218
  end
219
+ add_message "google.cloud.securitycenter.v1.UpdateMuteConfigRequest" do
220
+ optional :mute_config, :message, 1, "google.cloud.securitycenter.v1.MuteConfig"
221
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
222
+ end
180
223
  add_message "google.cloud.securitycenter.v1.UpdateNotificationConfigRequest" do
181
224
  optional :notification_config, :message, 1, "google.cloud.securitycenter.v1.NotificationConfig"
182
225
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
@@ -201,10 +244,15 @@ module Google
201
244
  module Cloud
202
245
  module SecurityCenter
203
246
  module V1
247
+ BulkMuteFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.BulkMuteFindingsRequest").msgclass
248
+ BulkMuteFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.BulkMuteFindingsResponse").msgclass
204
249
  CreateFindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateFindingRequest").msgclass
250
+ CreateMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateMuteConfigRequest").msgclass
205
251
  CreateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateNotificationConfigRequest").msgclass
206
252
  CreateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateSourceRequest").msgclass
253
+ DeleteMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.DeleteMuteConfigRequest").msgclass
207
254
  DeleteNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.DeleteNotificationConfigRequest").msgclass
255
+ GetMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetMuteConfigRequest").msgclass
208
256
  GetNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetNotificationConfigRequest").msgclass
209
257
  GetOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetOrganizationSettingsRequest").msgclass
210
258
  GetSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetSourceRequest").msgclass
@@ -213,6 +261,8 @@ module Google
213
261
  GroupFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsRequest").msgclass
214
262
  GroupFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsResponse").msgclass
215
263
  GroupResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupResult").msgclass
264
+ ListMuteConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListMuteConfigsRequest").msgclass
265
+ ListMuteConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListMuteConfigsResponse").msgclass
216
266
  ListNotificationConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsRequest").msgclass
217
267
  ListNotificationConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsResponse").msgclass
218
268
  ListSourcesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListSourcesRequest").msgclass
@@ -227,8 +277,11 @@ module Google
227
277
  ListFindingsResponse::ListFindingsResult::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource").msgclass
228
278
  ListFindingsResponse::ListFindingsResult::StateChange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange").enummodule
229
279
  SetFindingStateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.SetFindingStateRequest").msgclass
280
+ SetMuteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.SetMuteRequest").msgclass
230
281
  RunAssetDiscoveryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.RunAssetDiscoveryRequest").msgclass
282
+ UpdateExternalSystemRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateExternalSystemRequest").msgclass
231
283
  UpdateFindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateFindingRequest").msgclass
284
+ UpdateMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateMuteConfigRequest").msgclass
232
285
  UpdateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateNotificationConfigRequest").msgclass
233
286
  UpdateOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest").msgclass
234
287
  UpdateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateSourceRequest").msgclass
@@ -27,23 +27,33 @@ 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
34
34
  self.service_name = 'google.cloud.securitycenter.v1.SecurityCenter'
35
35
 
36
+ # Kicks off an LRO to bulk mute findings for a parent based on a filter. The
37
+ # parent can be either an organization, folder or project. The findings
38
+ # matched by the filter will be muted after the LRO is done.
39
+ rpc :BulkMuteFindings, ::Google::Cloud::SecurityCenter::V1::BulkMuteFindingsRequest, ::Google::Longrunning::Operation
36
40
  # Creates a source.
37
41
  rpc :CreateSource, ::Google::Cloud::SecurityCenter::V1::CreateSourceRequest, ::Google::Cloud::SecurityCenter::V1::Source
38
42
  # Creates a finding. The corresponding source must exist for finding creation
39
43
  # to succeed.
40
44
  rpc :CreateFinding, ::Google::Cloud::SecurityCenter::V1::CreateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
45
+ # Creates a mute config.
46
+ rpc :CreateMuteConfig, ::Google::Cloud::SecurityCenter::V1::CreateMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
41
47
  # Creates a notification config.
42
48
  rpc :CreateNotificationConfig, ::Google::Cloud::SecurityCenter::V1::CreateNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
+ # Deletes an existing mute config.
50
+ rpc :DeleteMuteConfig, ::Google::Cloud::SecurityCenter::V1::DeleteMuteConfigRequest, ::Google::Protobuf::Empty
43
51
  # Deletes a notification config.
44
52
  rpc :DeleteNotificationConfig, ::Google::Cloud::SecurityCenter::V1::DeleteNotificationConfigRequest, ::Google::Protobuf::Empty
45
53
  # Gets the access control policy on the specified Source.
46
54
  rpc :GetIamPolicy, ::Google::Iam::V1::GetIamPolicyRequest, ::Google::Iam::V1::Policy
55
+ # Gets a mute config.
56
+ rpc :GetMuteConfig, ::Google::Cloud::SecurityCenter::V1::GetMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
47
57
  # Gets a notification config.
48
58
  rpc :GetNotificationConfig, ::Google::Cloud::SecurityCenter::V1::GetNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
59
  # Gets the settings for an organization.
@@ -68,6 +78,8 @@ module Google
68
78
  # To list across all sources provide a `-` as the source id.
69
79
  # Example: /v1/organizations/{organization_id}/sources/-/findings
70
80
  rpc :ListFindings, ::Google::Cloud::SecurityCenter::V1::ListFindingsRequest, ::Google::Cloud::SecurityCenter::V1::ListFindingsResponse
81
+ # Lists mute configs.
82
+ rpc :ListMuteConfigs, ::Google::Cloud::SecurityCenter::V1::ListMuteConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListMuteConfigsResponse
71
83
  # Lists notification configs.
72
84
  rpc :ListNotificationConfigs, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsResponse
73
85
  # Lists all sources belonging to an organization.
@@ -81,13 +93,19 @@ module Google
81
93
  rpc :RunAssetDiscovery, ::Google::Cloud::SecurityCenter::V1::RunAssetDiscoveryRequest, ::Google::Longrunning::Operation
82
94
  # Updates the state of a finding.
83
95
  rpc :SetFindingState, ::Google::Cloud::SecurityCenter::V1::SetFindingStateRequest, ::Google::Cloud::SecurityCenter::V1::Finding
96
+ # Updates the mute state of a finding.
97
+ rpc :SetMute, ::Google::Cloud::SecurityCenter::V1::SetMuteRequest, ::Google::Cloud::SecurityCenter::V1::Finding
84
98
  # Sets the access control policy on the specified Source.
85
99
  rpc :SetIamPolicy, ::Google::Iam::V1::SetIamPolicyRequest, ::Google::Iam::V1::Policy
86
100
  # Returns the permissions that a caller has on the specified source.
87
101
  rpc :TestIamPermissions, ::Google::Iam::V1::TestIamPermissionsRequest, ::Google::Iam::V1::TestIamPermissionsResponse
102
+ # Updates external system. This is for a given finding.
103
+ rpc :UpdateExternalSystem, ::Google::Cloud::SecurityCenter::V1::UpdateExternalSystemRequest, ::Google::Cloud::SecurityCenter::V1::ExternalSystem
88
104
  # Creates or updates a finding. The corresponding source must exist for a
89
105
  # finding creation to succeed.
90
106
  rpc :UpdateFinding, ::Google::Cloud::SecurityCenter::V1::UpdateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
107
+ # Updates a mute config.
108
+ rpc :UpdateMuteConfig, ::Google::Cloud::SecurityCenter::V1::UpdateMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
91
109
  #
92
110
  # Updates a notification config. The following update
93
111
  # fields are allowed: description, pubsub_topic, streaming_config.filter
@@ -1,10 +1,10 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/securitycenter/v1/source.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/resource_pb'
7
5
  require 'google/api/annotations_pb'
6
+ require 'google/protobuf'
7
+
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
@@ -0,0 +1,86 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/vulnerability.proto
3
+
4
+ require 'google/api/annotations_pb'
5
+ require 'google/protobuf'
6
+
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/securitycenter/v1/vulnerability.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.securitycenter.v1.Vulnerability" do
10
+ optional :cve, :message, 1, "google.cloud.securitycenter.v1.Cve"
11
+ end
12
+ add_message "google.cloud.securitycenter.v1.Cve" do
13
+ optional :id, :string, 1
14
+ repeated :references, :message, 2, "google.cloud.securitycenter.v1.Reference"
15
+ optional :cvssv3, :message, 3, "google.cloud.securitycenter.v1.Cvssv3"
16
+ end
17
+ add_message "google.cloud.securitycenter.v1.Reference" do
18
+ optional :source, :string, 1
19
+ optional :uri, :string, 2
20
+ end
21
+ add_message "google.cloud.securitycenter.v1.Cvssv3" do
22
+ optional :base_score, :double, 1
23
+ optional :attack_vector, :enum, 5, "google.cloud.securitycenter.v1.Cvssv3.AttackVector"
24
+ optional :attack_complexity, :enum, 6, "google.cloud.securitycenter.v1.Cvssv3.AttackComplexity"
25
+ optional :privileges_required, :enum, 7, "google.cloud.securitycenter.v1.Cvssv3.PrivilegesRequired"
26
+ optional :user_interaction, :enum, 8, "google.cloud.securitycenter.v1.Cvssv3.UserInteraction"
27
+ optional :scope, :enum, 9, "google.cloud.securitycenter.v1.Cvssv3.Scope"
28
+ optional :confidentiality_impact, :enum, 10, "google.cloud.securitycenter.v1.Cvssv3.Impact"
29
+ optional :integrity_impact, :enum, 11, "google.cloud.securitycenter.v1.Cvssv3.Impact"
30
+ optional :availability_impact, :enum, 12, "google.cloud.securitycenter.v1.Cvssv3.Impact"
31
+ end
32
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.AttackVector" do
33
+ value :ATTACK_VECTOR_UNSPECIFIED, 0
34
+ value :ATTACK_VECTOR_NETWORK, 1
35
+ value :ATTACK_VECTOR_ADJACENT, 2
36
+ value :ATTACK_VECTOR_LOCAL, 3
37
+ value :ATTACK_VECTOR_PHYSICAL, 4
38
+ end
39
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.AttackComplexity" do
40
+ value :ATTACK_COMPLEXITY_UNSPECIFIED, 0
41
+ value :ATTACK_COMPLEXITY_LOW, 1
42
+ value :ATTACK_COMPLEXITY_HIGH, 2
43
+ end
44
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.PrivilegesRequired" do
45
+ value :PRIVILEGES_REQUIRED_UNSPECIFIED, 0
46
+ value :PRIVILEGES_REQUIRED_NONE, 1
47
+ value :PRIVILEGES_REQUIRED_LOW, 2
48
+ value :PRIVILEGES_REQUIRED_HIGH, 3
49
+ end
50
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.UserInteraction" do
51
+ value :USER_INTERACTION_UNSPECIFIED, 0
52
+ value :USER_INTERACTION_NONE, 1
53
+ value :USER_INTERACTION_REQUIRED, 2
54
+ end
55
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.Scope" do
56
+ value :SCOPE_UNSPECIFIED, 0
57
+ value :SCOPE_UNCHANGED, 1
58
+ value :SCOPE_CHANGED, 2
59
+ end
60
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.Impact" do
61
+ value :IMPACT_UNSPECIFIED, 0
62
+ value :IMPACT_HIGH, 1
63
+ value :IMPACT_LOW, 2
64
+ value :IMPACT_NONE, 3
65
+ end
66
+ end
67
+ end
68
+
69
+ module Google
70
+ module Cloud
71
+ module SecurityCenter
72
+ module V1
73
+ Vulnerability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Vulnerability").msgclass
74
+ Cve = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cve").msgclass
75
+ Reference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Reference").msgclass
76
+ Cvssv3 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3").msgclass
77
+ Cvssv3::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.AttackVector").enummodule
78
+ Cvssv3::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.AttackComplexity").enummodule
79
+ Cvssv3::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.PrivilegesRequired").enummodule
80
+ Cvssv3::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.UserInteraction").enummodule
81
+ Cvssv3::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.Scope").enummodule
82
+ Cvssv3::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.Impact").enummodule
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,52 @@
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
+ # Representation of third party SIEM/SOAR fields within SCC.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # External System Name e.g. jira, demisto, etc.
28
+ # e.g.: `organizations/1234/sources/5678/findings/123456/externalSystems/jira`
29
+ # `folders/1234/sources/5678/findings/123456/externalSystems/jira`
30
+ # `projects/1234/sources/5678/findings/123456/externalSystems/jira`
31
+ # @!attribute [rw] assignees
32
+ # @return [::Array<::String>]
33
+ # References primary/secondary etc assignees in the external system.
34
+ # @!attribute [rw] external_uid
35
+ # @return [::String]
36
+ # Identifier that's used to track the given finding in the external system.
37
+ # @!attribute [rw] status
38
+ # @return [::String]
39
+ # Most recent status of the corresponding finding's ticket/tracker in the
40
+ # external system.
41
+ # @!attribute [rw] external_system_update_time
42
+ # @return [::Google::Protobuf::Timestamp]
43
+ # The most recent time when the corresponding finding's ticket/tracker was
44
+ # updated in the external system.
45
+ class ExternalSystem
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -96,6 +96,10 @@ module Google
96
96
  # "projects/\\{project_number}/sources/\\{source_id}/findings/\\{finding_id}",
97
97
  # depending on the closest CRM ancestor of the resource associated with the
98
98
  # finding.
99
+ # @!attribute [rw] mute
100
+ # @return [::Google::Cloud::SecurityCenter::V1::Finding::Mute]
101
+ # Indicates the mute state of a finding (either unspecified, muted, unmuted
102
+ # or undefined).
99
103
  # @!attribute [rw] finding_class
100
104
  # @return [::Google::Cloud::SecurityCenter::V1::Finding::FindingClass]
101
105
  # The class of the finding.
@@ -106,6 +110,23 @@ module Google
106
110
  # operating system that, with high confidence, indicates a computer
107
111
  # intrusion.
108
112
  # Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise
113
+ # @!attribute [rw] vulnerability
114
+ # @return [::Google::Cloud::SecurityCenter::V1::Vulnerability]
115
+ # Represents vulnerability specific fields like cve, cvss scores etc.
116
+ # CVE stands for Common Vulnerabilities and Exposures
117
+ # (https://cve.mitre.org/about/)
118
+ # @!attribute [r] mute_update_time
119
+ # @return [::Google::Protobuf::Timestamp]
120
+ # Output only. The most recent time this finding was muted or unmuted.
121
+ # @!attribute [r] external_systems
122
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V1::ExternalSystem}]
123
+ # Output only. Third party SIEM/SOAR fields within SCC, contains external system
124
+ # information and external system finding fields.
125
+ # @!attribute [rw] mute_initiator
126
+ # @return [::String]
127
+ # First known as mute_annotation. Records additional information about the
128
+ # mute operation e.g. mute config that muted the finding, user who muted the
129
+ # finding, etc.
109
130
  class Finding
110
131
  include ::Google::Protobuf::MessageExts
111
132
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -119,6 +140,15 @@ module Google
119
140
  extend ::Google::Protobuf::MessageExts::ClassMethods
120
141
  end
121
142
 
143
+ # @!attribute [rw] key
144
+ # @return [::String]
145
+ # @!attribute [rw] value
146
+ # @return [::Google::Cloud::SecurityCenter::V1::ExternalSystem]
147
+ class ExternalSystemsEntry
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+
122
152
  # The state of the finding.
123
153
  module State
124
154
  # Unspecified state.
@@ -191,6 +221,21 @@ module Google
191
221
  LOW = 4
192
222
  end
193
223
 
224
+ # Mute state a finding can be in.
225
+ module Mute
226
+ # Unspecified.
227
+ MUTE_UNSPECIFIED = 0
228
+
229
+ # Finding has been muted.
230
+ MUTED = 1
231
+
232
+ # Finding has been unmuted.
233
+ UNMUTED = 2
234
+
235
+ # Finding has never been muted/unmuted.
236
+ UNDEFINED = 4
237
+ end
238
+
194
239
  # Represents what kind of Finding it is.
195
240
  module FindingClass
196
241
  # Unspecified finding class.
@@ -0,0 +1,82 @@
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
+ # A mute config is a Cloud SCC resource that contains the configuration
25
+ # to mute create/update events of findings.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # This field will be ignored if provided on config creation. Format
29
+ # "organizations/\\{organization}/muteConfigs/\\{mute_config}"
30
+ # "folders/\\{folder}/muteConfigs/\\{mute_config}"
31
+ # "projects/\\{project}/muteConfigs/\\{mute_config}"
32
+ # @!attribute [rw] display_name
33
+ # @return [::String]
34
+ # The human readable name to be displayed for the mute config.
35
+ # @!attribute [rw] description
36
+ # @return [::String]
37
+ # A description of the mute config.
38
+ # @!attribute [rw] filter
39
+ # @return [::String]
40
+ # Required. An expression that defines the filter to apply across create/update events
41
+ # of findings. While creating a filter string, be mindful of the
42
+ # scope in which the mute configuration is being created. E.g., If a filter
43
+ # contains project = X but is created under the project = Y scope, it might
44
+ # not match any findings.
45
+ #
46
+ # The following field and operator combinations are supported:
47
+ #
48
+ # * severity: `=`, `:`
49
+ # * category: `=`, `:`
50
+ # * resource.name: `=`, `:`
51
+ # * resource.project_name: `=`, `:`
52
+ # * resource.project_display_name: `=`, `:`
53
+ # * resource.folders.resource_folder: `=`, `:`
54
+ # * resource.parent_name: `=`, `:`
55
+ # * resource.parent_display_name: `=`, `:`
56
+ # * resource.type: `=`, `:`
57
+ # * finding_class: `=`, `:`
58
+ # * indicator.ip_addresses: `=`, `:`
59
+ # * indicator.domains: `=`, `:`
60
+ # @!attribute [r] create_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Output only. The time at which the mute config was created.
63
+ # This field is set by the server and will be ignored if provided on config
64
+ # creation.
65
+ # @!attribute [r] update_time
66
+ # @return [::Google::Protobuf::Timestamp]
67
+ # Output only. The most recent time at which the mute config was updated.
68
+ # This field is set by the server and will be ignored if provided on config
69
+ # creation or update.
70
+ # @!attribute [r] most_recent_editor
71
+ # @return [::String]
72
+ # Output only. Email address of the user who last edited the mute config.
73
+ # This field is set by the server and will be ignored if provided on config
74
+ # creation or update.
75
+ class MuteConfig
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -38,11 +38,17 @@ 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 [rw] type
42
+ # @return [::String]
43
+ # The full resource type of the resource.
41
44
  # @!attribute [r] folders
42
45
  # @return [::Array<::Google::Cloud::SecurityCenter::V1::Folder>]
43
46
  # Output only. Contains a Folder message for each folder in the assets ancestry.
44
47
  # The first folder is the deepest nested folder, and the last folder is the
45
48
  # folder directly under the Organization.
49
+ # @!attribute [rw] display_name
50
+ # @return [::String]
51
+ # The human readable name of the resource.
46
52
  class Resource
47
53
  include ::Google::Protobuf::MessageExts
48
54
  extend ::Google::Protobuf::MessageExts::ClassMethods