Class: Google::Cloud::SecurityCenter::V2::Finding

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/securitycenter/v2/finding.rb

Overview

Security Command Center finding.

A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.

Defined Under Namespace

Modules: FindingClass, Mute, Severity, State Classes: ContactsEntry, ExternalSystemsEntry, MuteInfo, SourcePropertiesEntry

Instance Attribute Summary collapse

Instance Attribute Details

#access::Google::Cloud::SecurityCenter::V2::Access



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#affected_resources::Google::Cloud::SecurityCenter::V2::AffectedResources



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#ai_model::Google::Cloud::SecurityCenter::V2::AiModel



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#application::Google::Cloud::SecurityCenter::V2::Application



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#attack_exposure::Google::Cloud::SecurityCenter::V2::AttackExposure



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#backup_disaster_recovery::Google::Cloud::SecurityCenter::V2::BackupDisasterRecovery



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#canonical_name::String (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#category::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#chokepoint::Google::Cloud::SecurityCenter::V2::Chokepoint



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#cloud_armor::Google::Cloud::SecurityCenter::V2::CloudArmor



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#cloud_dlp_data_profile::Google::Cloud::SecurityCenter::V2::CloudDlpDataProfile



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#cloud_dlp_inspection::Google::Cloud::SecurityCenter::V2::CloudDlpInspection



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#compliances::Array<::Google::Cloud::SecurityCenter::V2::Compliance>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#connections::Array<::Google::Cloud::SecurityCenter::V2::Connection>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#contacts::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V2::ContactDetails} (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#containers::Array<::Google::Cloud::SecurityCenter::V2::Container>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#create_time::Google::Protobuf::Timestamp (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#data_access_events::Array<::Google::Cloud::SecurityCenter::V2::DataAccessEvent>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#data_flow_events::Array<::Google::Cloud::SecurityCenter::V2::DataFlowEvent>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#data_retention_deletion_events::Array<::Google::Cloud::SecurityCenter::V2::DataRetentionDeletionEvent>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#database::Google::Cloud::SecurityCenter::V2::Database



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#description::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#disk::Google::Cloud::SecurityCenter::V2::Disk



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#event_time::Google::Protobuf::Timestamp



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#exfiltration::Google::Cloud::SecurityCenter::V2::Exfiltration



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#external_systems::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V2::ExternalSystem} (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#external_uri::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#files::Array<::Google::Cloud::SecurityCenter::V2::File>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#finding_class::Google::Cloud::SecurityCenter::V2::Finding::FindingClass



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#group_memberships::Array<::Google::Cloud::SecurityCenter::V2::GroupMembership>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#iam_bindings::Array<::Google::Cloud::SecurityCenter::V2::IamBinding>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#indicator::Google::Cloud::SecurityCenter::V2::Indicator



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#ip_rules::Google::Cloud::SecurityCenter::V2::IpRules



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#job::Google::Cloud::SecurityCenter::V2::Job



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#kernel_rootkit::Google::Cloud::SecurityCenter::V2::KernelRootkit



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#kubernetes::Google::Cloud::SecurityCenter::V2::Kubernetes



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#load_balancers::Array<::Google::Cloud::SecurityCenter::V2::LoadBalancer>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#log_entries::Array<::Google::Cloud::SecurityCenter::V2::LogEntry>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#mitre_attack::Google::Cloud::SecurityCenter::V2::MitreAttack



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#module_name::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#mute::Google::Cloud::SecurityCenter::V2::Finding::Mute



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#mute_info::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#mute_initiator::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#mute_update_time::Google::Protobuf::Timestamp (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#name::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#networks::Array<::Google::Cloud::SecurityCenter::V2::Network>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#next_steps::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#notebook::Google::Cloud::SecurityCenter::V2::Notebook



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#org_policies::Array<::Google::Cloud::SecurityCenter::V2::OrgPolicy>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#parent::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#parent_display_name::String (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#processes::Array<::Google::Cloud::SecurityCenter::V2::Process>



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#resource_name::String



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#security_marks::Google::Cloud::SecurityCenter::V2::SecurityMarks (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#security_posture::Google::Cloud::SecurityCenter::V2::SecurityPosture



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#severity::Google::Cloud::SecurityCenter::V2::Finding::Severity



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#source_properties::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#state::Google::Cloud::SecurityCenter::V2::Finding::State (readonly)



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#toxic_combination::Google::Cloud::SecurityCenter::V2::ToxicCombination



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#vertex_ai::Google::Cloud::SecurityCenter::V2::VertexAi



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end

#vulnerability::Google::Cloud::SecurityCenter::V2::Vulnerability



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'proto_docs/google/cloud/securitycenter/v2/finding.rb', line 319

class Finding
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Mute information about the finding, including whether the finding has a
  # static mute or any matching dynamic mute rules.
  # @!attribute [rw] static_mute
  #   @return [::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::StaticMute]
  #     If set, the static mute applied to this finding. Static mutes override
  #     dynamic mutes. If unset, there is no static mute.
  # @!attribute [rw] dynamic_mute_records
  #   @return [::Array<::Google::Cloud::SecurityCenter::V2::Finding::MuteInfo::DynamicMuteRecord>]
  #     The list of dynamic mute rules that currently match the finding.
  class MuteInfo
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Information about the static mute state. A static mute state overrides
    # any dynamic mute rules that apply to this finding. The static mute state
    # can be set by a static mute rule or by muting the finding directly.
    # @!attribute [rw] state
    #   @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
    #     The static mute state. If the value is `MUTED` or `UNMUTED`, then the
    #     finding's overall mute state will have the same value.
    # @!attribute [rw] apply_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the static mute was applied.
    class StaticMute
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The record of a dynamic mute rule that matches the finding.
    # @!attribute [rw] mute_config
    #   @return [::String]
    #     The relative resource name of the mute rule, represented by a mute
    #     config, that created this record, for example
    #     `organizations/123/muteConfigs/mymuteconfig` or
    #     `organizations/123/locations/global/muteConfigs/mymuteconfig`.
    # @!attribute [rw] match_time
    #   @return [::Google::Protobuf::Timestamp]
    #     When the dynamic mute rule first matched the finding.
    class DynamicMuteRecord
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Protobuf::Value]
  class SourcePropertiesEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
  class ExternalSystemsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
  class ContactsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The state of the finding.
  module State
    # Unspecified state.
    STATE_UNSPECIFIED = 0

    # The finding requires attention and has not been addressed yet.
    ACTIVE = 1

    # The finding has been fixed, triaged as a non-issue or otherwise addressed
    # and is no longer active.
    INACTIVE = 2
  end

  # The severity of the finding.
  module Severity
    # This value is used for findings when a source doesn't write a severity
    # value.
    SEVERITY_UNSPECIFIED = 0

    # Vulnerability:
    # A critical vulnerability is easily discoverable by an external actor,
    # exploitable, and results in the direct ability to execute arbitrary code,
    # exfiltrate data, and otherwise gain additional access and privileges to
    # cloud resources and workloads. Examples include publicly accessible
    # unprotected user data and public SSH access with weak or no
    # passwords.
    #
    # Threat:
    # Indicates a threat that is able to access, modify, or delete data or
    # execute unauthorized code within existing resources.
    CRITICAL = 1

    # Vulnerability:
    # A high risk vulnerability can be easily discovered and exploited in
    # combination with other vulnerabilities in order to gain direct access and
    # the ability to execute arbitrary code, exfiltrate data, and otherwise
    # gain additional access and privileges to cloud resources and workloads.
    # An example is a database with weak or no passwords that is only
    # accessible internally. This database could easily be compromised by an
    # actor that had access to the internal network.
    #
    # Threat:
    # Indicates a threat that is able to create new computational resources in
    # an environment but not able to access data or execute code in existing
    # resources.
    HIGH = 2

    # Vulnerability:
    # A medium risk vulnerability could be used by an actor to gain access to
    # resources or privileges that enable them to eventually (through multiple
    # steps or a complex exploit) gain access and the ability to execute
    # arbitrary code or exfiltrate data. An example is a service account with
    # access to more projects than it should have. If an actor gains access to
    # the service account, they could potentially use that access to manipulate
    # a project the service account was not intended to.
    #
    # Threat:
    # Indicates a threat that is able to cause operational impact but may not
    # access data or execute unauthorized code.
    MEDIUM = 3

    # Vulnerability:
    # A low risk vulnerability hampers a security organization's ability to
    # detect vulnerabilities or active threats in their deployment, or prevents
    # the root cause investigation of security issues. An example is monitoring
    # and logs being disabled for resource configurations and access.
    #
    # Threat:
    # Indicates a threat that has obtained minimal access to an environment but
    # is not able to access data, execute code, or create resources.
    LOW = 4
  end

  # Mute state a finding can be in.
  module Mute
    # Unspecified.
    MUTE_UNSPECIFIED = 0

    # Finding has been muted.
    MUTED = 1

    # Finding has been unmuted.
    UNMUTED = 2

    # Finding has never been muted/unmuted.
    UNDEFINED = 3
  end

  # Represents what kind of Finding it is.
  module FindingClass
    # Unspecified finding class.
    FINDING_CLASS_UNSPECIFIED = 0

    # Describes unwanted or malicious activity.
    THREAT = 1

    # Describes a potential weakness in software that increases risk to
    # Confidentiality & Integrity & Availability.
    VULNERABILITY = 2

    # Describes a potential weakness in cloud resource/asset configuration that
    # increases risk.
    MISCONFIGURATION = 3

    # Describes a security observation that is for informational purposes.
    OBSERVATION = 4

    # Describes an error that prevents some SCC functionality.
    SCC_ERROR = 5

    # Describes a potential security risk due to a change in the security
    # posture.
    POSTURE_VIOLATION = 6

    # Describes a combination of security issues that represent a more severe
    # security problem when taken together.
    TOXIC_COMBINATION = 7

    # Describes a potential security risk to data assets that contain sensitive
    # data.
    SENSITIVE_DATA_RISK = 8

    # Describes a resource or resource group where high risk attack paths
    # converge, based on attack path simulations (APS).
    CHOKEPOINT = 9
  end
end