google-cloud-security_center-v1 0.10.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +852 -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/securitycenter_service_pb.rb +52 -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 +52 -5
- data/proto_docs/google/cloud/securitycenter/v1/mute_config.rb +82 -0
- data/proto_docs/google/cloud/securitycenter/v1/resource.rb +1 -1
- data/proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb +177 -2
- 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
|
@@ -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
|
-
#
|
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
|
@@ -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
|