google-cloud-security_center-v1 0.10.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,6 +24,70 @@ module Google
24
24
  module SecurityCenter
25
25
  # Path helper methods for the SecurityCenter API.
26
26
  module Paths
27
+ ##
28
+ # Create a fully-qualified ExternalSystem resource string.
29
+ #
30
+ # @overload external_system_path(organization:, source:, finding:, externalsystem:)
31
+ # The resource will be in the following format:
32
+ #
33
+ # `organizations/{organization}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}`
34
+ #
35
+ # @param organization [String]
36
+ # @param source [String]
37
+ # @param finding [String]
38
+ # @param externalsystem [String]
39
+ #
40
+ # @overload external_system_path(folder:, source:, finding:, externalsystem:)
41
+ # The resource will be in the following format:
42
+ #
43
+ # `folders/{folder}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}`
44
+ #
45
+ # @param folder [String]
46
+ # @param source [String]
47
+ # @param finding [String]
48
+ # @param externalsystem [String]
49
+ #
50
+ # @overload external_system_path(project:, source:, finding:, externalsystem:)
51
+ # The resource will be in the following format:
52
+ #
53
+ # `projects/{project}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}`
54
+ #
55
+ # @param project [String]
56
+ # @param source [String]
57
+ # @param finding [String]
58
+ # @param externalsystem [String]
59
+ #
60
+ # @return [::String]
61
+ def external_system_path **args
62
+ resources = {
63
+ "externalsystem:finding:organization:source" => (proc do |organization:, source:, finding:, externalsystem:|
64
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
65
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
66
+ raise ::ArgumentError, "finding cannot contain /" if finding.to_s.include? "/"
67
+
68
+ "organizations/#{organization}/sources/#{source}/findings/#{finding}/externalSystems/#{externalsystem}"
69
+ end),
70
+ "externalsystem:finding:folder:source" => (proc do |folder:, source:, finding:, externalsystem:|
71
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
72
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
73
+ raise ::ArgumentError, "finding cannot contain /" if finding.to_s.include? "/"
74
+
75
+ "folders/#{folder}/sources/#{source}/findings/#{finding}/externalSystems/#{externalsystem}"
76
+ end),
77
+ "externalsystem:finding:project:source" => (proc do |project:, source:, finding:, externalsystem:|
78
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
79
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
80
+ raise ::ArgumentError, "finding cannot contain /" if finding.to_s.include? "/"
81
+
82
+ "projects/#{project}/sources/#{source}/findings/#{finding}/externalSystems/#{externalsystem}"
83
+ end)
84
+ }
85
+
86
+ resource = resources[args.keys.sort.join(":")]
87
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
88
+ resource.call(**args)
89
+ end
90
+
27
91
  ##
28
92
  # Create a fully-qualified Finding resource string.
29
93
  #
@@ -96,6 +160,58 @@ module Google
96
160
  "folders/#{folder}"
97
161
  end
98
162
 
163
+ ##
164
+ # Create a fully-qualified MuteConfig resource string.
165
+ #
166
+ # @overload mute_config_path(organization:, mute_config:)
167
+ # The resource will be in the following format:
168
+ #
169
+ # `organizations/{organization}/muteConfigs/{mute_config}`
170
+ #
171
+ # @param organization [String]
172
+ # @param mute_config [String]
173
+ #
174
+ # @overload mute_config_path(folder:, mute_config:)
175
+ # The resource will be in the following format:
176
+ #
177
+ # `folders/{folder}/muteConfigs/{mute_config}`
178
+ #
179
+ # @param folder [String]
180
+ # @param mute_config [String]
181
+ #
182
+ # @overload mute_config_path(project:, mute_config:)
183
+ # The resource will be in the following format:
184
+ #
185
+ # `projects/{project}/muteConfigs/{mute_config}`
186
+ #
187
+ # @param project [String]
188
+ # @param mute_config [String]
189
+ #
190
+ # @return [::String]
191
+ def mute_config_path **args
192
+ resources = {
193
+ "mute_config:organization" => (proc do |organization:, mute_config:|
194
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
195
+
196
+ "organizations/#{organization}/muteConfigs/#{mute_config}"
197
+ end),
198
+ "folder:mute_config" => (proc do |folder:, mute_config:|
199
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
200
+
201
+ "folders/#{folder}/muteConfigs/#{mute_config}"
202
+ end),
203
+ "mute_config:project" => (proc do |project:, mute_config:|
204
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
205
+
206
+ "projects/#{project}/muteConfigs/#{mute_config}"
207
+ end)
208
+ }
209
+
210
+ resource = resources[args.keys.sort.join(":")]
211
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
212
+ resource.call(**args)
213
+ end
214
+
99
215
  ##
100
216
  # Create a fully-qualified NotificationConfig resource string.
101
217
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1
24
- VERSION = "0.10.0"
24
+ VERSION = "0.12.1"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,32 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/access.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/access.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.securitycenter.v1.Access" do
10
+ optional :principal_email, :string, 1
11
+ optional :caller_ip, :string, 2
12
+ optional :caller_ip_geo, :message, 3, "google.cloud.securitycenter.v1.Geolocation"
13
+ optional :user_agent_family, :string, 4
14
+ optional :service_name, :string, 5
15
+ optional :method_name, :string, 6
16
+ end
17
+ add_message "google.cloud.securitycenter.v1.Geolocation" do
18
+ optional :region_code, :string, 1
19
+ end
20
+ end
21
+ end
22
+
23
+ module Google
24
+ module Cloud
25
+ module SecurityCenter
26
+ module V1
27
+ Access = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Access").msgclass
28
+ Geolocation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Geolocation").msgclass
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,29 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/external_system.proto
3
+
4
+ require 'google/api/resource_pb'
5
+ require 'google/protobuf/timestamp_pb'
6
+ require 'google/api/annotations_pb'
7
+ require 'google/protobuf'
8
+
9
+ Google::Protobuf::DescriptorPool.generated_pool.build do
10
+ add_file("google/cloud/securitycenter/v1/external_system.proto", :syntax => :proto3) do
11
+ add_message "google.cloud.securitycenter.v1.ExternalSystem" do
12
+ optional :name, :string, 1
13
+ repeated :assignees, :string, 2
14
+ optional :external_uid, :string, 3
15
+ optional :status, :string, 4
16
+ optional :external_system_update_time, :message, 5, "google.protobuf.Timestamp"
17
+ end
18
+ end
19
+ end
20
+
21
+ module Google
22
+ module Cloud
23
+ module SecurityCenter
24
+ module V1
25
+ ExternalSystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ExternalSystem").msgclass
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,14 +1,16 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/securitycenter/v1/finding.proto
3
3
 
4
+ require 'google/api/annotations_pb'
4
5
  require 'google/api/field_behavior_pb'
5
6
  require 'google/api/resource_pb'
7
+ require 'google/cloud/securitycenter/v1/access_pb'
8
+ require 'google/cloud/securitycenter/v1/external_system_pb'
6
9
  require 'google/cloud/securitycenter/v1/indicator_pb'
7
10
  require 'google/cloud/securitycenter/v1/security_marks_pb'
8
11
  require 'google/cloud/securitycenter/v1/vulnerability_pb'
9
12
  require 'google/protobuf/struct_pb'
10
13
  require 'google/protobuf/timestamp_pb'
11
- require 'google/api/annotations_pb'
12
14
  require 'google/protobuf'
13
15
 
14
16
  Google::Protobuf::DescriptorPool.generated_pool.build do
@@ -26,9 +28,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
28
  optional :create_time, :message, 10, "google.protobuf.Timestamp"
27
29
  optional :severity, :enum, 12, "google.cloud.securitycenter.v1.Finding.Severity"
28
30
  optional :canonical_name, :string, 14
31
+ optional :mute, :enum, 15, "google.cloud.securitycenter.v1.Finding.Mute"
29
32
  optional :finding_class, :enum, 17, "google.cloud.securitycenter.v1.Finding.FindingClass"
30
33
  optional :indicator, :message, 18, "google.cloud.securitycenter.v1.Indicator"
31
34
  optional :vulnerability, :message, 20, "google.cloud.securitycenter.v1.Vulnerability"
35
+ optional :mute_update_time, :message, 21, "google.protobuf.Timestamp"
36
+ map :external_systems, :string, :message, 22, "google.cloud.securitycenter.v1.ExternalSystem"
37
+ optional :access, :message, 26, "google.cloud.securitycenter.v1.Access"
38
+ optional :mute_initiator, :string, 28
32
39
  end
33
40
  add_enum "google.cloud.securitycenter.v1.Finding.State" do
34
41
  value :STATE_UNSPECIFIED, 0
@@ -42,6 +49,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
42
49
  value :MEDIUM, 3
43
50
  value :LOW, 4
44
51
  end
52
+ add_enum "google.cloud.securitycenter.v1.Finding.Mute" do
53
+ value :MUTE_UNSPECIFIED, 0
54
+ value :MUTED, 1
55
+ value :UNMUTED, 2
56
+ value :UNDEFINED, 4
57
+ end
45
58
  add_enum "google.cloud.securitycenter.v1.Finding.FindingClass" do
46
59
  value :FINDING_CLASS_UNSPECIFIED, 0
47
60
  value :THREAT, 1
@@ -59,6 +72,7 @@ module Google
59
72
  Finding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding").msgclass
60
73
  Finding::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.State").enummodule
61
74
  Finding::Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.Severity").enummodule
75
+ Finding::Mute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.Mute").enummodule
62
76
  Finding::FindingClass = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.FindingClass").enummodule
63
77
  end
64
78
  end
@@ -0,0 +1,32 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/mute_config.proto
3
+
4
+ require 'google/api/field_behavior_pb'
5
+ require 'google/api/resource_pb'
6
+ require 'google/protobuf/timestamp_pb'
7
+ require 'google/api/annotations_pb'
8
+ require 'google/protobuf'
9
+
10
+ Google::Protobuf::DescriptorPool.generated_pool.build do
11
+ add_file("google/cloud/securitycenter/v1/mute_config.proto", :syntax => :proto3) do
12
+ add_message "google.cloud.securitycenter.v1.MuteConfig" do
13
+ optional :name, :string, 1
14
+ optional :display_name, :string, 2
15
+ optional :description, :string, 3
16
+ optional :filter, :string, 4
17
+ optional :create_time, :message, 5, "google.protobuf.Timestamp"
18
+ optional :update_time, :message, 6, "google.protobuf.Timestamp"
19
+ optional :most_recent_editor, :string, 7
20
+ end
21
+ end
22
+ end
23
+
24
+ module Google
25
+ module Cloud
26
+ module SecurityCenter
27
+ module V1
28
+ MuteConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.MuteConfig").msgclass
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,16 +1,18 @@
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/cloud/securitycenter/v1/run_asset_discovery_response_pb'
5
4
  require 'google/api/annotations_pb'
6
5
  require 'google/api/client_pb'
7
6
  require 'google/api/field_behavior_pb'
8
7
  require 'google/api/resource_pb'
9
8
  require 'google/cloud/securitycenter/v1/asset_pb'
9
+ require 'google/cloud/securitycenter/v1/external_system_pb'
10
10
  require 'google/cloud/securitycenter/v1/finding_pb'
11
11
  require 'google/cloud/securitycenter/v1/folder_pb'
12
+ require 'google/cloud/securitycenter/v1/mute_config_pb'
12
13
  require 'google/cloud/securitycenter/v1/notification_config_pb'
13
14
  require 'google/cloud/securitycenter/v1/organization_settings_pb'
15
+ require 'google/cloud/securitycenter/v1/run_asset_discovery_response_pb'
14
16
  require 'google/cloud/securitycenter/v1/security_marks_pb'
15
17
  require 'google/cloud/securitycenter/v1/source_pb'
16
18
  require 'google/iam/v1/iam_policy_pb'
@@ -25,11 +27,23 @@ require 'google/protobuf'
25
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
@@ -172,13 +201,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
172
201
  optional :state, :enum, 2, "google.cloud.securitycenter.v1.Finding.State"
173
202
  optional :start_time, :message, 3, "google.protobuf.Timestamp"
174
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
175
208
  add_message "google.cloud.securitycenter.v1.RunAssetDiscoveryRequest" do
176
209
  optional :parent, :string, 1
177
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
178
215
  add_message "google.cloud.securitycenter.v1.UpdateFindingRequest" do
179
216
  optional :finding, :message, 1, "google.cloud.securitycenter.v1.Finding"
180
217
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
181
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
182
223
  add_message "google.cloud.securitycenter.v1.UpdateNotificationConfigRequest" do
183
224
  optional :notification_config, :message, 1, "google.cloud.securitycenter.v1.NotificationConfig"
184
225
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
@@ -203,10 +244,15 @@ module Google
203
244
  module Cloud
204
245
  module SecurityCenter
205
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
206
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
207
251
  CreateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateNotificationConfigRequest").msgclass
208
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
209
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
210
256
  GetNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetNotificationConfigRequest").msgclass
211
257
  GetOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetOrganizationSettingsRequest").msgclass
212
258
  GetSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetSourceRequest").msgclass
@@ -215,6 +261,8 @@ module Google
215
261
  GroupFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsRequest").msgclass
216
262
  GroupFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsResponse").msgclass
217
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
218
266
  ListNotificationConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsRequest").msgclass
219
267
  ListNotificationConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsResponse").msgclass
220
268
  ListSourcesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListSourcesRequest").msgclass
@@ -229,8 +277,11 @@ module Google
229
277
  ListFindingsResponse::ListFindingsResult::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource").msgclass
230
278
  ListFindingsResponse::ListFindingsResult::StateChange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange").enummodule
231
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
232
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
233
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
234
285
  UpdateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateNotificationConfigRequest").msgclass
235
286
  UpdateOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest").msgclass
236
287
  UpdateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateSourceRequest").msgclass
@@ -33,17 +33,27 @@ module Google
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
@@ -33,11 +33,7 @@ module Google
33
33
  # // For Kubernetes resources, the format is {api group}/{kind}.
34
34
  # option (google.api.resource) = {
35
35
  # type: "pubsub.googleapis.com/Topic"
36
- # name_descriptor: {
37
- # pattern: "projects/{project}/topics/{topic}"
38
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
- # parent_name_extractor: "projects/{project}"
40
- # }
36
+ # pattern: "projects/{project}/topics/{topic}"
41
37
  # };
42
38
  # }
43
39
  #
@@ -45,10 +41,7 @@ module Google
45
41
  #
46
42
  # resources:
47
43
  # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/{project}/topics/{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/{project}"
44
+ # pattern: "projects/{project}/topics/{topic}"
52
45
  #
53
46
  # Sometimes, resources have multiple patterns, typically because they can
54
47
  # live under multiple parents.
@@ -58,26 +51,10 @@ module Google
58
51
  # message LogEntry {
59
52
  # option (google.api.resource) = {
60
53
  # type: "logging.googleapis.com/LogEntry"
61
- # name_descriptor: {
62
- # pattern: "projects/{project}/logs/{log}"
63
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
- # parent_name_extractor: "projects/{project}"
65
- # }
66
- # name_descriptor: {
67
- # pattern: "folders/{folder}/logs/{log}"
68
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
- # parent_name_extractor: "folders/{folder}"
70
- # }
71
- # name_descriptor: {
72
- # pattern: "organizations/{organization}/logs/{log}"
73
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
- # parent_name_extractor: "organizations/{organization}"
75
- # }
76
- # name_descriptor: {
77
- # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
- # parent_type: "billing.googleapis.com/BillingAccount"
79
- # parent_name_extractor: "billingAccounts/{billing_account}"
80
- # }
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
81
58
  # };
82
59
  # }
83
60
  #
@@ -85,48 +62,10 @@ module Google
85
62
  #
86
63
  # resources:
87
64
  # - type: 'logging.googleapis.com/LogEntry'
88
- # name_descriptor:
89
- # - pattern: "projects/{project}/logs/{log}"
90
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
- # parent_name_extractor: "projects/{project}"
92
- # - pattern: "folders/{folder}/logs/{log}"
93
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
- # parent_name_extractor: "folders/{folder}"
95
- # - pattern: "organizations/{organization}/logs/{log}"
96
- # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
- # parent_name_extractor: "organizations/{organization}"
98
- # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
- # parent_type: "billing.googleapis.com/BillingAccount"
100
- # parent_name_extractor: "billingAccounts/{billing_account}"
101
- #
102
- # For flexible resources, the resource name doesn't contain parent names, but
103
- # the resource itself has parents for policy evaluation.
104
- #
105
- # Example:
106
- #
107
- # message Shelf {
108
- # option (google.api.resource) = {
109
- # type: "library.googleapis.com/Shelf"
110
- # name_descriptor: {
111
- # pattern: "shelves/{shelf}"
112
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
- # }
114
- # name_descriptor: {
115
- # pattern: "shelves/{shelf}"
116
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
- # }
118
- # };
119
- # }
120
- #
121
- # The ResourceDescriptor Yaml config will look like:
122
- #
123
- # resources:
124
- # - type: 'library.googleapis.com/Shelf'
125
- # name_descriptor:
126
- # - pattern: "shelves/{shelf}"
127
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
- # - pattern: "shelves/{shelf}"
129
- # parent_type: "cloudresourcemanager.googleapis.com/Folder"
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
130
69
  # @!attribute [rw] type
131
70
  # @return [::String]
132
71
  # The resource type. It must be in the format of
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+ # Represents an access event.
25
+ # @!attribute [rw] principal_email
26
+ # @return [::String]
27
+ # Associated email, such as "foo@google.com".
28
+ # @!attribute [rw] caller_ip
29
+ # @return [::String]
30
+ # Caller's IP address, such as "1.1.1.1".
31
+ # @!attribute [rw] caller_ip_geo
32
+ # @return [::Google::Cloud::SecurityCenter::V1::Geolocation]
33
+ # The caller IP's geolocation, which identifies where the call came from.
34
+ # @!attribute [rw] user_agent_family
35
+ # @return [::String]
36
+ # What kind of user agent is associated, e.g. operating system shells,
37
+ # embedded or stand-alone applications, etc.
38
+ # @!attribute [rw] service_name
39
+ # @return [::String]
40
+ # This is the API service that the service account made a call to, e.g.
41
+ # "iam.googleapis.com"
42
+ # @!attribute [rw] method_name
43
+ # @return [::String]
44
+ # The method that the service account called, e.g. "SetIamPolicy".
45
+ class Access
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+
50
+ # Represents a geographical location for a given access.
51
+ # @!attribute [rw] region_code
52
+ # @return [::String]
53
+ # A CLDR.
54
+ class Geolocation
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end