google-cloud-security_center-v1 0.9.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/AUTHENTICATION.md +7 -25
- data/README.md +3 -3
- data/lib/google/cloud/security_center/v1/security_center/client.rb +853 -29
- data/lib/google/cloud/security_center/v1/security_center/paths.rb +116 -0
- data/lib/google/cloud/security_center/v1/version.rb +1 -1
- data/lib/google/cloud/securitycenter/v1/access_pb.rb +32 -0
- data/lib/google/cloud/securitycenter/v1/external_system_pb.rb +29 -0
- data/lib/google/cloud/securitycenter/v1/finding_pb.rb +15 -1
- data/lib/google/cloud/securitycenter/v1/mute_config_pb.rb +32 -0
- data/lib/google/cloud/securitycenter/v1/resource_pb.rb +1 -0
- data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +54 -1
- data/lib/google/cloud/securitycenter/v1/securitycenter_service_services_pb.rb +18 -0
- data/proto_docs/google/api/resource.rb +10 -71
- data/proto_docs/google/cloud/securitycenter/v1/access.rb +61 -0
- data/proto_docs/google/cloud/securitycenter/v1/external_system.rb +52 -0
- data/proto_docs/google/cloud/securitycenter/v1/finding.rb +50 -5
- data/proto_docs/google/cloud/securitycenter/v1/mute_config.rb +82 -0
- data/proto_docs/google/cloud/securitycenter/v1/resource.rb +3 -0
- data/proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb +183 -1
- metadata +9 -3
@@ -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
|
#
|
@@ -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
|
@@ -16,6 +16,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
16
16
|
optional :parent_display_name, :string, 5
|
17
17
|
optional :type, :string, 6
|
18
18
|
repeated :folders, :message, 7, "google.cloud.securitycenter.v1.Folder"
|
19
|
+
optional :display_name, :string, 8
|
19
20
|
end
|
20
21
|
end
|
21
22
|
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
|
@@ -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
|
@@ -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
|
-
#
|
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
|
-
#
|
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
|
-
#
|
62
|
-
#
|
63
|
-
#
|
64
|
-
#
|
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
|
-
#
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
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
|