google-apis-securitycenter_v1beta1 0.73.0 → 0.75.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -186,20 +186,43 @@ module Google
186
186
  end
187
187
  end
188
188
 
189
+ # Information about [Google Cloud Armor Adaptive Protection](https://cloud.
190
+ # google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
191
+ # protection).
192
+ class AdaptiveProtection
193
+ include Google::Apis::Core::Hashable
194
+
195
+ # A score of 0 means that there is low confidence that the detected event is an
196
+ # actual attack. A score of 1 means that there is high confidence that the
197
+ # detected event is an attack. See the [Adaptive Protection documentation](https:
198
+ # //cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-
199
+ # tuning) for further explanation.
200
+ # Corresponds to the JSON property `confidence`
201
+ # @return [Float]
202
+ attr_accessor :confidence
203
+
204
+ def initialize(**args)
205
+ update!(**args)
206
+ end
207
+
208
+ # Update properties of this object
209
+ def update!(**args)
210
+ @confidence = args[:confidence] if args.key?(:confidence)
211
+ end
212
+ end
213
+
189
214
  # Represents an application associated with a finding.
190
215
  class Application
191
216
  include Google::Apis::Core::Hashable
192
217
 
193
218
  # The base URI that identifies the network location of the application in which
194
- # the vulnerability was detected. Examples: http://11.22.33.44, http://foo.com,
195
- # http://11.22.33.44:8080
219
+ # the vulnerability was detected. For example, `http://example.com`.
196
220
  # Corresponds to the JSON property `baseUri`
197
221
  # @return [String]
198
222
  attr_accessor :base_uri
199
223
 
200
- # The full URI with payload that can be used to reproduce the vulnerability.
201
- # Example: http://11.22.33.44/reflected/parameter/attribute/singlequoted/js?p=
202
- # aMmYgI6H
224
+ # The full URI with payload that can be used to reproduce the vulnerability. For
225
+ # example, `http://example.com?p=aMmYgI6H`.
203
226
  # Corresponds to the JSON property `fullUri`
204
227
  # @return [String]
205
228
  attr_accessor :full_uri
@@ -301,6 +324,37 @@ module Google
301
324
  end
302
325
  end
303
326
 
327
+ # Information about DDoS attack volume and classification.
328
+ class Attack
329
+ include Google::Apis::Core::Hashable
330
+
331
+ # Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.
332
+ # Corresponds to the JSON property `classification`
333
+ # @return [String]
334
+ attr_accessor :classification
335
+
336
+ # Total BPS (bytes per second) volume of attack.
337
+ # Corresponds to the JSON property `volumeBps`
338
+ # @return [Fixnum]
339
+ attr_accessor :volume_bps
340
+
341
+ # Total PPS (packets per second) volume of attack.
342
+ # Corresponds to the JSON property `volumePps`
343
+ # @return [Fixnum]
344
+ attr_accessor :volume_pps
345
+
346
+ def initialize(**args)
347
+ update!(**args)
348
+ end
349
+
350
+ # Update properties of this object
351
+ def update!(**args)
352
+ @classification = args[:classification] if args.key?(:classification)
353
+ @volume_bps = args[:volume_bps] if args.key?(:volume_bps)
354
+ @volume_pps = args[:volume_pps] if args.key?(:volume_pps)
355
+ end
356
+ end
357
+
304
358
  # An attack exposure contains the results of an attack path simulation run.
305
359
  class AttackExposure
306
360
  include Google::Apis::Core::Hashable
@@ -435,19 +489,133 @@ module Google
435
489
  end
436
490
  end
437
491
 
492
+ # An AWS account that is a member of an organization.
493
+ class AwsAccount
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # The unique identifier (ID) of the account, containing exactly 12 digits.
497
+ # Corresponds to the JSON property `id`
498
+ # @return [String]
499
+ attr_accessor :id
500
+
501
+ # The friendly name of this account.
502
+ # Corresponds to the JSON property `name`
503
+ # @return [String]
504
+ attr_accessor :name
505
+
506
+ def initialize(**args)
507
+ update!(**args)
508
+ end
509
+
510
+ # Update properties of this object
511
+ def update!(**args)
512
+ @id = args[:id] if args.key?(:id)
513
+ @name = args[:name] if args.key?(:name)
514
+ end
515
+ end
516
+
517
+ # AWS metadata associated with the resource, only applicable if the finding's
518
+ # cloud provider is Amazon Web Services.
519
+ class AwsMetadata
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # An AWS account that is a member of an organization.
523
+ # Corresponds to the JSON property `account`
524
+ # @return [Google::Apis::SecuritycenterV1beta1::AwsAccount]
525
+ attr_accessor :account
526
+
527
+ # An organization is a collection of accounts that are centrally managed
528
+ # together using consolidated billing, organized hierarchically with
529
+ # organizational units (OUs), and controlled with policies.
530
+ # Corresponds to the JSON property `organization`
531
+ # @return [Google::Apis::SecuritycenterV1beta1::AwsOrganization]
532
+ attr_accessor :organization
533
+
534
+ # A list of AWS organizational units associated with the resource, ordered from
535
+ # lowest level (closest to the account) to highest level.
536
+ # Corresponds to the JSON property `organizationalUnits`
537
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::AwsOrganizationalUnit>]
538
+ attr_accessor :organizational_units
539
+
540
+ def initialize(**args)
541
+ update!(**args)
542
+ end
543
+
544
+ # Update properties of this object
545
+ def update!(**args)
546
+ @account = args[:account] if args.key?(:account)
547
+ @organization = args[:organization] if args.key?(:organization)
548
+ @organizational_units = args[:organizational_units] if args.key?(:organizational_units)
549
+ end
550
+ end
551
+
552
+ # An organization is a collection of accounts that are centrally managed
553
+ # together using consolidated billing, organized hierarchically with
554
+ # organizational units (OUs), and controlled with policies.
555
+ class AwsOrganization
556
+ include Google::Apis::Core::Hashable
557
+
558
+ # The unique identifier (ID) for the organization. The regex pattern for an
559
+ # organization ID string requires "o-" followed by from 10 to 32 lowercase
560
+ # letters or digits.
561
+ # Corresponds to the JSON property `id`
562
+ # @return [String]
563
+ attr_accessor :id
564
+
565
+ def initialize(**args)
566
+ update!(**args)
567
+ end
568
+
569
+ # Update properties of this object
570
+ def update!(**args)
571
+ @id = args[:id] if args.key?(:id)
572
+ end
573
+ end
574
+
575
+ # An Organizational Unit (OU) is a container of AWS accounts within a root of an
576
+ # organization. Policies that are attached to an OU apply to all accounts
577
+ # contained in that OU and in any child OUs.
578
+ class AwsOrganizationalUnit
579
+ include Google::Apis::Core::Hashable
580
+
581
+ # The unique identifier (ID) associated with this OU. The regex pattern for an
582
+ # organizational unit ID string requires "ou-" followed by from 4 to 32
583
+ # lowercase letters or digits (the ID of the root that contains the OU). This
584
+ # string is followed by a second "-" dash and from 8 to 32 additional lowercase
585
+ # letters or digits. For example, "ou-ab12-cd34ef56".
586
+ # Corresponds to the JSON property `id`
587
+ # @return [String]
588
+ attr_accessor :id
589
+
590
+ # The friendly name of the OU.
591
+ # Corresponds to the JSON property `name`
592
+ # @return [String]
593
+ attr_accessor :name
594
+
595
+ def initialize(**args)
596
+ update!(**args)
597
+ end
598
+
599
+ # Update properties of this object
600
+ def update!(**args)
601
+ @id = args[:id] if args.key?(:id)
602
+ @name = args[:name] if args.key?(:name)
603
+ end
604
+ end
605
+
438
606
  # Information related to Google Cloud Backup and DR Service findings.
439
607
  class BackupDisasterRecovery
440
608
  include Google::Apis::Core::Hashable
441
609
 
442
610
  # The name of the Backup and DR appliance that captures, moves, and manages the
443
- # lifecycle of backup data. For example, backup-server-57137”.
611
+ # lifecycle of backup data. For example, `backup-server-57137`.
444
612
  # Corresponds to the JSON property `appliance`
445
613
  # @return [String]
446
614
  attr_accessor :appliance
447
615
 
448
616
  # The names of Backup and DR applications. An application is a VM, database, or
449
617
  # file system on a managed host monitored by a backup and recovery appliance.
450
- # For example, centos7-01-vol00”, centos7-01-vol01”, centos7-01-vol02”.
618
+ # For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
451
619
  # Corresponds to the JSON property `applications`
452
620
  # @return [Array<String>]
453
621
  attr_accessor :applications
@@ -460,13 +628,13 @@ module Google
460
628
  # The name of a Backup and DR template which comprises one or more backup
461
629
  # policies. See the [Backup and DR documentation](https://cloud.google.com/
462
630
  # backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
463
- # For example, snap-ov”.
631
+ # For example, `snap-ov`.
464
632
  # Corresponds to the JSON property `backupTemplate`
465
633
  # @return [String]
466
634
  attr_accessor :backup_template
467
635
 
468
- # The backup type of the Backup and DR image. For example, Snapshot”, Remote
469
- # Snapshot”, OnVault”.
636
+ # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote
637
+ # Snapshot`, `OnVault`.
470
638
  # Corresponds to the JSON property `backupType`
471
639
  # @return [String]
472
640
  attr_accessor :backup_type
@@ -476,14 +644,14 @@ module Google
476
644
  # (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.),
477
645
  # vCenter, or an ESX server. See the [Backup and DR documentation on hosts](
478
646
  # https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-
479
- # hosts-and-their-applications) for more information. For example, centos7-01”.
647
+ # hosts-and-their-applications) for more information. For example, `centos7-01`.
480
648
  # Corresponds to the JSON property `host`
481
649
  # @return [String]
482
650
  attr_accessor :host
483
651
 
484
652
  # The names of Backup and DR policies that are associated with a template and
485
653
  # that define when to run a backup, how frequently to run a backup, and how long
486
- # to retain the backup image. For example, onvaults”.
654
+ # to retain the backup image. For example, `onvaults`.
487
655
  # Corresponds to the JSON property `policies`
488
656
  # @return [Array<String>]
489
657
  attr_accessor :policies
@@ -491,7 +659,7 @@ module Google
491
659
  # The names of Backup and DR advanced policy options of a policy applying to an
492
660
  # application. See the [Backup and DR documentation on policy options](https://
493
661
  # cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings).
494
- # For example, skipofflineappsincongrp, nounmap”.
662
+ # For example, `skipofflineappsincongrp, nounmap`.
495
663
  # Corresponds to the JSON property `policyOptions`
496
664
  # @return [Array<String>]
497
665
  attr_accessor :policy_options
@@ -499,7 +667,7 @@ module Google
499
667
  # The name of the Backup and DR resource profile that specifies the storage
500
668
  # media for backups of application and VM data. See the [Backup and DR
501
669
  # documentation on profiles](https://cloud.google.com/backup-disaster-recovery/
502
- # docs/concepts/backup-plan#profile). For example, GCP”.
670
+ # docs/concepts/backup-plan#profile). For example, `GCP`.
503
671
  # Corresponds to the JSON property `profile`
504
672
  # @return [String]
505
673
  attr_accessor :profile
@@ -508,7 +676,7 @@ module Google
508
676
  # appliance is storing data in. The storage pool could be of type Cloud, Primary,
509
677
  # Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](
510
678
  # https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools).
511
- # For example, DiskPoolOne”.
679
+ # For example, `DiskPoolOne`.
512
680
  # Corresponds to the JSON property `storagePool`
513
681
  # @return [String]
514
682
  attr_accessor :storage_pool
@@ -646,6 +814,61 @@ module Google
646
814
  end
647
815
  end
648
816
 
817
+ # Fields related to Google Cloud Armor findings.
818
+ class CloudArmor
819
+ include Google::Apis::Core::Hashable
820
+
821
+ # Information about [Google Cloud Armor Adaptive Protection](https://cloud.
822
+ # google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
823
+ # protection).
824
+ # Corresponds to the JSON property `adaptiveProtection`
825
+ # @return [Google::Apis::SecuritycenterV1beta1::AdaptiveProtection]
826
+ attr_accessor :adaptive_protection
827
+
828
+ # Information about DDoS attack volume and classification.
829
+ # Corresponds to the JSON property `attack`
830
+ # @return [Google::Apis::SecuritycenterV1beta1::Attack]
831
+ attr_accessor :attack
832
+
833
+ # Duration of attack from the start until the current moment (updated every 5
834
+ # minutes).
835
+ # Corresponds to the JSON property `duration`
836
+ # @return [String]
837
+ attr_accessor :duration
838
+
839
+ # Information about the requests relevant to the finding.
840
+ # Corresponds to the JSON property `requests`
841
+ # @return [Google::Apis::SecuritycenterV1beta1::Requests]
842
+ attr_accessor :requests
843
+
844
+ # Information about the [Google Cloud Armor security policy](https://cloud.
845
+ # google.com/armor/docs/security-policy-overview) relevant to the finding.
846
+ # Corresponds to the JSON property `securityPolicy`
847
+ # @return [Google::Apis::SecuritycenterV1beta1::SecurityPolicy]
848
+ attr_accessor :security_policy
849
+
850
+ # Distinguish between volumetric & protocol DDoS attack and application layer
851
+ # attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7”
852
+ # for Layer 7 DDoS attacks.
853
+ # Corresponds to the JSON property `threatVector`
854
+ # @return [String]
855
+ attr_accessor :threat_vector
856
+
857
+ def initialize(**args)
858
+ update!(**args)
859
+ end
860
+
861
+ # Update properties of this object
862
+ def update!(**args)
863
+ @adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
864
+ @attack = args[:attack] if args.key?(:attack)
865
+ @duration = args[:duration] if args.key?(:duration)
866
+ @requests = args[:requests] if args.key?(:requests)
867
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
868
+ @threat_vector = args[:threat_vector] if args.key?(:threat_vector)
869
+ end
870
+ end
871
+
649
872
  # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
650
873
  # with the finding.
651
874
  class CloudDlpDataProfile
@@ -798,6 +1021,11 @@ module Google
798
1021
  # @return [String]
799
1022
  attr_accessor :category
800
1023
 
1024
+ # The cloud provider for the compliance snapshot.
1025
+ # Corresponds to the JSON property `cloudProvider`
1026
+ # @return [String]
1027
+ attr_accessor :cloud_provider
1028
+
801
1029
  # The compliance standard (ie CIS).
802
1030
  # Corresponds to the JSON property `complianceStandard`
803
1031
  # @return [String]
@@ -823,12 +1051,6 @@ module Google
823
1051
  # @return [String]
824
1052
  attr_accessor :name
825
1053
 
826
- # The CRM resource display name that is closest to the snapshot the Findings
827
- # belong to.
828
- # Corresponds to the JSON property `projectDisplayName`
829
- # @return [String]
830
- attr_accessor :project_display_name
831
-
832
1054
  # The snapshot time of the snapshot.
833
1055
  # Corresponds to the JSON property `snapshotTime`
834
1056
  # @return [String]
@@ -841,12 +1063,12 @@ module Google
841
1063
  # Update properties of this object
842
1064
  def update!(**args)
843
1065
  @category = args[:category] if args.key?(:category)
1066
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
844
1067
  @compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
845
1068
  @compliance_version = args[:compliance_version] if args.key?(:compliance_version)
846
1069
  @count = args[:count] if args.key?(:count)
847
1070
  @leaf_container_resource = args[:leaf_container_resource] if args.key?(:leaf_container_resource)
848
1071
  @name = args[:name] if args.key?(:name)
849
- @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
850
1072
  @snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
851
1073
  end
852
1074
  end
@@ -1501,6 +1723,11 @@ module Google
1501
1723
  # @return [String]
1502
1724
  attr_accessor :category
1503
1725
 
1726
+ # Fields related to Google Cloud Armor findings.
1727
+ # Corresponds to the JSON property `cloudArmor`
1728
+ # @return [Google::Apis::SecuritycenterV1beta1::CloudArmor]
1729
+ attr_accessor :cloud_armor
1730
+
1504
1731
  # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
1505
1732
  # with the finding.
1506
1733
  # Corresponds to the JSON property `cloudDlpDataProfile`
@@ -1682,6 +1909,13 @@ module Google
1682
1909
  # @return [String]
1683
1910
  attr_accessor :next_steps
1684
1911
 
1912
+ # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
1913
+ # (https://cloud.google.com/colab/docs/introduction) file, that is associated
1914
+ # with a finding.
1915
+ # Corresponds to the JSON property `notebook`
1916
+ # @return [Google::Apis::SecuritycenterV1beta1::Notebook]
1917
+ attr_accessor :notebook
1918
+
1685
1919
  # Contains information about the org policies associated with the finding.
1686
1920
  # Corresponds to the JSON property `orgPolicies`
1687
1921
  # @return [Array<Google::Apis::SecuritycenterV1beta1::OrgPolicy>]
@@ -1767,6 +2001,7 @@ module Google
1767
2001
  @backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
1768
2002
  @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
1769
2003
  @category = args[:category] if args.key?(:category)
2004
+ @cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
1770
2005
  @cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
1771
2006
  @cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
1772
2007
  @compliances = args[:compliances] if args.key?(:compliances)
@@ -1795,6 +2030,7 @@ module Google
1795
2030
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
1796
2031
  @name = args[:name] if args.key?(:name)
1797
2032
  @next_steps = args[:next_steps] if args.key?(:next_steps)
2033
+ @notebook = args[:notebook] if args.key?(:notebook)
1798
2034
  @org_policies = args[:org_policies] if args.key?(:org_policies)
1799
2035
  @parent = args[:parent] if args.key?(:parent)
1800
2036
  @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
@@ -1835,6 +2071,58 @@ module Google
1835
2071
  end
1836
2072
  end
1837
2073
 
2074
+ # GCP metadata associated with the resource, only applicable if the finding's
2075
+ # cloud provider is Google Cloud Platform.
2076
+ class GcpMetadata
2077
+ include Google::Apis::Core::Hashable
2078
+
2079
+ # Output only. Contains a Folder message for each folder in the assets ancestry.
2080
+ # The first folder is the deepest nested folder, and the last folder is the
2081
+ # folder directly under the Organization.
2082
+ # Corresponds to the JSON property `folders`
2083
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Folder>]
2084
+ attr_accessor :folders
2085
+
2086
+ # The name of the organization that the resource belongs to.
2087
+ # Corresponds to the JSON property `organization`
2088
+ # @return [String]
2089
+ attr_accessor :organization
2090
+
2091
+ # The full resource name of resource's parent.
2092
+ # Corresponds to the JSON property `parent`
2093
+ # @return [String]
2094
+ attr_accessor :parent
2095
+
2096
+ # The human readable name of resource's parent.
2097
+ # Corresponds to the JSON property `parentDisplayName`
2098
+ # @return [String]
2099
+ attr_accessor :parent_display_name
2100
+
2101
+ # The full resource name of project that the resource belongs to.
2102
+ # Corresponds to the JSON property `project`
2103
+ # @return [String]
2104
+ attr_accessor :project
2105
+
2106
+ # The project ID that the resource belongs to.
2107
+ # Corresponds to the JSON property `projectDisplayName`
2108
+ # @return [String]
2109
+ attr_accessor :project_display_name
2110
+
2111
+ def initialize(**args)
2112
+ update!(**args)
2113
+ end
2114
+
2115
+ # Update properties of this object
2116
+ def update!(**args)
2117
+ @folders = args[:folders] if args.key?(:folders)
2118
+ @organization = args[:organization] if args.key?(:organization)
2119
+ @parent = args[:parent] if args.key?(:parent)
2120
+ @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
2121
+ @project = args[:project] if args.key?(:project)
2122
+ @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
2123
+ end
2124
+ end
2125
+
1838
2126
  # Represents a geographical location for a given access.
1839
2127
  class Geolocation
1840
2128
  include Google::Apis::Core::Hashable
@@ -2194,6 +2482,16 @@ module Google
2194
2482
  # @return [Array<String>]
2195
2483
  attr_accessor :assignees
2196
2484
 
2485
+ # The time when the case was closed, as reported by the external system.
2486
+ # Corresponds to the JSON property `caseCloseTime`
2487
+ # @return [String]
2488
+ attr_accessor :case_close_time
2489
+
2490
+ # The time when the case was created, as reported by the external system.
2491
+ # Corresponds to the JSON property `caseCreateTime`
2492
+ # @return [String]
2493
+ attr_accessor :case_create_time
2494
+
2197
2495
  # The priority of the finding's corresponding case in the external system.
2198
2496
  # Corresponds to the JSON property `casePriority`
2199
2497
  # @return [String]
@@ -2247,6 +2545,8 @@ module Google
2247
2545
  # Update properties of this object
2248
2546
  def update!(**args)
2249
2547
  @assignees = args[:assignees] if args.key?(:assignees)
2548
+ @case_close_time = args[:case_close_time] if args.key?(:case_close_time)
2549
+ @case_create_time = args[:case_create_time] if args.key?(:case_create_time)
2250
2550
  @case_priority = args[:case_priority] if args.key?(:case_priority)
2251
2551
  @case_sla = args[:case_sla] if args.key?(:case_sla)
2252
2552
  @case_uri = args[:case_uri] if args.key?(:case_uri)
@@ -2411,6 +2711,17 @@ module Google
2411
2711
  class GoogleCloudSecuritycenterV1Resource
2412
2712
  include Google::Apis::Core::Hashable
2413
2713
 
2714
+ # AWS metadata associated with the resource, only applicable if the finding's
2715
+ # cloud provider is Amazon Web Services.
2716
+ # Corresponds to the JSON property `awsMetadata`
2717
+ # @return [Google::Apis::SecuritycenterV1beta1::AwsMetadata]
2718
+ attr_accessor :aws_metadata
2719
+
2720
+ # Indicates which cloud provider the resource resides in.
2721
+ # Corresponds to the JSON property `cloudProvider`
2722
+ # @return [String]
2723
+ attr_accessor :cloud_provider
2724
+
2414
2725
  # The human readable name of the resource.
2415
2726
  # Corresponds to the JSON property `displayName`
2416
2727
  # @return [String]
@@ -2423,12 +2734,23 @@ module Google
2423
2734
  # @return [Array<Google::Apis::SecuritycenterV1beta1::Folder>]
2424
2735
  attr_accessor :folders
2425
2736
 
2737
+ # The region or location of the service (if applicable).
2738
+ # Corresponds to the JSON property `location`
2739
+ # @return [String]
2740
+ attr_accessor :location
2741
+
2426
2742
  # The full resource name of the resource. See: https://cloud.google.com/apis/
2427
2743
  # design/resource_names#full_resource_name
2428
2744
  # Corresponds to the JSON property `name`
2429
2745
  # @return [String]
2430
2746
  attr_accessor :name
2431
2747
 
2748
+ # Indicates which organization or tenant in the cloud provider the finding
2749
+ # applies to.
2750
+ # Corresponds to the JSON property `organization`
2751
+ # @return [String]
2752
+ attr_accessor :organization
2753
+
2432
2754
  # The full resource name of resource's parent.
2433
2755
  # Corresponds to the JSON property `parent`
2434
2756
  # @return [String]
@@ -2449,6 +2771,30 @@ module Google
2449
2771
  # @return [String]
2450
2772
  attr_accessor :project_display_name
2451
2773
 
2774
+ # Represents the path of resources leading up to the resource this finding is
2775
+ # about.
2776
+ # Corresponds to the JSON property `resourcePath`
2777
+ # @return [Google::Apis::SecuritycenterV1beta1::ResourcePath]
2778
+ attr_accessor :resource_path
2779
+
2780
+ # A string representation of the resource path. For GCP, it has the format of:
2781
+ # organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
2782
+ # projects/`project_id` where there can be any number of folders. For AWS, it
2783
+ # has the format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
2784
+ # organizational_unit_id`/account/`account_id` where there can be any number of
2785
+ # organizational units. For Azure, it has the format of: mg/`management_group_id`
2786
+ # /mg/`management_group_id`/subscription/`subscription_id`/rg/`
2787
+ # resource_group_name` where there can be any number of management groups.
2788
+ # Corresponds to the JSON property `resourcePathString`
2789
+ # @return [String]
2790
+ attr_accessor :resource_path_string
2791
+
2792
+ # The parent service or product from which the resource is provided, for example,
2793
+ # GKE or SNS.
2794
+ # Corresponds to the JSON property `service`
2795
+ # @return [String]
2796
+ attr_accessor :service
2797
+
2452
2798
  # The full resource type of the resource.
2453
2799
  # Corresponds to the JSON property `type`
2454
2800
  # @return [String]
@@ -2460,13 +2806,20 @@ module Google
2460
2806
 
2461
2807
  # Update properties of this object
2462
2808
  def update!(**args)
2809
+ @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
2810
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2463
2811
  @display_name = args[:display_name] if args.key?(:display_name)
2464
2812
  @folders = args[:folders] if args.key?(:folders)
2813
+ @location = args[:location] if args.key?(:location)
2465
2814
  @name = args[:name] if args.key?(:name)
2815
+ @organization = args[:organization] if args.key?(:organization)
2466
2816
  @parent = args[:parent] if args.key?(:parent)
2467
2817
  @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
2468
2818
  @project = args[:project] if args.key?(:project)
2469
2819
  @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
2820
+ @resource_path = args[:resource_path] if args.key?(:resource_path)
2821
+ @resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
2822
+ @service = args[:service] if args.key?(:service)
2470
2823
  @type = args[:type] if args.key?(:type)
2471
2824
  end
2472
2825
  end
@@ -2495,6 +2848,11 @@ module Google
2495
2848
  class GoogleCloudSecuritycenterV1ResourceValueConfig
2496
2849
  include Google::Apis::Core::Hashable
2497
2850
 
2851
+ # Cloud provider this configuration applies to
2852
+ # Corresponds to the JSON property `cloudProvider`
2853
+ # @return [String]
2854
+ attr_accessor :cloud_provider
2855
+
2498
2856
  # Output only. Timestamp this resource value config was created.
2499
2857
  # Corresponds to the JSON property `createTime`
2500
2858
  # @return [String]
@@ -2563,6 +2921,7 @@ module Google
2563
2921
 
2564
2922
  # Update properties of this object
2565
2923
  def update!(**args)
2924
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2566
2925
  @create_time = args[:create_time] if args.key?(:create_time)
2567
2926
  @description = args[:description] if args.key?(:description)
2568
2927
  @name = args[:name] if args.key?(:name)
@@ -3325,20 +3684,43 @@ module Google
3325
3684
  end
3326
3685
  end
3327
3686
 
3687
+ # Information about [Google Cloud Armor Adaptive Protection](https://cloud.
3688
+ # google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
3689
+ # protection).
3690
+ class GoogleCloudSecuritycenterV2AdaptiveProtection
3691
+ include Google::Apis::Core::Hashable
3692
+
3693
+ # A score of 0 means that there is low confidence that the detected event is an
3694
+ # actual attack. A score of 1 means that there is high confidence that the
3695
+ # detected event is an attack. See the [Adaptive Protection documentation](https:
3696
+ # //cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-
3697
+ # tuning) for further explanation.
3698
+ # Corresponds to the JSON property `confidence`
3699
+ # @return [Float]
3700
+ attr_accessor :confidence
3701
+
3702
+ def initialize(**args)
3703
+ update!(**args)
3704
+ end
3705
+
3706
+ # Update properties of this object
3707
+ def update!(**args)
3708
+ @confidence = args[:confidence] if args.key?(:confidence)
3709
+ end
3710
+ end
3711
+
3328
3712
  # Represents an application associated with a finding.
3329
3713
  class GoogleCloudSecuritycenterV2Application
3330
3714
  include Google::Apis::Core::Hashable
3331
3715
 
3332
3716
  # The base URI that identifies the network location of the application in which
3333
- # the vulnerability was detected. Examples: http://11.22.33.44, http://foo.com,
3334
- # http://11.22.33.44:8080
3717
+ # the vulnerability was detected. For example, `http://example.com`.
3335
3718
  # Corresponds to the JSON property `baseUri`
3336
3719
  # @return [String]
3337
3720
  attr_accessor :base_uri
3338
3721
 
3339
3722
  # The full URI with payload that could be used to reproduce the vulnerability.
3340
- # Example: http://11.22.33.44/reflected/parameter/attribute/singlequoted/js?p=
3341
- # aMmYgI6H
3723
+ # For example, `http://example.com?p=aMmYgI6H`.
3342
3724
  # Corresponds to the JSON property `fullUri`
3343
3725
  # @return [String]
3344
3726
  attr_accessor :full_uri
@@ -3354,6 +3736,37 @@ module Google
3354
3736
  end
3355
3737
  end
3356
3738
 
3739
+ # Information about DDoS attack volume and classification.
3740
+ class GoogleCloudSecuritycenterV2Attack
3741
+ include Google::Apis::Core::Hashable
3742
+
3743
+ # Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.
3744
+ # Corresponds to the JSON property `classification`
3745
+ # @return [String]
3746
+ attr_accessor :classification
3747
+
3748
+ # Total BPS (bytes per second) volume of attack.
3749
+ # Corresponds to the JSON property `volumeBps`
3750
+ # @return [Fixnum]
3751
+ attr_accessor :volume_bps
3752
+
3753
+ # Total PPS (packets per second) volume of attack.
3754
+ # Corresponds to the JSON property `volumePps`
3755
+ # @return [Fixnum]
3756
+ attr_accessor :volume_pps
3757
+
3758
+ def initialize(**args)
3759
+ update!(**args)
3760
+ end
3761
+
3762
+ # Update properties of this object
3763
+ def update!(**args)
3764
+ @classification = args[:classification] if args.key?(:classification)
3765
+ @volume_bps = args[:volume_bps] if args.key?(:volume_bps)
3766
+ @volume_pps = args[:volume_pps] if args.key?(:volume_pps)
3767
+ end
3768
+ end
3769
+
3357
3770
  # An attack exposure contains the results of an attack path simulation run.
3358
3771
  class GoogleCloudSecuritycenterV2AttackExposure
3359
3772
  include Google::Apis::Core::Hashable
@@ -3417,55 +3830,169 @@ module Google
3417
3830
  end
3418
3831
  end
3419
3832
 
3420
- # Information related to Google Cloud Backup and DR Service findings.
3421
- class GoogleCloudSecuritycenterV2BackupDisasterRecovery
3833
+ # An AWS account that is a member of an organization.
3834
+ class GoogleCloudSecuritycenterV2AwsAccount
3422
3835
  include Google::Apis::Core::Hashable
3423
3836
 
3424
- # The name of the Backup and DR appliance that captures, moves, and manages the
3425
- # lifecycle of backup data. For example, “backup-server-57137”.
3426
- # Corresponds to the JSON property `appliance`
3837
+ # The unique identifier (ID) of the account, containing exactly 12 digits.
3838
+ # Corresponds to the JSON property `id`
3427
3839
  # @return [String]
3428
- attr_accessor :appliance
3429
-
3430
- # The names of Backup and DR applications. An application is a VM, database, or
3431
- # file system on a managed host monitored by a backup and recovery appliance.
3432
- # For example, “centos7-01-vol00”, “centos7-01-vol01”, “centos7-01-vol02”.
3433
- # Corresponds to the JSON property `applications`
3434
- # @return [Array<String>]
3435
- attr_accessor :applications
3840
+ attr_accessor :id
3436
3841
 
3437
- # The timestamp at which the Backup and DR backup was created.
3438
- # Corresponds to the JSON property `backupCreateTime`
3842
+ # The friendly name of this account.
3843
+ # Corresponds to the JSON property `name`
3439
3844
  # @return [String]
3440
- attr_accessor :backup_create_time
3845
+ attr_accessor :name
3441
3846
 
3442
- # The name of a Backup and DR template which comprises one or more backup
3443
- # policies. See the [Backup and DR documentation](https://cloud.google.com/
3444
- # backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
3445
- # For example, “snap-ov”.
3446
- # Corresponds to the JSON property `backupTemplate`
3447
- # @return [String]
3448
- attr_accessor :backup_template
3847
+ def initialize(**args)
3848
+ update!(**args)
3849
+ end
3449
3850
 
3450
- # The backup type of the Backup and DR image. For example, “Snapshot”, “Remote
3451
- # Snapshot”, “OnVault”.
3452
- # Corresponds to the JSON property `backupType`
3453
- # @return [String]
3454
- attr_accessor :backup_type
3851
+ # Update properties of this object
3852
+ def update!(**args)
3853
+ @id = args[:id] if args.key?(:id)
3854
+ @name = args[:name] if args.key?(:name)
3855
+ end
3856
+ end
3857
+
3858
+ # AWS metadata associated with the resource, only applicable if the finding's
3859
+ # cloud provider is Amazon Web Services.
3860
+ class GoogleCloudSecuritycenterV2AwsMetadata
3861
+ include Google::Apis::Core::Hashable
3862
+
3863
+ # An AWS account that is a member of an organization.
3864
+ # Corresponds to the JSON property `account`
3865
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsAccount]
3866
+ attr_accessor :account
3867
+
3868
+ # An organization is a collection of accounts that are centrally managed
3869
+ # together using consolidated billing, organized hierarchically with
3870
+ # organizational units (OUs), and controlled with policies.
3871
+ # Corresponds to the JSON property `organization`
3872
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsOrganization]
3873
+ attr_accessor :organization
3874
+
3875
+ # A list of AWS organizational units associated with the resource, ordered from
3876
+ # lowest level (closest to the account) to highest level.
3877
+ # Corresponds to the JSON property `organizationalUnits`
3878
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsOrganizationalUnit>]
3879
+ attr_accessor :organizational_units
3880
+
3881
+ def initialize(**args)
3882
+ update!(**args)
3883
+ end
3884
+
3885
+ # Update properties of this object
3886
+ def update!(**args)
3887
+ @account = args[:account] if args.key?(:account)
3888
+ @organization = args[:organization] if args.key?(:organization)
3889
+ @organizational_units = args[:organizational_units] if args.key?(:organizational_units)
3890
+ end
3891
+ end
3892
+
3893
+ # An organization is a collection of accounts that are centrally managed
3894
+ # together using consolidated billing, organized hierarchically with
3895
+ # organizational units (OUs), and controlled with policies.
3896
+ class GoogleCloudSecuritycenterV2AwsOrganization
3897
+ include Google::Apis::Core::Hashable
3898
+
3899
+ # The unique identifier (ID) for the organization. The regex pattern for an
3900
+ # organization ID string requires "o-" followed by from 10 to 32 lowercase
3901
+ # letters or digits.
3902
+ # Corresponds to the JSON property `id`
3903
+ # @return [String]
3904
+ attr_accessor :id
3905
+
3906
+ def initialize(**args)
3907
+ update!(**args)
3908
+ end
3909
+
3910
+ # Update properties of this object
3911
+ def update!(**args)
3912
+ @id = args[:id] if args.key?(:id)
3913
+ end
3914
+ end
3915
+
3916
+ # An Organizational Unit (OU) is a container of AWS accounts within a root of an
3917
+ # organization. Policies that are attached to an OU apply to all accounts
3918
+ # contained in that OU and in any child OUs.
3919
+ class GoogleCloudSecuritycenterV2AwsOrganizationalUnit
3920
+ include Google::Apis::Core::Hashable
3921
+
3922
+ # The unique identifier (ID) associated with this OU. The regex pattern for an
3923
+ # organizational unit ID string requires "ou-" followed by from 4 to 32
3924
+ # lowercase letters or digits (the ID of the root that contains the OU). This
3925
+ # string is followed by a second "-" dash and from 8 to 32 additional lowercase
3926
+ # letters or digits. For example, "ou-ab12-cd34ef56".
3927
+ # Corresponds to the JSON property `id`
3928
+ # @return [String]
3929
+ attr_accessor :id
3930
+
3931
+ # The friendly name of the OU.
3932
+ # Corresponds to the JSON property `name`
3933
+ # @return [String]
3934
+ attr_accessor :name
3935
+
3936
+ def initialize(**args)
3937
+ update!(**args)
3938
+ end
3939
+
3940
+ # Update properties of this object
3941
+ def update!(**args)
3942
+ @id = args[:id] if args.key?(:id)
3943
+ @name = args[:name] if args.key?(:name)
3944
+ end
3945
+ end
3946
+
3947
+ # Information related to Google Cloud Backup and DR Service findings.
3948
+ class GoogleCloudSecuritycenterV2BackupDisasterRecovery
3949
+ include Google::Apis::Core::Hashable
3950
+
3951
+ # The name of the Backup and DR appliance that captures, moves, and manages the
3952
+ # lifecycle of backup data. For example, `backup-server-57137`.
3953
+ # Corresponds to the JSON property `appliance`
3954
+ # @return [String]
3955
+ attr_accessor :appliance
3956
+
3957
+ # The names of Backup and DR applications. An application is a VM, database, or
3958
+ # file system on a managed host monitored by a backup and recovery appliance.
3959
+ # For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
3960
+ # Corresponds to the JSON property `applications`
3961
+ # @return [Array<String>]
3962
+ attr_accessor :applications
3963
+
3964
+ # The timestamp at which the Backup and DR backup was created.
3965
+ # Corresponds to the JSON property `backupCreateTime`
3966
+ # @return [String]
3967
+ attr_accessor :backup_create_time
3968
+
3969
+ # The name of a Backup and DR template which comprises one or more backup
3970
+ # policies. See the [Backup and DR documentation](https://cloud.google.com/
3971
+ # backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
3972
+ # For example, `snap-ov`.
3973
+ # Corresponds to the JSON property `backupTemplate`
3974
+ # @return [String]
3975
+ attr_accessor :backup_template
3976
+
3977
+ # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote
3978
+ # Snapshot`, `OnVault`.
3979
+ # Corresponds to the JSON property `backupType`
3980
+ # @return [String]
3981
+ attr_accessor :backup_type
3455
3982
 
3456
3983
  # The name of a Backup and DR host, which is managed by the backup and recovery
3457
3984
  # appliance and known to the management console. The host can be of type Generic
3458
3985
  # (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.),
3459
3986
  # vCenter, or an ESX server. See the [Backup and DR documentation on hosts](
3460
3987
  # https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-
3461
- # hosts-and-their-applications) for more information. For example, centos7-01”.
3988
+ # hosts-and-their-applications) for more information. For example, `centos7-01`.
3462
3989
  # Corresponds to the JSON property `host`
3463
3990
  # @return [String]
3464
3991
  attr_accessor :host
3465
3992
 
3466
3993
  # The names of Backup and DR policies that are associated with a template and
3467
3994
  # that define when to run a backup, how frequently to run a backup, and how long
3468
- # to retain the backup image. For example, onvaults”.
3995
+ # to retain the backup image. For example, `onvaults`.
3469
3996
  # Corresponds to the JSON property `policies`
3470
3997
  # @return [Array<String>]
3471
3998
  attr_accessor :policies
@@ -3473,7 +4000,7 @@ module Google
3473
4000
  # The names of Backup and DR advanced policy options of a policy applying to an
3474
4001
  # application. See the [Backup and DR documentation on policy options](https://
3475
4002
  # cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings).
3476
- # For example, skipofflineappsincongrp, nounmap”.
4003
+ # For example, `skipofflineappsincongrp, nounmap`.
3477
4004
  # Corresponds to the JSON property `policyOptions`
3478
4005
  # @return [Array<String>]
3479
4006
  attr_accessor :policy_options
@@ -3481,7 +4008,7 @@ module Google
3481
4008
  # The name of the Backup and DR resource profile that specifies the storage
3482
4009
  # media for backups of application and VM data. See the [Backup and DR
3483
4010
  # documentation on profiles](https://cloud.google.com/backup-disaster-recovery/
3484
- # docs/concepts/backup-plan#profile). For example, GCP”.
4011
+ # docs/concepts/backup-plan#profile). For example, `GCP`.
3485
4012
  # Corresponds to the JSON property `profile`
3486
4013
  # @return [String]
3487
4014
  attr_accessor :profile
@@ -3490,7 +4017,7 @@ module Google
3490
4017
  # appliance is storing data in. The storage pool could be of type Cloud, Primary,
3491
4018
  # Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](
3492
4019
  # https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools).
3493
- # For example, DiskPoolOne”.
4020
+ # For example, `DiskPoolOne`.
3494
4021
  # Corresponds to the JSON property `storagePool`
3495
4022
  # @return [String]
3496
4023
  attr_accessor :storage_pool
@@ -3649,6 +4176,61 @@ module Google
3649
4176
  end
3650
4177
  end
3651
4178
 
4179
+ # Fields related to Google Cloud Armor findings.
4180
+ class GoogleCloudSecuritycenterV2CloudArmor
4181
+ include Google::Apis::Core::Hashable
4182
+
4183
+ # Information about [Google Cloud Armor Adaptive Protection](https://cloud.
4184
+ # google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
4185
+ # protection).
4186
+ # Corresponds to the JSON property `adaptiveProtection`
4187
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AdaptiveProtection]
4188
+ attr_accessor :adaptive_protection
4189
+
4190
+ # Information about DDoS attack volume and classification.
4191
+ # Corresponds to the JSON property `attack`
4192
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Attack]
4193
+ attr_accessor :attack
4194
+
4195
+ # Duration of attack from the start until the current moment (updated every 5
4196
+ # minutes).
4197
+ # Corresponds to the JSON property `duration`
4198
+ # @return [String]
4199
+ attr_accessor :duration
4200
+
4201
+ # Information about the requests relevant to the finding.
4202
+ # Corresponds to the JSON property `requests`
4203
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Requests]
4204
+ attr_accessor :requests
4205
+
4206
+ # Information about the [Google Cloud Armor security policy](https://cloud.
4207
+ # google.com/armor/docs/security-policy-overview) relevant to the finding.
4208
+ # Corresponds to the JSON property `securityPolicy`
4209
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2SecurityPolicy]
4210
+ attr_accessor :security_policy
4211
+
4212
+ # Distinguish between volumetric & protocol DDoS attack and application layer
4213
+ # attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7”
4214
+ # for Layer 7 DDoS attacks.
4215
+ # Corresponds to the JSON property `threatVector`
4216
+ # @return [String]
4217
+ attr_accessor :threat_vector
4218
+
4219
+ def initialize(**args)
4220
+ update!(**args)
4221
+ end
4222
+
4223
+ # Update properties of this object
4224
+ def update!(**args)
4225
+ @adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
4226
+ @attack = args[:attack] if args.key?(:attack)
4227
+ @duration = args[:duration] if args.key?(:duration)
4228
+ @requests = args[:requests] if args.key?(:requests)
4229
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
4230
+ @threat_vector = args[:threat_vector] if args.key?(:threat_vector)
4231
+ end
4232
+ end
4233
+
3652
4234
  # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
3653
4235
  # with the finding.
3654
4236
  class GoogleCloudSecuritycenterV2CloudDlpDataProfile
@@ -4279,6 +4861,16 @@ module Google
4279
4861
  # @return [Array<String>]
4280
4862
  attr_accessor :assignees
4281
4863
 
4864
+ # The time when the case was closed, as reported by the external system.
4865
+ # Corresponds to the JSON property `caseCloseTime`
4866
+ # @return [String]
4867
+ attr_accessor :case_close_time
4868
+
4869
+ # The time when the case was created, as reported by the external system.
4870
+ # Corresponds to the JSON property `caseCreateTime`
4871
+ # @return [String]
4872
+ attr_accessor :case_create_time
4873
+
4282
4874
  # The priority of the finding's corresponding case in the external system.
4283
4875
  # Corresponds to the JSON property `casePriority`
4284
4876
  # @return [String]
@@ -4336,6 +4928,8 @@ module Google
4336
4928
  # Update properties of this object
4337
4929
  def update!(**args)
4338
4930
  @assignees = args[:assignees] if args.key?(:assignees)
4931
+ @case_close_time = args[:case_close_time] if args.key?(:case_close_time)
4932
+ @case_create_time = args[:case_create_time] if args.key?(:case_create_time)
4339
4933
  @case_priority = args[:case_priority] if args.key?(:case_priority)
4340
4934
  @case_sla = args[:case_sla] if args.key?(:case_sla)
4341
4935
  @case_uri = args[:case_uri] if args.key?(:case_uri)
@@ -4453,6 +5047,11 @@ module Google
4453
5047
  # @return [String]
4454
5048
  attr_accessor :category
4455
5049
 
5050
+ # Fields related to Google Cloud Armor findings.
5051
+ # Corresponds to the JSON property `cloudArmor`
5052
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2CloudArmor]
5053
+ attr_accessor :cloud_armor
5054
+
4456
5055
  # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
4457
5056
  # with the finding.
4458
5057
  # Corresponds to the JSON property `cloudDlpDataProfile`
@@ -4639,6 +5238,13 @@ module Google
4639
5238
  # @return [String]
4640
5239
  attr_accessor :next_steps
4641
5240
 
5241
+ # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
5242
+ # (https://cloud.google.com/colab/docs/introduction) file, that is associated
5243
+ # with a finding.
5244
+ # Corresponds to the JSON property `notebook`
5245
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Notebook]
5246
+ attr_accessor :notebook
5247
+
4642
5248
  # Contains information about the org policies associated with the finding.
4643
5249
  # Corresponds to the JSON property `orgPolicies`
4644
5250
  # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2OrgPolicy>]
@@ -4729,6 +5335,7 @@ module Google
4729
5335
  @backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
4730
5336
  @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
4731
5337
  @category = args[:category] if args.key?(:category)
5338
+ @cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
4732
5339
  @cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
4733
5340
  @cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
4734
5341
  @compliances = args[:compliances] if args.key?(:compliances)
@@ -4757,6 +5364,7 @@ module Google
4757
5364
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
4758
5365
  @name = args[:name] if args.key?(:name)
4759
5366
  @next_steps = args[:next_steps] if args.key?(:next_steps)
5367
+ @notebook = args[:notebook] if args.key?(:notebook)
4760
5368
  @org_policies = args[:org_policies] if args.key?(:org_policies)
4761
5369
  @parent = args[:parent] if args.key?(:parent)
4762
5370
  @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
@@ -4771,6 +5379,32 @@ module Google
4771
5379
  end
4772
5380
  end
4773
5381
 
5382
+ # Message that contains the resource name and display name of a folder resource.
5383
+ class GoogleCloudSecuritycenterV2Folder
5384
+ include Google::Apis::Core::Hashable
5385
+
5386
+ # Full resource name of this folder. See: https://cloud.google.com/apis/design/
5387
+ # resource_names#full_resource_name
5388
+ # Corresponds to the JSON property `resourceFolder`
5389
+ # @return [String]
5390
+ attr_accessor :resource_folder
5391
+
5392
+ # The user defined display name for this folder.
5393
+ # Corresponds to the JSON property `resourceFolderDisplayName`
5394
+ # @return [String]
5395
+ attr_accessor :resource_folder_display_name
5396
+
5397
+ def initialize(**args)
5398
+ update!(**args)
5399
+ end
5400
+
5401
+ # Update properties of this object
5402
+ def update!(**args)
5403
+ @resource_folder = args[:resource_folder] if args.key?(:resource_folder)
5404
+ @resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name)
5405
+ end
5406
+ end
5407
+
4774
5408
  # Represents a geographical location for a given access.
4775
5409
  class GoogleCloudSecuritycenterV2Geolocation
4776
5410
  include Google::Apis::Core::Hashable
@@ -5277,6 +5911,45 @@ module Google
5277
5911
  end
5278
5912
  end
5279
5913
 
5914
+ # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
5915
+ # (https://cloud.google.com/colab/docs/introduction) file, that is associated
5916
+ # with a finding.
5917
+ class GoogleCloudSecuritycenterV2Notebook
5918
+ include Google::Apis::Core::Hashable
5919
+
5920
+ # The user ID of the latest author to modify the notebook.
5921
+ # Corresponds to the JSON property `lastAuthor`
5922
+ # @return [String]
5923
+ attr_accessor :last_author
5924
+
5925
+ # The name of the notebook.
5926
+ # Corresponds to the JSON property `name`
5927
+ # @return [String]
5928
+ attr_accessor :name
5929
+
5930
+ # The most recent time the notebook was updated.
5931
+ # Corresponds to the JSON property `notebookUpdateTime`
5932
+ # @return [String]
5933
+ attr_accessor :notebook_update_time
5934
+
5935
+ # The source notebook service, for example, "Colab Enterprise".
5936
+ # Corresponds to the JSON property `service`
5937
+ # @return [String]
5938
+ attr_accessor :service
5939
+
5940
+ def initialize(**args)
5941
+ update!(**args)
5942
+ end
5943
+
5944
+ # Update properties of this object
5945
+ def update!(**args)
5946
+ @last_author = args[:last_author] if args.key?(:last_author)
5947
+ @name = args[:name] if args.key?(:name)
5948
+ @notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
5949
+ @service = args[:service] if args.key?(:service)
5950
+ end
5951
+ end
5952
+
5280
5953
  # Cloud SCC's Notification
5281
5954
  class GoogleCloudSecuritycenterV2NotificationMessage
5282
5955
  include Google::Apis::Core::Hashable
@@ -5459,13 +6132,13 @@ module Google
5459
6132
  include Google::Apis::Core::Hashable
5460
6133
 
5461
6134
  # The detected value that violates the deployed posture, for example, `false` or
5462
- # `allowed_values=`"projects/22831892”``.
6135
+ # `allowed_values=`"projects/22831892"``.
5463
6136
  # Corresponds to the JSON property `detectedValue`
5464
6137
  # @return [String]
5465
6138
  attr_accessor :detected_value
5466
6139
 
5467
6140
  # The value of this field that was configured in a posture, for example, `true`
5468
- # or `allowed_values=`"projects/29831892”``.
6141
+ # or `allowed_values=`"projects/29831892"``.
5469
6142
  # Corresponds to the JSON property `expectedValue`
5470
6143
  # @return [String]
5471
6144
  attr_accessor :expected_value
@@ -5623,21 +6296,105 @@ module Google
5623
6296
  end
5624
6297
  end
5625
6298
 
6299
+ # Information about the requests relevant to the finding.
6300
+ class GoogleCloudSecuritycenterV2Requests
6301
+ include Google::Apis::Core::Hashable
6302
+
6303
+ # Allowed RPS (requests per second) over the long term.
6304
+ # Corresponds to the JSON property `longTermAllowed`
6305
+ # @return [Fixnum]
6306
+ attr_accessor :long_term_allowed
6307
+
6308
+ # Denied RPS (requests per second) over the long term.
6309
+ # Corresponds to the JSON property `longTermDenied`
6310
+ # @return [Fixnum]
6311
+ attr_accessor :long_term_denied
6312
+
6313
+ # For 'Increasing deny ratio', the ratio is the denied traffic divided by the
6314
+ # allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
6315
+ # in the short term divided by allowed traffic in the long term.
6316
+ # Corresponds to the JSON property `ratio`
6317
+ # @return [Float]
6318
+ attr_accessor :ratio
6319
+
6320
+ # Allowed RPS (requests per second) in the short term.
6321
+ # Corresponds to the JSON property `shortTermAllowed`
6322
+ # @return [Fixnum]
6323
+ attr_accessor :short_term_allowed
6324
+
6325
+ def initialize(**args)
6326
+ update!(**args)
6327
+ end
6328
+
6329
+ # Update properties of this object
6330
+ def update!(**args)
6331
+ @long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
6332
+ @long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
6333
+ @ratio = args[:ratio] if args.key?(:ratio)
6334
+ @short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
6335
+ end
6336
+ end
6337
+
5626
6338
  # Information related to the Google Cloud resource.
5627
6339
  class GoogleCloudSecuritycenterV2Resource
5628
6340
  include Google::Apis::Core::Hashable
5629
6341
 
6342
+ # AWS metadata associated with the resource, only applicable if the finding's
6343
+ # cloud provider is Amazon Web Services.
6344
+ # Corresponds to the JSON property `awsMetadata`
6345
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsMetadata]
6346
+ attr_accessor :aws_metadata
6347
+
6348
+ # Indicates which cloud provider the finding is from.
6349
+ # Corresponds to the JSON property `cloudProvider`
6350
+ # @return [String]
6351
+ attr_accessor :cloud_provider
6352
+
5630
6353
  # The human readable name of the resource.
5631
6354
  # Corresponds to the JSON property `displayName`
5632
6355
  # @return [String]
5633
6356
  attr_accessor :display_name
5634
6357
 
6358
+ # GCP metadata associated with the resource, only applicable if the finding's
6359
+ # cloud provider is Google Cloud Platform.
6360
+ # Corresponds to the JSON property `gcpMetadata`
6361
+ # @return [Google::Apis::SecuritycenterV1beta1::GcpMetadata]
6362
+ attr_accessor :gcp_metadata
6363
+
6364
+ # The region or location of the service (if applicable).
6365
+ # Corresponds to the JSON property `location`
6366
+ # @return [String]
6367
+ attr_accessor :location
6368
+
5635
6369
  # The full resource name of the resource. See: https://cloud.google.com/apis/
5636
6370
  # design/resource_names#full_resource_name
5637
6371
  # Corresponds to the JSON property `name`
5638
6372
  # @return [String]
5639
6373
  attr_accessor :name
5640
6374
 
6375
+ # Represents the path of resources leading up to the resource this finding is
6376
+ # about.
6377
+ # Corresponds to the JSON property `resourcePath`
6378
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2ResourcePath]
6379
+ attr_accessor :resource_path
6380
+
6381
+ # A string representation of the resource path. For GCP, it has the format of:
6382
+ # organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
6383
+ # projects/`project_id` where there can be any number of folders. For AWS, it
6384
+ # has the format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
6385
+ # organizational_unit_id`/account/`account_id` where there can be any number of
6386
+ # organizational units. For Azure, it has the format of: mg/`management_group_id`
6387
+ # /mg/`management_group_id`/subscription/`subscription_id`/rg/`
6388
+ # resource_group_name` where there can be any number of management groups.
6389
+ # Corresponds to the JSON property `resourcePathString`
6390
+ # @return [String]
6391
+ attr_accessor :resource_path_string
6392
+
6393
+ # The service or resource provider associated with the resource.
6394
+ # Corresponds to the JSON property `service`
6395
+ # @return [String]
6396
+ attr_accessor :service
6397
+
5641
6398
  # The full resource type of the resource.
5642
6399
  # Corresponds to the JSON property `type`
5643
6400
  # @return [String]
@@ -5649,17 +6406,82 @@ module Google
5649
6406
 
5650
6407
  # Update properties of this object
5651
6408
  def update!(**args)
6409
+ @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
6410
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
5652
6411
  @display_name = args[:display_name] if args.key?(:display_name)
6412
+ @gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
6413
+ @location = args[:location] if args.key?(:location)
5653
6414
  @name = args[:name] if args.key?(:name)
6415
+ @resource_path = args[:resource_path] if args.key?(:resource_path)
6416
+ @resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
6417
+ @service = args[:service] if args.key?(:service)
5654
6418
  @type = args[:type] if args.key?(:type)
5655
6419
  end
5656
6420
  end
5657
6421
 
6422
+ # Represents the path of resources leading up to the resource this finding is
6423
+ # about.
6424
+ class GoogleCloudSecuritycenterV2ResourcePath
6425
+ include Google::Apis::Core::Hashable
6426
+
6427
+ # The list of nodes that make the up resource path, ordered from lowest level to
6428
+ # highest level.
6429
+ # Corresponds to the JSON property `nodes`
6430
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2ResourcePathNode>]
6431
+ attr_accessor :nodes
6432
+
6433
+ def initialize(**args)
6434
+ update!(**args)
6435
+ end
6436
+
6437
+ # Update properties of this object
6438
+ def update!(**args)
6439
+ @nodes = args[:nodes] if args.key?(:nodes)
6440
+ end
6441
+ end
6442
+
6443
+ # A node within the resource path. Each node represents a resource within the
6444
+ # resource hierarchy.
6445
+ class GoogleCloudSecuritycenterV2ResourcePathNode
6446
+ include Google::Apis::Core::Hashable
6447
+
6448
+ # The display name of the resource this node represents.
6449
+ # Corresponds to the JSON property `displayName`
6450
+ # @return [String]
6451
+ attr_accessor :display_name
6452
+
6453
+ # The ID of the resource this node represents.
6454
+ # Corresponds to the JSON property `id`
6455
+ # @return [String]
6456
+ attr_accessor :id
6457
+
6458
+ # The type of resource this node represents.
6459
+ # Corresponds to the JSON property `nodeType`
6460
+ # @return [String]
6461
+ attr_accessor :node_type
6462
+
6463
+ def initialize(**args)
6464
+ update!(**args)
6465
+ end
6466
+
6467
+ # Update properties of this object
6468
+ def update!(**args)
6469
+ @display_name = args[:display_name] if args.key?(:display_name)
6470
+ @id = args[:id] if args.key?(:id)
6471
+ @node_type = args[:node_type] if args.key?(:node_type)
6472
+ end
6473
+ end
6474
+
5658
6475
  # A resource value config (RVC) is a mapping configuration of user's resources
5659
6476
  # to resource values. Used in Attack path simulations.
5660
6477
  class GoogleCloudSecuritycenterV2ResourceValueConfig
5661
6478
  include Google::Apis::Core::Hashable
5662
6479
 
6480
+ # Cloud provider this configuration applies to
6481
+ # Corresponds to the JSON property `cloudProvider`
6482
+ # @return [String]
6483
+ attr_accessor :cloud_provider
6484
+
5663
6485
  # Output only. Timestamp this resource value config was created.
5664
6486
  # Corresponds to the JSON property `createTime`
5665
6487
  # @return [String]
@@ -5729,6 +6551,7 @@ module Google
5729
6551
 
5730
6552
  # Update properties of this object
5731
6553
  def update!(**args)
6554
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
5732
6555
  @create_time = args[:create_time] if args.key?(:create_time)
5733
6556
  @description = args[:description] if args.key?(:description)
5734
6557
  @name = args[:name] if args.key?(:name)
@@ -5813,17 +6636,17 @@ module Google
5813
6636
  include Google::Apis::Core::Hashable
5814
6637
 
5815
6638
  # The canonical name of the marks. The following list shows some examples: + `
5816
- # organizations/`organization_id`/assets/`asset_id`/securityMarks" + `
6639
+ # organizations/`organization_id`/assets/`asset_id`/securityMarks` + `
5817
6640
  # organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
5818
- # securityMarks" + `organizations/`organization_id`/sources/`source_id`/
5819
- # locations/`location`/findings/`finding_id`/securityMarks" + `folders/`
5820
- # folder_id`/assets/`asset_id`/securityMarks" + `folders/`folder_id`/sources/`
5821
- # source_id`/findings/`finding_id`/securityMarks" + `folders/`folder_id`/sources/
5822
- # `source_id`/locations/`location`/findings/`finding_id`/securityMarks" + `
5823
- # projects/`project_number`/assets/`asset_id`/securityMarks" + `projects/`
5824
- # project_number`/sources/`source_id`/findings/`finding_id`/securityMarks" + `
6641
+ # securityMarks` + `organizations/`organization_id`/sources/`source_id`/
6642
+ # locations/`location`/findings/`finding_id`/securityMarks` + `folders/`
6643
+ # folder_id`/assets/`asset_id`/securityMarks` + `folders/`folder_id`/sources/`
6644
+ # source_id`/findings/`finding_id`/securityMarks` + `folders/`folder_id`/sources/
6645
+ # `source_id`/locations/`location`/findings/`finding_id`/securityMarks` + `
6646
+ # projects/`project_number`/assets/`asset_id`/securityMarks` + `projects/`
6647
+ # project_number`/sources/`source_id`/findings/`finding_id`/securityMarks` + `
5825
6648
  # projects/`project_number`/sources/`source_id`/locations/`location`/findings/`
5826
- # finding_id`/securityMarks"
6649
+ # finding_id`/securityMarks`
5827
6650
  # Corresponds to the JSON property `canonicalName`
5828
6651
  # @return [String]
5829
6652
  attr_accessor :canonical_name
@@ -5859,6 +6682,42 @@ module Google
5859
6682
  end
5860
6683
  end
5861
6684
 
6685
+ # Information about the [Google Cloud Armor security policy](https://cloud.
6686
+ # google.com/armor/docs/security-policy-overview) relevant to the finding.
6687
+ class GoogleCloudSecuritycenterV2SecurityPolicy
6688
+ include Google::Apis::Core::Hashable
6689
+
6690
+ # The name of the Google Cloud Armor security policy, for example, "my-security-
6691
+ # policy".
6692
+ # Corresponds to the JSON property `name`
6693
+ # @return [String]
6694
+ attr_accessor :name
6695
+
6696
+ # Whether or not the associated rule or policy is in preview mode.
6697
+ # Corresponds to the JSON property `preview`
6698
+ # @return [Boolean]
6699
+ attr_accessor :preview
6700
+ alias_method :preview?, :preview
6701
+
6702
+ # The type of Google Cloud Armor security policy for example, ‘backend security
6703
+ # policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on
6704
+ # DDoS protection’.
6705
+ # Corresponds to the JSON property `type`
6706
+ # @return [String]
6707
+ attr_accessor :type
6708
+
6709
+ def initialize(**args)
6710
+ update!(**args)
6711
+ end
6712
+
6713
+ # Update properties of this object
6714
+ def update!(**args)
6715
+ @name = args[:name] if args.key?(:name)
6716
+ @preview = args[:preview] if args.key?(:preview)
6717
+ @type = args[:type] if args.key?(:type)
6718
+ end
6719
+ end
6720
+
5862
6721
  # Represents a posture that is deployed on Google Cloud by the Security Command
5863
6722
  # Center Posture Management service. A posture contains one or more policy sets.
5864
6723
  # A policy set is a group of policies that enforce a set of security rules on
@@ -6930,6 +7789,45 @@ module Google
6930
7789
  end
6931
7790
  end
6932
7791
 
7792
+ # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
7793
+ # (https://cloud.google.com/colab/docs/introduction) file, that is associated
7794
+ # with a finding.
7795
+ class Notebook
7796
+ include Google::Apis::Core::Hashable
7797
+
7798
+ # The user ID of the latest author to modify the notebook.
7799
+ # Corresponds to the JSON property `lastAuthor`
7800
+ # @return [String]
7801
+ attr_accessor :last_author
7802
+
7803
+ # The name of the notebook.
7804
+ # Corresponds to the JSON property `name`
7805
+ # @return [String]
7806
+ attr_accessor :name
7807
+
7808
+ # The most recent time the notebook was updated.
7809
+ # Corresponds to the JSON property `notebookUpdateTime`
7810
+ # @return [String]
7811
+ attr_accessor :notebook_update_time
7812
+
7813
+ # The source notebook service, for example, "Colab Enterprise".
7814
+ # Corresponds to the JSON property `service`
7815
+ # @return [String]
7816
+ attr_accessor :service
7817
+
7818
+ def initialize(**args)
7819
+ update!(**args)
7820
+ end
7821
+
7822
+ # Update properties of this object
7823
+ def update!(**args)
7824
+ @last_author = args[:last_author] if args.key?(:last_author)
7825
+ @name = args[:name] if args.key?(:name)
7826
+ @notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
7827
+ @service = args[:service] if args.key?(:service)
7828
+ end
7829
+ end
7830
+
6933
7831
  # Kubernetes object related to the finding, uniquely identified by GKNN. Used if
6934
7832
  # the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
6935
7833
  class Object
@@ -7265,19 +8163,19 @@ module Google
7265
8163
  end
7266
8164
  end
7267
8165
 
7268
- # The policy field that violates the deployed posture and its expected and and
8166
+ # The policy field that violates the deployed posture and its expected and
7269
8167
  # detected values.
7270
8168
  class PolicyDriftDetails
7271
8169
  include Google::Apis::Core::Hashable
7272
8170
 
7273
8171
  # The detected value that violates the deployed posture, for example, `false` or
7274
- # `allowed_values=`"projects/22831892”``.
8172
+ # `allowed_values=`"projects/22831892"``.
7275
8173
  # Corresponds to the JSON property `detectedValue`
7276
8174
  # @return [String]
7277
8175
  attr_accessor :detected_value
7278
8176
 
7279
8177
  # The value of this field that was configured in a posture, for example, `true`
7280
- # or `allowed_values=`"projects/29831892”``.
8178
+ # or `allowed_values=`"projects/29831892"``.
7281
8179
  # Corresponds to the JSON property `expectedValue`
7282
8180
  # @return [String]
7283
8181
  attr_accessor :expected_value
@@ -7435,6 +8333,98 @@ module Google
7435
8333
  end
7436
8334
  end
7437
8335
 
8336
+ # Information about the requests relevant to the finding.
8337
+ class Requests
8338
+ include Google::Apis::Core::Hashable
8339
+
8340
+ # Allowed RPS (requests per second) over the long term.
8341
+ # Corresponds to the JSON property `longTermAllowed`
8342
+ # @return [Fixnum]
8343
+ attr_accessor :long_term_allowed
8344
+
8345
+ # Denied RPS (requests per second) over the long term.
8346
+ # Corresponds to the JSON property `longTermDenied`
8347
+ # @return [Fixnum]
8348
+ attr_accessor :long_term_denied
8349
+
8350
+ # For 'Increasing deny ratio', the ratio is the denied traffic divided by the
8351
+ # allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
8352
+ # in the short term divided by allowed traffic in the long term.
8353
+ # Corresponds to the JSON property `ratio`
8354
+ # @return [Float]
8355
+ attr_accessor :ratio
8356
+
8357
+ # Allowed RPS (requests per second) in the short term.
8358
+ # Corresponds to the JSON property `shortTermAllowed`
8359
+ # @return [Fixnum]
8360
+ attr_accessor :short_term_allowed
8361
+
8362
+ def initialize(**args)
8363
+ update!(**args)
8364
+ end
8365
+
8366
+ # Update properties of this object
8367
+ def update!(**args)
8368
+ @long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
8369
+ @long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
8370
+ @ratio = args[:ratio] if args.key?(:ratio)
8371
+ @short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
8372
+ end
8373
+ end
8374
+
8375
+ # Represents the path of resources leading up to the resource this finding is
8376
+ # about.
8377
+ class ResourcePath
8378
+ include Google::Apis::Core::Hashable
8379
+
8380
+ # The list of nodes that make the up resource path, ordered from lowest level to
8381
+ # highest level.
8382
+ # Corresponds to the JSON property `nodes`
8383
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::ResourcePathNode>]
8384
+ attr_accessor :nodes
8385
+
8386
+ def initialize(**args)
8387
+ update!(**args)
8388
+ end
8389
+
8390
+ # Update properties of this object
8391
+ def update!(**args)
8392
+ @nodes = args[:nodes] if args.key?(:nodes)
8393
+ end
8394
+ end
8395
+
8396
+ # A node within the resource path. Each node represents a resource within the
8397
+ # resource hierarchy.
8398
+ class ResourcePathNode
8399
+ include Google::Apis::Core::Hashable
8400
+
8401
+ # The display name of the resource this node represents.
8402
+ # Corresponds to the JSON property `displayName`
8403
+ # @return [String]
8404
+ attr_accessor :display_name
8405
+
8406
+ # The ID of the resource this node represents.
8407
+ # Corresponds to the JSON property `id`
8408
+ # @return [String]
8409
+ attr_accessor :id
8410
+
8411
+ # The type of resource this node represents.
8412
+ # Corresponds to the JSON property `nodeType`
8413
+ # @return [String]
8414
+ attr_accessor :node_type
8415
+
8416
+ def initialize(**args)
8417
+ update!(**args)
8418
+ end
8419
+
8420
+ # Update properties of this object
8421
+ def update!(**args)
8422
+ @display_name = args[:display_name] if args.key?(:display_name)
8423
+ @id = args[:id] if args.key?(:id)
8424
+ @node_type = args[:node_type] if args.key?(:node_type)
8425
+ end
8426
+ end
8427
+
7438
8428
  # Kubernetes Role or ClusterRole.
7439
8429
  class Role
7440
8430
  include Google::Apis::Core::Hashable
@@ -7608,6 +8598,42 @@ module Google
7608
8598
  end
7609
8599
  end
7610
8600
 
8601
+ # Information about the [Google Cloud Armor security policy](https://cloud.
8602
+ # google.com/armor/docs/security-policy-overview) relevant to the finding.
8603
+ class SecurityPolicy
8604
+ include Google::Apis::Core::Hashable
8605
+
8606
+ # The name of the Google Cloud Armor security policy, for example, "my-security-
8607
+ # policy".
8608
+ # Corresponds to the JSON property `name`
8609
+ # @return [String]
8610
+ attr_accessor :name
8611
+
8612
+ # Whether or not the associated rule or policy is in preview mode.
8613
+ # Corresponds to the JSON property `preview`
8614
+ # @return [Boolean]
8615
+ attr_accessor :preview
8616
+ alias_method :preview?, :preview
8617
+
8618
+ # The type of Google Cloud Armor security policy for example, ‘backend security
8619
+ # policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on
8620
+ # DDoS protection’.
8621
+ # Corresponds to the JSON property `type`
8622
+ # @return [String]
8623
+ attr_accessor :type
8624
+
8625
+ def initialize(**args)
8626
+ update!(**args)
8627
+ end
8628
+
8629
+ # Update properties of this object
8630
+ def update!(**args)
8631
+ @name = args[:name] if args.key?(:name)
8632
+ @preview = args[:preview] if args.key?(:preview)
8633
+ @type = args[:type] if args.key?(:type)
8634
+ end
8635
+ end
8636
+
7611
8637
  # Represents a posture that is deployed on Google Cloud by the Security Command
7612
8638
  # Center Posture Management service. A posture contains one or more policy sets.
7613
8639
  # A policy set is a group of policies that enforce a set of security rules on
@@ -8026,6 +9052,63 @@ module Google
8026
9052
  end
8027
9053
  end
8028
9054
 
9055
+ # Vulnerability count by severity.
9056
+ class VulnerabilityCountBySeverity
9057
+ include Google::Apis::Core::Hashable
9058
+
9059
+ # Key is the Severity enum.
9060
+ # Corresponds to the JSON property `severityToFindingCount`
9061
+ # @return [Hash<String,Fixnum>]
9062
+ attr_accessor :severity_to_finding_count
9063
+
9064
+ def initialize(**args)
9065
+ update!(**args)
9066
+ end
9067
+
9068
+ # Update properties of this object
9069
+ def update!(**args)
9070
+ @severity_to_finding_count = args[:severity_to_finding_count] if args.key?(:severity_to_finding_count)
9071
+ end
9072
+ end
9073
+
9074
+ # Result containing the properties and count of a VulnerabilitySnapshot request.
9075
+ class VulnerabilitySnapshot
9076
+ include Google::Apis::Core::Hashable
9077
+
9078
+ # The cloud provider for the vulnerability snapshot.
9079
+ # Corresponds to the JSON property `cloudProvider`
9080
+ # @return [String]
9081
+ attr_accessor :cloud_provider
9082
+
9083
+ # Vulnerability count by severity.
9084
+ # Corresponds to the JSON property `findingCount`
9085
+ # @return [Google::Apis::SecuritycenterV1beta1::VulnerabilityCountBySeverity]
9086
+ attr_accessor :finding_count
9087
+
9088
+ # Identifier. The vulnerability snapshot name. Format: //locations//
9089
+ # vulnerabilitySnapshots/
9090
+ # Corresponds to the JSON property `name`
9091
+ # @return [String]
9092
+ attr_accessor :name
9093
+
9094
+ # The time that the snapshot was taken.
9095
+ # Corresponds to the JSON property `snapshotTime`
9096
+ # @return [String]
9097
+ attr_accessor :snapshot_time
9098
+
9099
+ def initialize(**args)
9100
+ update!(**args)
9101
+ end
9102
+
9103
+ # Update properties of this object
9104
+ def update!(**args)
9105
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
9106
+ @finding_count = args[:finding_count] if args.key?(:finding_count)
9107
+ @name = args[:name] if args.key?(:name)
9108
+ @snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
9109
+ end
9110
+ end
9111
+
8029
9112
  # A signature corresponding to a YARA rule.
8030
9113
  class YaraRuleSignature
8031
9114
  include Google::Apis::Core::Hashable