google-cloud-security_center_management-v1 0.a → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/security_center_management/v1/bindings_override.rb +102 -0
  6. data/lib/google/cloud/security_center_management/v1/rest.rb +38 -0
  7. data/lib/google/cloud/security_center_management/v1/security_center_management/client.rb +2668 -0
  8. data/lib/google/cloud/security_center_management/v1/security_center_management/credentials.rb +47 -0
  9. data/lib/google/cloud/security_center_management/v1/security_center_management/paths.rb +374 -0
  10. data/lib/google/cloud/security_center_management/v1/security_center_management/rest/client.rb +2503 -0
  11. data/lib/google/cloud/security_center_management/v1/security_center_management/rest/service_stub.rb +1623 -0
  12. data/lib/google/cloud/security_center_management/v1/security_center_management/rest.rb +53 -0
  13. data/lib/google/cloud/security_center_management/v1/security_center_management.rb +55 -0
  14. data/lib/google/cloud/security_center_management/v1/version.rb +7 -2
  15. data/lib/google/cloud/security_center_management/v1.rb +45 -0
  16. data/lib/google/cloud/securitycentermanagement/v1/security_center_management_pb.rb +114 -0
  17. data/lib/google/cloud/securitycentermanagement/v1/security_center_management_services_pb.rb +122 -0
  18. data/lib/google-cloud-security_center_management-v1.rb +21 -0
  19. data/proto_docs/README.md +4 -0
  20. data/proto_docs/google/api/client.rb +399 -0
  21. data/proto_docs/google/api/field_behavior.rb +85 -0
  22. data/proto_docs/google/api/launch_stage.rb +71 -0
  23. data/proto_docs/google/api/resource.rb +222 -0
  24. data/proto_docs/google/cloud/securitycentermanagement/v1/security_center_management.rb +1230 -0
  25. data/proto_docs/google/iam/v1/policy.rb +426 -0
  26. data/proto_docs/google/protobuf/any.rb +145 -0
  27. data/proto_docs/google/protobuf/duration.rb +98 -0
  28. data/proto_docs/google/protobuf/empty.rb +34 -0
  29. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  30. data/proto_docs/google/protobuf/struct.rb +96 -0
  31. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  32. data/proto_docs/google/rpc/status.rb +48 -0
  33. data/proto_docs/google/type/expr.rb +75 -0
  34. metadata +112 -11
@@ -0,0 +1,1230 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 SecurityCenterManagement
23
+ module V1
24
+ # Represents a particular Security Command Center service. This includes
25
+ # settings information such as top-level enablement in addition to individual
26
+ # module settings. Service settings can be configured at the organization,
27
+ # folder, or project level. Service settings at the organization or folder
28
+ # level are inherited by those in child folders and projects.
29
+ # @!attribute [rw] name
30
+ # @return [::String]
31
+ # Identifier. The name of the service.
32
+ #
33
+ # Its format is:
34
+ #
35
+ # * organizations/\\{organization}/locations/\\{location}/securityCenterServices/\\{service}
36
+ # * folders/\\{folder}/locations/\\{location}/securityCenterServices/\\{service}
37
+ # * projects/\\{project}/locations/\\{location}/securityCenterServices/\\{service}
38
+ #
39
+ # The possible values for id \\{service} are:
40
+ #
41
+ # * container-threat-detection
42
+ # * event-threat-detection
43
+ # * security-health-analytics
44
+ # * vm-threat-detection
45
+ # * web-security-scanner
46
+ # @!attribute [rw] intended_enablement_state
47
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService::EnablementState]
48
+ # Optional. The intended state of enablement for the service at its level of
49
+ # the resource hierarchy. A DISABLED state will override all module
50
+ # enablement_states to DISABLED.
51
+ # @!attribute [r] effective_enablement_state
52
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService::EnablementState]
53
+ # Output only. The effective enablement state for the service at its level of
54
+ # the resource hierarchy. If the intended state is set to INHERITED, the
55
+ # effective state will be inherited from the enablement state of an ancestor.
56
+ # This state may differ from the intended enablement state due to billing
57
+ # eligibility or onboarding status.
58
+ # @!attribute [rw] modules
59
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService::ModuleSettings}]
60
+ # Optional. The configurations including the state of enablement for the
61
+ # service's different modules. The absence of a module in the map implies its
62
+ # configuration is inherited from its parents.
63
+ # @!attribute [r] update_time
64
+ # @return [::Google::Protobuf::Timestamp]
65
+ # Output only. The time the service was last updated. This could be due to an
66
+ # explicit user update or due to a side effect of another system change such
67
+ # as billing subscription expiry.
68
+ # @!attribute [rw] service_config
69
+ # @return [::Google::Protobuf::Struct]
70
+ # Optional. Additional service specific configuration. Not all services will
71
+ # utilize this field.
72
+ class SecurityCenterService
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+
76
+ # The settings for individual modules.
77
+ # @!attribute [rw] intended_enablement_state
78
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService::EnablementState]
79
+ # Optional. The intended state of enablement for the module at its level of
80
+ # the resource hierarchy.
81
+ # @!attribute [r] effective_enablement_state
82
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService::EnablementState]
83
+ # Output only. The effective enablement state for the module at its level
84
+ # of the resource hierarchy. If the intended state is set to INHERITED, the
85
+ # effective state will be inherited from the enablement state of an
86
+ # ancestor. This state may
87
+ # differ from the intended enablement state due to billing eligibility or
88
+ # onboarding status.
89
+ class ModuleSettings
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+ end
93
+
94
+ # @!attribute [rw] key
95
+ # @return [::String]
96
+ # @!attribute [rw] value
97
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService::ModuleSettings]
98
+ class ModulesEntry
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # Represents the possible intended states of enablement for a service or
104
+ # module.
105
+ module EnablementState
106
+ # Default value. This value is unused.
107
+ ENABLEMENT_STATE_UNSPECIFIED = 0
108
+
109
+ # State is inherited from the parent resource. Not a valid effective
110
+ # enablement state.
111
+ INHERITED = 1
112
+
113
+ # State is enabled.
114
+ ENABLED = 2
115
+
116
+ # State is disabled.
117
+ DISABLED = 3
118
+ end
119
+ end
120
+
121
+ # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of
122
+ # a Security Health Analytics custom module at a specified level of the
123
+ # resource hierarchy: organization, folder, or project. If a custom module is
124
+ # inherited from a parent organization or folder, the value of the
125
+ # `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is
126
+ # set to the value that is effective in the parent, instead of `INHERITED`.
127
+ # For example, if the module is enabled in a parent organization or folder, the
128
+ # effective enablement_state for the module in all child folders or projects is
129
+ # also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.
130
+ # @!attribute [rw] name
131
+ # @return [::String]
132
+ # Identifier. The full resource name of the custom module, specified in one
133
+ # of the following formats:
134
+ #
135
+ # * `organizations/organization/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}`
136
+ # * `folders/folder/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}`
137
+ # * `projects/project/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}`
138
+ # @!attribute [r] custom_config
139
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::CustomConfig]
140
+ # Output only. The user-specified configuration for the module.
141
+ # @!attribute [r] enablement_state
142
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::EffectiveSecurityHealthAnalyticsCustomModule::EnablementState]
143
+ # Output only. The effective state of enablement for the module at the given
144
+ # level of the hierarchy.
145
+ # @!attribute [r] display_name
146
+ # @return [::String]
147
+ # Output only. The display name for the custom module. The name must be
148
+ # between 1 and 128 characters, start with a lowercase letter, and contain
149
+ # alphanumeric characters or underscores only.
150
+ class EffectiveSecurityHealthAnalyticsCustomModule
151
+ include ::Google::Protobuf::MessageExts
152
+ extend ::Google::Protobuf::MessageExts::ClassMethods
153
+
154
+ # The enablement state of the module.
155
+ module EnablementState
156
+ # Unspecified enablement state.
157
+ ENABLEMENT_STATE_UNSPECIFIED = 0
158
+
159
+ # The module is enabled at the given level.
160
+ ENABLED = 1
161
+
162
+ # The module is disabled at the given level.
163
+ DISABLED = 2
164
+ end
165
+ end
166
+
167
+ # Request message for listing effective Security Health Analytics custom
168
+ # modules.
169
+ # @!attribute [rw] parent
170
+ # @return [::String]
171
+ # Required. Name of parent to list effective custom modules. specified in one
172
+ # of the following formats:
173
+ # * `organizations/{organization}/locations/{location}`
174
+ # * `folders/{folder}/locations/{location}`
175
+ # or
176
+ # `projects/{project}/locations/{location}`
177
+ # @!attribute [rw] page_size
178
+ # @return [::Integer]
179
+ # Optional. The maximum number of results to return in a single response.
180
+ # Default is 10, minimum is 1, maximum is 1000.
181
+ # @!attribute [rw] page_token
182
+ # @return [::String]
183
+ # Optional. The value returned by the last call indicating a continuation.
184
+ class ListEffectiveSecurityHealthAnalyticsCustomModulesRequest
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Response message for listing effective Security Health Analytics custom
190
+ # modules.
191
+ # @!attribute [rw] effective_security_health_analytics_custom_modules
192
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::EffectiveSecurityHealthAnalyticsCustomModule>]
193
+ # The list of EffectiveSecurityHealthAnalyticsCustomModule
194
+ # @!attribute [rw] next_page_token
195
+ # @return [::String]
196
+ # A token identifying a page of results the server should return.
197
+ class ListEffectiveSecurityHealthAnalyticsCustomModulesResponse
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+
202
+ # Message for getting a EffectiveSecurityHealthAnalyticsCustomModule
203
+ # @!attribute [rw] name
204
+ # @return [::String]
205
+ # Required. The full resource name of the custom module, specified in one of
206
+ # the following formats:
207
+ #
208
+ # * `organizations/organization/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}`
209
+ # * `folders/folder/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}`
210
+ # * `projects/project/{location}/effectiveSecurityHealthAnalyticsCustomModules/{effective_security_health_analytics_custom_module}`
211
+ class GetEffectiveSecurityHealthAnalyticsCustomModuleRequest
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # Represents an instance of a Security Health Analytics custom module,
217
+ # including its full module name, display name, enablement state, and last
218
+ # updated time. You can create a custom module at the organization, folder, or
219
+ # project level. Custom modules that you create at the organization or folder
220
+ # level are inherited by the child folders and projects.
221
+ # @!attribute [rw] name
222
+ # @return [::String]
223
+ # Identifier. The full resource name of the custom module, specified in one
224
+ # of the following formats:
225
+ # * `organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}`
226
+ # * `folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}`
227
+ # * `projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}`
228
+ # @!attribute [rw] display_name
229
+ # @return [::String]
230
+ # Optional. The display name of the Security Health Analytics custom module.
231
+ # This display name becomes the finding category for all findings that are
232
+ # returned by this custom module. The display name must be between 1 and
233
+ # 128 characters, start with a lowercase letter, and contain alphanumeric
234
+ # characters or underscores only.
235
+ # @!attribute [rw] enablement_state
236
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityHealthAnalyticsCustomModule::EnablementState]
237
+ # Optional. The enablement state of the custom module.
238
+ # @!attribute [r] update_time
239
+ # @return [::Google::Protobuf::Timestamp]
240
+ # Output only. The time at which the custom module was last updated.
241
+ # @!attribute [r] last_editor
242
+ # @return [::String]
243
+ # Output only. The editor that last updated the custom module.
244
+ # @!attribute [r] ancestor_module
245
+ # @return [::String]
246
+ # Output only. Specifies the organization or folder from which the custom
247
+ # module is inherited. If empty, indicates that the custom module was created
248
+ # in the organization, folder, or project in which you are viewing the custom
249
+ # module.
250
+ # @!attribute [rw] custom_config
251
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::CustomConfig]
252
+ # Optional. The user specified custom configuration for the module.
253
+ class SecurityHealthAnalyticsCustomModule
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # Possible enablement states of a custom module.
258
+ module EnablementState
259
+ # Unspecified enablement state.
260
+ ENABLEMENT_STATE_UNSPECIFIED = 0
261
+
262
+ # The module is enabled at the given CRM resource.
263
+ ENABLED = 1
264
+
265
+ # The module is disabled at the given CRM resource.
266
+ DISABLED = 2
267
+
268
+ # State is inherited from an ancestor module. The module will either
269
+ # be effectively ENABLED or DISABLED based on its closest non-inherited
270
+ # ancestor module in the CRM hierarchy. Attempting to set a top level
271
+ # module (module with no parent) to the INHERITED state will result in an
272
+ # INVALID_ARGUMENT error.
273
+ INHERITED = 3
274
+ end
275
+ end
276
+
277
+ # Defines the properties in a custom module configuration for Security
278
+ # Health Analytics. Use the custom module configuration to create custom
279
+ # detectors that generate custom findings for resources that you specify.
280
+ # @!attribute [rw] predicate
281
+ # @return [::Google::Type::Expr]
282
+ # Optional. The CEL expression to evaluate to produce findings. When the
283
+ # expression evaluates to true against a resource, a finding is generated.
284
+ # @!attribute [rw] custom_output
285
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::CustomConfig::CustomOutputSpec]
286
+ # Optional. Custom output properties.
287
+ # @!attribute [rw] resource_selector
288
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::CustomConfig::ResourceSelector]
289
+ # Optional. The Cloud Asset Inventory resource types that the custom module
290
+ # operates on. For information about resource types, see [Supported asset
291
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types).
292
+ # Each custom module can specify up to 5 resource types.
293
+ # @!attribute [rw] severity
294
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::CustomConfig::Severity]
295
+ # Optional. The severity to assign to findings generated by the module.
296
+ # @!attribute [rw] description
297
+ # @return [::String]
298
+ # Optional. Text that describes the vulnerability or misconfiguration that
299
+ # the custom module detects. This explanation is returned with each finding
300
+ # instance to help investigators understand the detected issue. The text must
301
+ # be enclosed in quotation marks.
302
+ # @!attribute [rw] recommendation
303
+ # @return [::String]
304
+ # Optional. An explanation of the recommended steps that security teams can
305
+ # take to resolve the detected issue. This explanation is returned with each
306
+ # finding generated by this module in the `nextSteps` property of the finding
307
+ # JSON.
308
+ class CustomConfig
309
+ include ::Google::Protobuf::MessageExts
310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
311
+
312
+ # A set of optional name-value pairs that define custom source properties to
313
+ # return with each finding that is generated by the custom module. The custom
314
+ # source properties that are defined here are included in the finding JSON
315
+ # under `sourceProperties`.
316
+ # @!attribute [rw] properties
317
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::CustomConfig::CustomOutputSpec::Property>]
318
+ # Optional. A list of custom output properties to add to the finding.
319
+ class CustomOutputSpec
320
+ include ::Google::Protobuf::MessageExts
321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # An individual name-value pair that defines a custom source property.
324
+ # @!attribute [rw] name
325
+ # @return [::String]
326
+ # Optional. Name of the property for the custom output.
327
+ # @!attribute [rw] value_expression
328
+ # @return [::Google::Type::Expr]
329
+ # Optional. The CEL expression for the custom output. A resource property
330
+ # can be specified to return the value of the property or a text string
331
+ # enclosed in quotation marks.
332
+ class Property
333
+ include ::Google::Protobuf::MessageExts
334
+ extend ::Google::Protobuf::MessageExts::ClassMethods
335
+ end
336
+ end
337
+
338
+ # Resource for selecting resource type.
339
+ # @!attribute [rw] resource_types
340
+ # @return [::Array<::String>]
341
+ # Optional. The resource types to run the detector on.
342
+ class ResourceSelector
343
+ include ::Google::Protobuf::MessageExts
344
+ extend ::Google::Protobuf::MessageExts::ClassMethods
345
+ end
346
+
347
+ # Defines the valid value options for the severity of a finding.
348
+ module Severity
349
+ # Unspecified severity.
350
+ SEVERITY_UNSPECIFIED = 0
351
+
352
+ # Critical severity.
353
+ CRITICAL = 1
354
+
355
+ # High severity.
356
+ HIGH = 2
357
+
358
+ # Medium severity.
359
+ MEDIUM = 3
360
+
361
+ # Low severity.
362
+ LOW = 4
363
+ end
364
+ end
365
+
366
+ # Request message for listing Security Health Analytics custom modules.
367
+ # @!attribute [rw] parent
368
+ # @return [::String]
369
+ # Required. Name of parent organization, folder, or project in which to list
370
+ # custom modules, specified in one of the following formats:
371
+ #
372
+ # * `organizations/{organization}/locations/{location}`
373
+ # * `folders/{folder}/locations/{location}`
374
+ # * `projects/{project}/locations/{location}`
375
+ # @!attribute [rw] page_size
376
+ # @return [::Integer]
377
+ # Optional. The maximum number of results to return in a single response.
378
+ # Default is 10, minimum is 1, maximum is 1000.
379
+ # @!attribute [rw] page_token
380
+ # @return [::String]
381
+ # Optional. A token identifying a page of results the server should return.
382
+ class ListSecurityHealthAnalyticsCustomModulesRequest
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+ end
386
+
387
+ # Response message for listing Security Health Analytics custom modules.
388
+ # @!attribute [rw] security_health_analytics_custom_modules
389
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::SecurityHealthAnalyticsCustomModule>]
390
+ # The list of SecurityHealthAnalyticsCustomModules
391
+ # @!attribute [rw] next_page_token
392
+ # @return [::String]
393
+ # A token identifying a page of results the server should return.
394
+ class ListSecurityHealthAnalyticsCustomModulesResponse
395
+ include ::Google::Protobuf::MessageExts
396
+ extend ::Google::Protobuf::MessageExts::ClassMethods
397
+ end
398
+
399
+ # Request message for listing descendant Security Health Analytics custom
400
+ # modules.
401
+ # @!attribute [rw] parent
402
+ # @return [::String]
403
+ # Required. Name of the parent organization, folder, or project in which to
404
+ # list custom modules, specified in one of the following formats:
405
+ #
406
+ # * `organizations/{organization}/locations/{location}`
407
+ # * `folders/{folder}/locations/{location}`
408
+ # * `projects/{project}/locations/{location}`
409
+ # @!attribute [rw] page_size
410
+ # @return [::Integer]
411
+ # Optional. The maximum number of results to return in a single response.
412
+ # Default is 10, minimum is 1, maximum is 1000.
413
+ # @!attribute [rw] page_token
414
+ # @return [::String]
415
+ # Optional. A token identifying a page of results the server should return.
416
+ class ListDescendantSecurityHealthAnalyticsCustomModulesRequest
417
+ include ::Google::Protobuf::MessageExts
418
+ extend ::Google::Protobuf::MessageExts::ClassMethods
419
+ end
420
+
421
+ # Response message for listing descendant Security Health Analytics custom
422
+ # modules.
423
+ # @!attribute [rw] security_health_analytics_custom_modules
424
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::SecurityHealthAnalyticsCustomModule>]
425
+ # The list of SecurityHealthAnalyticsCustomModules
426
+ # @!attribute [rw] next_page_token
427
+ # @return [::String]
428
+ # A token identifying a page of results the server should return.
429
+ class ListDescendantSecurityHealthAnalyticsCustomModulesResponse
430
+ include ::Google::Protobuf::MessageExts
431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
432
+ end
433
+
434
+ # Message for getting a SecurityHealthAnalyticsCustomModule
435
+ # @!attribute [rw] name
436
+ # @return [::String]
437
+ # Required. Name of the resource
438
+ class GetSecurityHealthAnalyticsCustomModuleRequest
439
+ include ::Google::Protobuf::MessageExts
440
+ extend ::Google::Protobuf::MessageExts::ClassMethods
441
+ end
442
+
443
+ # Message for creating a SecurityHealthAnalyticsCustomModule
444
+ # @!attribute [rw] parent
445
+ # @return [::String]
446
+ # Required. Name of the parent organization, folder, or project of the
447
+ # module, specified in one of the following formats:
448
+ #
449
+ # * `organizations/{organization}/locations/{location}`
450
+ # * `folders/{folder}/locations/{location}`
451
+ # * `projects/{project}/locations/{location}`
452
+ # @!attribute [rw] security_health_analytics_custom_module
453
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityHealthAnalyticsCustomModule]
454
+ # Required. The resource being created
455
+ # @!attribute [rw] validate_only
456
+ # @return [::Boolean]
457
+ # Optional. When set to true, only validations (including IAM checks) will
458
+ # done for the request (no module will be created). An OK response indicates
459
+ # the request is valid while an error response indicates the request is
460
+ # invalid. Note that a subsequent request to actually create the module could
461
+ # still fail because:
462
+ # 1. the state could have changed (e.g. IAM permission lost) or
463
+ # 2. A failure occurred during creation of the module.
464
+ # Defaults to false.
465
+ class CreateSecurityHealthAnalyticsCustomModuleRequest
466
+ include ::Google::Protobuf::MessageExts
467
+ extend ::Google::Protobuf::MessageExts::ClassMethods
468
+ end
469
+
470
+ # Message for updating a SecurityHealthAnalyticsCustomModule
471
+ # @!attribute [rw] update_mask
472
+ # @return [::Google::Protobuf::FieldMask]
473
+ # Required. The list of fields to be updated. The only fields that can be
474
+ # updated are `enablement_state` and `custom_config`. If empty or set to the
475
+ # wildcard value `*`, both `enablement_state` and `custom_config` are
476
+ # updated.
477
+ # @!attribute [rw] security_health_analytics_custom_module
478
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityHealthAnalyticsCustomModule]
479
+ # Required. The resource being updated
480
+ # @!attribute [rw] validate_only
481
+ # @return [::Boolean]
482
+ # Optional. When set to true, only validations (including IAM checks) will
483
+ # done for the request (module will not be updated). An OK response indicates
484
+ # the request is valid while an error response indicates the request is
485
+ # invalid. Note that a subsequent request to actually update the module could
486
+ # still fail because 1. the state could have changed (e.g. IAM permission
487
+ # lost) or
488
+ # 2. A failure occurred while trying to update the module.
489
+ class UpdateSecurityHealthAnalyticsCustomModuleRequest
490
+ include ::Google::Protobuf::MessageExts
491
+ extend ::Google::Protobuf::MessageExts::ClassMethods
492
+ end
493
+
494
+ # Message for deleting a SecurityHealthAnalyticsCustomModule
495
+ # @!attribute [rw] name
496
+ # @return [::String]
497
+ # Required. The resource name of the SHA custom module.
498
+ #
499
+ # Its format is:
500
+ #
501
+ # * `organizations/{organization}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}`.
502
+ # * `folders/{folder}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}`.
503
+ # * `projects/{project}/locations/{location}/securityHealthAnalyticsCustomModules/{security_health_analytics_custom_module}`.
504
+ # @!attribute [rw] validate_only
505
+ # @return [::Boolean]
506
+ # Optional. When set to true, only validations (including IAM checks) will
507
+ # done for the request (module will not be deleted). An OK response indicates
508
+ # the request is valid while an error response indicates the request is
509
+ # invalid. Note that a subsequent request to actually delete the module could
510
+ # still fail because 1. the state could have changed (e.g. IAM permission
511
+ # lost) or
512
+ # 2. A failure occurred while trying to delete the module.
513
+ class DeleteSecurityHealthAnalyticsCustomModuleRequest
514
+ include ::Google::Protobuf::MessageExts
515
+ extend ::Google::Protobuf::MessageExts::ClassMethods
516
+ end
517
+
518
+ # Request message to simulate a CustomConfig against a given test resource.
519
+ # Maximum size of the request is 4 MB by default.
520
+ # @!attribute [rw] parent
521
+ # @return [::String]
522
+ # Required. The relative resource name of the organization, project, or
523
+ # folder. For more information about relative resource names, see [Relative
524
+ # Resource
525
+ # Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
526
+ # Example: `organizations/{organization_id}`.
527
+ # @!attribute [rw] custom_config
528
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::CustomConfig]
529
+ # Required. The custom configuration that you need to test.
530
+ # @!attribute [rw] resource
531
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SimulateSecurityHealthAnalyticsCustomModuleRequest::SimulatedResource]
532
+ # Required. Resource data to simulate custom module against.
533
+ class SimulateSecurityHealthAnalyticsCustomModuleRequest
534
+ include ::Google::Protobuf::MessageExts
535
+ extend ::Google::Protobuf::MessageExts::ClassMethods
536
+
537
+ # Manually constructed resource name. If the custom module evaluates against
538
+ # only the resource data, you can omit the `iam_policy_data` field. If it
539
+ # evaluates only the `iam_policy_data` field, you can omit the resource data.
540
+ # @!attribute [rw] resource_type
541
+ # @return [::String]
542
+ # Required. The type of the resource, for example,
543
+ # `compute.googleapis.com/Disk`.
544
+ # @!attribute [rw] resource_data
545
+ # @return [::Google::Protobuf::Struct]
546
+ # Optional. A representation of the Google Cloud resource. Should match the
547
+ # Google Cloud resource JSON format.
548
+ # @!attribute [rw] iam_policy_data
549
+ # @return [::Google::Iam::V1::Policy]
550
+ # Optional. A representation of the IAM policy.
551
+ class SimulatedResource
552
+ include ::Google::Protobuf::MessageExts
553
+ extend ::Google::Protobuf::MessageExts::ClassMethods
554
+ end
555
+ end
556
+
557
+ # A subset of the fields of the Security Center Finding proto. The minimum set
558
+ # of fields needed to represent a simulated finding from a SHA custom module.
559
+ # @!attribute [rw] name
560
+ # @return [::String]
561
+ # Identifier. The [relative resource
562
+ # name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
563
+ # of the finding. Example:
564
+ # `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`,
565
+ # `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`,
566
+ # `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.
567
+ # @!attribute [rw] parent
568
+ # @return [::String]
569
+ # The relative resource name of the source the finding belongs to. See:
570
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
571
+ # This field is immutable after creation time.
572
+ # For example:
573
+ # `organizations/{organization_id}/sources/{source_id}`
574
+ # @!attribute [rw] resource_name
575
+ # @return [::String]
576
+ # For findings on Google Cloud resources, the full resource
577
+ # name of the Google Cloud resource this finding is for. See:
578
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
579
+ # When the finding is for a non-Google Cloud resource, the resourceName can
580
+ # be a customer or partner defined string. This field is immutable after
581
+ # creation time.
582
+ # @!attribute [rw] category
583
+ # @return [::String]
584
+ # The additional taxonomy group within findings from a given source.
585
+ # This field is immutable after creation time.
586
+ # Example: "XSS_FLASH_INJECTION"
587
+ # @!attribute [r] state
588
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SimulatedFinding::State]
589
+ # Output only. The state of the finding.
590
+ # @!attribute [rw] source_properties
591
+ # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
592
+ # Source specific properties. These properties are managed by the source
593
+ # that writes the finding. The key names in the source_properties map must be
594
+ # between 1 and 255 characters, and must start with a letter and contain
595
+ # alphanumeric characters or underscores only.
596
+ # @!attribute [rw] event_time
597
+ # @return [::Google::Protobuf::Timestamp]
598
+ # The time the finding was first detected. If an existing finding is updated,
599
+ # then this is the time the update occurred.
600
+ # For example, if the finding represents an open firewall, this property
601
+ # captures the time the detector believes the firewall became open. The
602
+ # accuracy is determined by the detector. If the finding is later resolved,
603
+ # then this time reflects when the finding was resolved. This must not
604
+ # be set to a value greater than the current timestamp.
605
+ # @!attribute [rw] severity
606
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SimulatedFinding::Severity]
607
+ # The severity of the finding. This field is managed by the source that
608
+ # writes the finding.
609
+ # @!attribute [rw] finding_class
610
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SimulatedFinding::FindingClass]
611
+ # The class of the finding.
612
+ class SimulatedFinding
613
+ include ::Google::Protobuf::MessageExts
614
+ extend ::Google::Protobuf::MessageExts::ClassMethods
615
+
616
+ # @!attribute [rw] key
617
+ # @return [::String]
618
+ # @!attribute [rw] value
619
+ # @return [::Google::Protobuf::Value]
620
+ class SourcePropertiesEntry
621
+ include ::Google::Protobuf::MessageExts
622
+ extend ::Google::Protobuf::MessageExts::ClassMethods
623
+ end
624
+
625
+ # The state of the finding.
626
+ module State
627
+ # Unspecified state.
628
+ STATE_UNSPECIFIED = 0
629
+
630
+ # The finding requires attention and has not been addressed yet.
631
+ ACTIVE = 1
632
+
633
+ # The finding has been fixed, triaged as a non-issue or otherwise addressed
634
+ # and is no longer active.
635
+ INACTIVE = 2
636
+ end
637
+
638
+ # The severity of the finding.
639
+ module Severity
640
+ # This value is used for findings when a source doesn't write a severity
641
+ # value.
642
+ SEVERITY_UNSPECIFIED = 0
643
+
644
+ # Vulnerability:
645
+ # A critical vulnerability is easily discoverable by an external actor,
646
+ # exploitable, and results in the direct ability to execute arbitrary code,
647
+ # exfiltrate data, and otherwise gain additional access and privileges to
648
+ # cloud resources and workloads. Examples include publicly accessible
649
+ # unprotected user data and public SSH access with weak or no
650
+ # passwords.
651
+ #
652
+ # Threat:
653
+ # Indicates a threat that is able to access, modify, or delete data or
654
+ # execute unauthorized code within existing resources.
655
+ CRITICAL = 1
656
+
657
+ # Vulnerability:
658
+ # A high risk vulnerability can be easily discovered and exploited in
659
+ # combination with other vulnerabilities in order to gain direct access and
660
+ # the ability to execute arbitrary code, exfiltrate data, and otherwise
661
+ # gain additional access and privileges to cloud resources and workloads.
662
+ # An example is a database with weak or no passwords that is only
663
+ # accessible internally. This database could easily be compromised by an
664
+ # actor that had access to the internal network.
665
+ #
666
+ # Threat:
667
+ # Indicates a threat that is able to create new computational resources in
668
+ # an environment but not able to access data or execute code in existing
669
+ # resources.
670
+ HIGH = 2
671
+
672
+ # Vulnerability:
673
+ # A medium risk vulnerability could be used by an actor to gain access to
674
+ # resources or privileges that enable them to eventually (through multiple
675
+ # steps or a complex exploit) gain access and the ability to execute
676
+ # arbitrary code or exfiltrate data. An example is a service account with
677
+ # access to more projects than it should have. If an actor gains access to
678
+ # the service account, they could potentially use that access to manipulate
679
+ # a project the service account was not intended to.
680
+ #
681
+ # Threat:
682
+ # Indicates a threat that is able to cause operational impact but may not
683
+ # access data or execute unauthorized code.
684
+ MEDIUM = 3
685
+
686
+ # Vulnerability:
687
+ # A low risk vulnerability hampers a security organization's ability to
688
+ # detect vulnerabilities or active threats in their deployment, or prevents
689
+ # the root cause investigation of security issues. An example is monitoring
690
+ # and logs being disabled for resource configurations and access.
691
+ #
692
+ # Threat:
693
+ # Indicates a threat that has obtained minimal access to an environment but
694
+ # is not able to access data, execute code, or create resources.
695
+ LOW = 4
696
+ end
697
+
698
+ # Represents what kind of Finding it is.
699
+ module FindingClass
700
+ # Unspecified finding class.
701
+ FINDING_CLASS_UNSPECIFIED = 0
702
+
703
+ # Describes unwanted or malicious activity.
704
+ THREAT = 1
705
+
706
+ # Describes a potential weakness in software that increases risk to
707
+ # Confidentiality & Integrity & Availability.
708
+ VULNERABILITY = 2
709
+
710
+ # Describes a potential weakness in cloud resource/asset configuration that
711
+ # increases risk.
712
+ MISCONFIGURATION = 3
713
+
714
+ # Describes a security observation that is for informational purposes.
715
+ OBSERVATION = 4
716
+
717
+ # Describes an error that prevents some SCC functionality.
718
+ SCC_ERROR = 5
719
+
720
+ # Describes a potential security risk due to a change in the security
721
+ # posture.
722
+ POSTURE_VIOLATION = 6
723
+ end
724
+ end
725
+
726
+ # Response message for simulating a `SecurityHealthAnalyticsCustomModule`
727
+ # against a given resource.
728
+ # @!attribute [rw] result
729
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SimulateSecurityHealthAnalyticsCustomModuleResponse::SimulatedResult]
730
+ # Result for test case in the corresponding request.
731
+ class SimulateSecurityHealthAnalyticsCustomModuleResponse
732
+ include ::Google::Protobuf::MessageExts
733
+ extend ::Google::Protobuf::MessageExts::ClassMethods
734
+
735
+ # Possible test result.
736
+ # @!attribute [rw] finding
737
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SimulatedFinding]
738
+ # Finding that would be published for the test case,
739
+ # if a violation is detected.
740
+ # @!attribute [rw] no_violation
741
+ # @return [::Google::Protobuf::Empty]
742
+ # Indicates that the test case does not trigger any violation.
743
+ # @!attribute [rw] error
744
+ # @return [::Google::Rpc::Status]
745
+ # Error encountered during the test.
746
+ class SimulatedResult
747
+ include ::Google::Protobuf::MessageExts
748
+ extend ::Google::Protobuf::MessageExts::ClassMethods
749
+ end
750
+ end
751
+
752
+ # An EffectiveEventThreatDetectionCustomModule is the representation of
753
+ # EventThreatDetectionCustomModule at a given level taking hierarchy into
754
+ # account and resolving various fields accordingly. e.g. if the module is
755
+ # enabled at the ancestor level, effective modules at all descendant levels
756
+ # will have enablement_state set to ENABLED. Similarly, if module.inherited is
757
+ # set, then effective module's config will contain the ancestor's config
758
+ # details. EffectiveEventThreatDetectionCustomModule is read-only.
759
+ # @!attribute [rw] name
760
+ # @return [::String]
761
+ # Identifier. The resource name of the ETD custom module.
762
+ #
763
+ # Its format is:
764
+ #
765
+ # * `organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}`.
766
+ # * `folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}`.
767
+ # * `projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}`.
768
+ # @!attribute [r] config
769
+ # @return [::Google::Protobuf::Struct]
770
+ # Output only. Config for the effective module.
771
+ # @!attribute [r] enablement_state
772
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::EffectiveEventThreatDetectionCustomModule::EnablementState]
773
+ # Output only. The effective state of enablement for the module at the given
774
+ # level of the hierarchy.
775
+ # @!attribute [r] type
776
+ # @return [::String]
777
+ # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP.
778
+ # @!attribute [r] display_name
779
+ # @return [::String]
780
+ # Output only. The human readable name to be displayed for the module.
781
+ # @!attribute [r] description
782
+ # @return [::String]
783
+ # Output only. The description for the module.
784
+ class EffectiveEventThreatDetectionCustomModule
785
+ include ::Google::Protobuf::MessageExts
786
+ extend ::Google::Protobuf::MessageExts::ClassMethods
787
+
788
+ # The enablement state of the module.
789
+ module EnablementState
790
+ # Unspecified enablement state.
791
+ ENABLEMENT_STATE_UNSPECIFIED = 0
792
+
793
+ # The module is enabled at the given level.
794
+ ENABLED = 1
795
+
796
+ # The module is disabled at the given level.
797
+ DISABLED = 2
798
+ end
799
+ end
800
+
801
+ # Request message for listing effective Event Threat Detection custom
802
+ # modules.
803
+ # @!attribute [rw] parent
804
+ # @return [::String]
805
+ # Required. Name of parent to list effective custom modules. Its format is
806
+ # `organizations/{organization}/locations/{location}`,
807
+ # `folders/{folder}/locations/{location}`,
808
+ # or
809
+ # `projects/{project}/locations/{location}`
810
+ # @!attribute [rw] page_size
811
+ # @return [::Integer]
812
+ # Optional. The maximum number of results to return in a single response.
813
+ # Default is 10, minimum is 1, maximum is 1000.
814
+ # @!attribute [rw] page_token
815
+ # @return [::String]
816
+ # Optional. The value returned by the last call indicating a continuation
817
+ class ListEffectiveEventThreatDetectionCustomModulesRequest
818
+ include ::Google::Protobuf::MessageExts
819
+ extend ::Google::Protobuf::MessageExts::ClassMethods
820
+ end
821
+
822
+ # Response message for listing effective Event Threat Detection custom
823
+ # modules.
824
+ # @!attribute [rw] effective_event_threat_detection_custom_modules
825
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::EffectiveEventThreatDetectionCustomModule>]
826
+ # The list of EffectiveEventThreatDetectionCustomModules
827
+ # @!attribute [rw] next_page_token
828
+ # @return [::String]
829
+ # A token identifying a page of results the server should return.
830
+ class ListEffectiveEventThreatDetectionCustomModulesResponse
831
+ include ::Google::Protobuf::MessageExts
832
+ extend ::Google::Protobuf::MessageExts::ClassMethods
833
+ end
834
+
835
+ # Message for getting a EffectiveEventThreatDetectionCustomModule
836
+ # @!attribute [rw] name
837
+ # @return [::String]
838
+ # Required. The resource name of the ETD custom module.
839
+ #
840
+ # Its format is:
841
+ #
842
+ # * `organizations/{organization}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}`.
843
+ # * `folders/{folder}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}`.
844
+ # * `projects/{project}/locations/{location}/effectiveEventThreatDetectionCustomModules/{effective_event_threat_detection_custom_module}`.
845
+ class GetEffectiveEventThreatDetectionCustomModuleRequest
846
+ include ::Google::Protobuf::MessageExts
847
+ extend ::Google::Protobuf::MessageExts::ClassMethods
848
+ end
849
+
850
+ # An event threat detection custom module is a Cloud SCC resource that contains
851
+ # the configuration and enablement state of a custom module, which enables ETD
852
+ # to write certain findings to Cloud SCC.
853
+ # @!attribute [rw] name
854
+ # @return [::String]
855
+ # Identifier. The resource name of the ETD custom module.
856
+ #
857
+ # Its format is:
858
+ #
859
+ # * `organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
860
+ # * `folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
861
+ # * `projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
862
+ # @!attribute [rw] config
863
+ # @return [::Google::Protobuf::Struct]
864
+ # Optional. Config for the module. For the resident module, its config value
865
+ # is defined at this level. For the inherited module, its config value is
866
+ # inherited from the ancestor module.
867
+ # @!attribute [r] ancestor_module
868
+ # @return [::String]
869
+ # Output only. The closest ancestor module that this module inherits the
870
+ # enablement state from. If empty, indicates that the custom module was
871
+ # created in the requesting parent organization, folder, or project. The
872
+ # format is the same as the EventThreatDetectionCustomModule resource name.
873
+ # @!attribute [rw] enablement_state
874
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::EventThreatDetectionCustomModule::EnablementState]
875
+ # Optional. The state of enablement for the module at the given level of the
876
+ # hierarchy.
877
+ # @!attribute [rw] type
878
+ # @return [::String]
879
+ # Optional. Type for the module. e.g. CONFIGURABLE_BAD_IP.
880
+ # @!attribute [rw] display_name
881
+ # @return [::String]
882
+ # Optional. The human readable name to be displayed for the module.
883
+ # @!attribute [rw] description
884
+ # @return [::String]
885
+ # Optional. The description for the module.
886
+ # @!attribute [r] update_time
887
+ # @return [::Google::Protobuf::Timestamp]
888
+ # Output only. The time the module was last updated.
889
+ # @!attribute [r] last_editor
890
+ # @return [::String]
891
+ # Output only. The editor the module was last updated by.
892
+ class EventThreatDetectionCustomModule
893
+ include ::Google::Protobuf::MessageExts
894
+ extend ::Google::Protobuf::MessageExts::ClassMethods
895
+
896
+ # The enablement state of the module.
897
+ module EnablementState
898
+ # Unspecified enablement state.
899
+ ENABLEMENT_STATE_UNSPECIFIED = 0
900
+
901
+ # The module is enabled at the given level.
902
+ ENABLED = 1
903
+
904
+ # The module is disabled at the given level.
905
+ DISABLED = 2
906
+
907
+ # State is inherited from an ancestor module. The module will either
908
+ # be effectively ENABLED or DISABLED based on its closest non-inherited
909
+ # ancestor module in the CRM hierarchy. Attempting to set a top level
910
+ # module (module with no parent) to the INHERITED state will result in an
911
+ # error.
912
+ INHERITED = 3
913
+ end
914
+ end
915
+
916
+ # Request message for listing Event Threat Detection custom modules.
917
+ # @!attribute [rw] parent
918
+ # @return [::String]
919
+ # Required. Name of parent to list custom modules. Its format is
920
+ # `organizations/{organization}/locations/{location}`,
921
+ # `folders/{folder}/locations/{location}`,
922
+ # or
923
+ # `projects/{project}/locations/{location}`
924
+ # @!attribute [rw] page_size
925
+ # @return [::Integer]
926
+ # Optional. The maximum number of modules to return. The service may return
927
+ # fewer than this value. If unspecified, at most 10 configs will be returned.
928
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
929
+ # @!attribute [rw] page_token
930
+ # @return [::String]
931
+ # Optional. A page token, received from a previous
932
+ # `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the
933
+ # subsequent page.
934
+ #
935
+ # When paginating, all other parameters provided to
936
+ # `ListEventThreatDetectionCustomModules` must match the call that provided
937
+ # the page token.
938
+ class ListEventThreatDetectionCustomModulesRequest
939
+ include ::Google::Protobuf::MessageExts
940
+ extend ::Google::Protobuf::MessageExts::ClassMethods
941
+ end
942
+
943
+ # Response message for listing Event Threat Detection custom modules.
944
+ # @!attribute [rw] event_threat_detection_custom_modules
945
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::EventThreatDetectionCustomModule>]
946
+ # The list of EventThreatDetectionCustomModules
947
+ # @!attribute [rw] next_page_token
948
+ # @return [::String]
949
+ # A token identifying a page of results the server should return.
950
+ class ListEventThreatDetectionCustomModulesResponse
951
+ include ::Google::Protobuf::MessageExts
952
+ extend ::Google::Protobuf::MessageExts::ClassMethods
953
+ end
954
+
955
+ # Request message for listing descendant Event Threat Detection custom
956
+ # modules.
957
+ # @!attribute [rw] parent
958
+ # @return [::String]
959
+ # Required. Name of parent to list custom modules. Its format is
960
+ # `organizations/{organization}/locations/{location}`,
961
+ # `folders/{folder}/locations/{location}`,
962
+ # or
963
+ # `projects/{project}/locations/{location}`
964
+ # @!attribute [rw] page_size
965
+ # @return [::Integer]
966
+ # Optional. The maximum number of modules to return. The service may return
967
+ # fewer than this value. If unspecified, at most 10 configs will be returned.
968
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
969
+ # @!attribute [rw] page_token
970
+ # @return [::String]
971
+ # Optional. A token identifying a page of results the server should return.
972
+ class ListDescendantEventThreatDetectionCustomModulesRequest
973
+ include ::Google::Protobuf::MessageExts
974
+ extend ::Google::Protobuf::MessageExts::ClassMethods
975
+ end
976
+
977
+ # Response message for listing descendant Event Threat Detection custom
978
+ # modules.
979
+ # @!attribute [rw] event_threat_detection_custom_modules
980
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::EventThreatDetectionCustomModule>]
981
+ # The list of EventThreatDetectionCustomModules
982
+ # @!attribute [rw] next_page_token
983
+ # @return [::String]
984
+ # A token identifying a page of results the server should return.
985
+ class ListDescendantEventThreatDetectionCustomModulesResponse
986
+ include ::Google::Protobuf::MessageExts
987
+ extend ::Google::Protobuf::MessageExts::ClassMethods
988
+ end
989
+
990
+ # Message for getting a EventThreatDetectionCustomModule
991
+ # @!attribute [rw] name
992
+ # @return [::String]
993
+ # Required. The resource name of the ETD custom module.
994
+ #
995
+ # Its format is:
996
+ #
997
+ # * `organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
998
+ # * `folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
999
+ # * `projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
1000
+ class GetEventThreatDetectionCustomModuleRequest
1001
+ include ::Google::Protobuf::MessageExts
1002
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1003
+ end
1004
+
1005
+ # Message for creating a EventThreatDetectionCustomModule
1006
+ # @!attribute [rw] parent
1007
+ # @return [::String]
1008
+ # Required. Name of parent for the module. Its format is
1009
+ # `organizations/{organization}/locations/{location}`,
1010
+ # `folders/{folder}/locations/{location}`,
1011
+ # or
1012
+ # `projects/{project}/locations/{location}`
1013
+ # @!attribute [rw] event_threat_detection_custom_module
1014
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::EventThreatDetectionCustomModule]
1015
+ # Required. The module to create. The
1016
+ # event_threat_detection_custom_module.name will be ignored and server
1017
+ # generated.
1018
+ # @!attribute [rw] validate_only
1019
+ # @return [::Boolean]
1020
+ # Optional. When set to true, only validations (including IAM checks) will
1021
+ # done for the request (no module will be created). An OK response indicates
1022
+ # the request is valid while an error response indicates the request is
1023
+ # invalid. Note that a subsequent request to actually create the module could
1024
+ # still fail because 1. the state could have changed (e.g. IAM permission
1025
+ # lost) or
1026
+ # 2. A failure occurred during creation of the module.
1027
+ class CreateEventThreatDetectionCustomModuleRequest
1028
+ include ::Google::Protobuf::MessageExts
1029
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1030
+ end
1031
+
1032
+ # Message for updating a EventThreatDetectionCustomModule
1033
+ # @!attribute [rw] update_mask
1034
+ # @return [::Google::Protobuf::FieldMask]
1035
+ # Required. Field mask is used to specify the fields to be overwritten in the
1036
+ # EventThreatDetectionCustomModule resource by the update.
1037
+ # The fields specified in the update_mask are relative to the resource, not
1038
+ # the full request. A field will be overwritten if it is in the mask. If the
1039
+ # user does not provide a mask then all fields will be overwritten.
1040
+ # @!attribute [rw] event_threat_detection_custom_module
1041
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::EventThreatDetectionCustomModule]
1042
+ # Required. The module being updated
1043
+ # @!attribute [rw] validate_only
1044
+ # @return [::Boolean]
1045
+ # Optional. When set to true, only validations (including IAM checks) will
1046
+ # done for the request (module will not be updated). An OK response indicates
1047
+ # the request is valid while an error response indicates the request is
1048
+ # invalid. Note that a subsequent request to actually update the module could
1049
+ # still fail because 1. the state could have changed (e.g. IAM permission
1050
+ # lost) or
1051
+ # 2. A failure occurred while trying to update the module.
1052
+ class UpdateEventThreatDetectionCustomModuleRequest
1053
+ include ::Google::Protobuf::MessageExts
1054
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1055
+ end
1056
+
1057
+ # Message for deleting a EventThreatDetectionCustomModule
1058
+ # @!attribute [rw] name
1059
+ # @return [::String]
1060
+ # Required. The resource name of the ETD custom module.
1061
+ #
1062
+ # Its format is:
1063
+ #
1064
+ # * `organizations/{organization}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
1065
+ # * `folders/{folder}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
1066
+ # * `projects/{project}/locations/{location}/eventThreatDetectionCustomModules/{event_threat_detection_custom_module}`.
1067
+ # @!attribute [rw] validate_only
1068
+ # @return [::Boolean]
1069
+ # Optional. When set to true, only validations (including IAM checks) will
1070
+ # done for the request (module will not be deleted). An OK response indicates
1071
+ # the request is valid while an error response indicates the request is
1072
+ # invalid. Note that a subsequent request to actually delete the module could
1073
+ # still fail because 1. the state could have changed (e.g. IAM permission
1074
+ # lost) or
1075
+ # 2. A failure occurred while trying to delete the module.
1076
+ class DeleteEventThreatDetectionCustomModuleRequest
1077
+ include ::Google::Protobuf::MessageExts
1078
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1079
+ end
1080
+
1081
+ # Request to validate an Event Threat Detection custom module.
1082
+ # @!attribute [rw] parent
1083
+ # @return [::String]
1084
+ # Required. Resource name of the parent to validate the Custom Module under.
1085
+ #
1086
+ # Its format is:
1087
+ #
1088
+ # * `organizations/{organization}/locations/{location}`.
1089
+ # @!attribute [rw] raw_text
1090
+ # @return [::String]
1091
+ # Required. The raw text of the module's contents. Used to generate error
1092
+ # messages.
1093
+ # @!attribute [rw] type
1094
+ # @return [::String]
1095
+ # Required. The type of the module (e.g. CONFIGURABLE_BAD_IP).
1096
+ class ValidateEventThreatDetectionCustomModuleRequest
1097
+ include ::Google::Protobuf::MessageExts
1098
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1099
+ end
1100
+
1101
+ # Response to validating an Event Threat Detection custom module.
1102
+ # @!attribute [rw] errors
1103
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::ValidateEventThreatDetectionCustomModuleResponse::CustomModuleValidationError>]
1104
+ # A list of errors returned by the validator. If the list is empty, there
1105
+ # were no errors.
1106
+ class ValidateEventThreatDetectionCustomModuleResponse
1107
+ include ::Google::Protobuf::MessageExts
1108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1109
+
1110
+ # An error encountered while validating the uploaded configuration of an
1111
+ # Event Threat Detection Custom Module.
1112
+ # @!attribute [rw] description
1113
+ # @return [::String]
1114
+ # A description of the error, suitable for human consumption. Required.
1115
+ # @!attribute [rw] field_path
1116
+ # @return [::String]
1117
+ # The path, in RFC 8901 JSON Pointer format, to the field that failed
1118
+ # validation. This may be left empty if no specific field is affected.
1119
+ # @!attribute [rw] start
1120
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::ValidateEventThreatDetectionCustomModuleResponse::Position]
1121
+ # The initial position of the error in the uploaded text version of the
1122
+ # module. This field may be omitted if no specific position applies, or if
1123
+ # one could not be computed.
1124
+ # @!attribute [rw] end
1125
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::ValidateEventThreatDetectionCustomModuleResponse::Position]
1126
+ # The end position of the error in the uploaded text version of the
1127
+ # module. This field may be omitted if no specific position applies, or if
1128
+ # one could not be computed..
1129
+ class CustomModuleValidationError
1130
+ include ::Google::Protobuf::MessageExts
1131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1132
+ end
1133
+
1134
+ # A position in the uploaded text version of a module.
1135
+ # @!attribute [rw] line_number
1136
+ # @return [::Integer]
1137
+ # The line position in the text
1138
+ # @!attribute [rw] column_number
1139
+ # @return [::Integer]
1140
+ # The column position in the line
1141
+ class Position
1142
+ include ::Google::Protobuf::MessageExts
1143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1144
+ end
1145
+ end
1146
+
1147
+ # Request message for getting a Security Command Center service.
1148
+ # @!attribute [rw] name
1149
+ # @return [::String]
1150
+ # Required. The Security Command Center service to retrieve.
1151
+ #
1152
+ # Formats:
1153
+ #
1154
+ # * organizations/\\{organization}/locations/\\{location}/securityCenterServices/\\{service}
1155
+ # * folders/\\{folder}/locations/\\{location}/securityCenterServices/\\{service}
1156
+ # * projects/\\{project}/locations/\\{location}/securityCenterServices/\\{service}
1157
+ #
1158
+ # The possible values for id \\{service} are:
1159
+ #
1160
+ # * container-threat-detection
1161
+ # * event-threat-detection
1162
+ # * security-health-analytics
1163
+ # * vm-threat-detection
1164
+ # * web-security-scanner
1165
+ class GetSecurityCenterServiceRequest
1166
+ include ::Google::Protobuf::MessageExts
1167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1168
+ end
1169
+
1170
+ # Request message for listing Security Command Center services.
1171
+ # @!attribute [rw] parent
1172
+ # @return [::String]
1173
+ # Required. The name of the parent to list Security Command Center services.
1174
+ #
1175
+ # Formats:
1176
+ #
1177
+ # * organizations/\\{organization}/locations/\\{location}
1178
+ # * folders/\\{folder}/locations/\\{location}
1179
+ # * projects/\\{project}/locations/\\{location}
1180
+ # @!attribute [rw] page_size
1181
+ # @return [::Integer]
1182
+ # Optional. The maximum number of results to return in a single response.
1183
+ # Default is 10, minimum is 1, maximum is 1000.
1184
+ # @!attribute [rw] page_token
1185
+ # @return [::String]
1186
+ # Optional. The value returned by the last call indicating a continuation.
1187
+ class ListSecurityCenterServicesRequest
1188
+ include ::Google::Protobuf::MessageExts
1189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1190
+ end
1191
+
1192
+ # Response message for listing Security Command Center services.
1193
+ # @!attribute [rw] security_center_services
1194
+ # @return [::Array<::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService>]
1195
+ # The list of services.
1196
+ # @!attribute [rw] next_page_token
1197
+ # @return [::String]
1198
+ # A token identifying a page of results the server should return.
1199
+ class ListSecurityCenterServicesResponse
1200
+ include ::Google::Protobuf::MessageExts
1201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1202
+ end
1203
+
1204
+ # Request message for updating a Security Command Center service.
1205
+ # @!attribute [rw] security_center_service
1206
+ # @return [::Google::Cloud::SecurityCenterManagement::V1::SecurityCenterService]
1207
+ # Required. The updated service.
1208
+ # @!attribute [rw] update_mask
1209
+ # @return [::Google::Protobuf::FieldMask]
1210
+ # Required. The list of fields to be updated. Possible values:
1211
+ #
1212
+ # * "intended_enablement_state"
1213
+ # * "modules"
1214
+ # @!attribute [rw] validate_only
1215
+ # @return [::Boolean]
1216
+ # Optional. When set to true, only validations (including IAM checks) will
1217
+ # done for the request (service will not be updated). An OK response
1218
+ # indicates the request is valid while an error response indicates the
1219
+ # request is invalid. Note that a subsequent request to actually update the
1220
+ # service could still fail because 1. the state could have changed (e.g. IAM
1221
+ # permission lost) or
1222
+ # 2. A failure occurred while trying to delete the module.
1223
+ class UpdateSecurityCenterServiceRequest
1224
+ include ::Google::Protobuf::MessageExts
1225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1226
+ end
1227
+ end
1228
+ end
1229
+ end
1230
+ end