google-apis-securitycenter_v1 0.77.0 → 0.79.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.
|
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
|
-
#
|
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
|
@@ -324,6 +347,37 @@ module Google
|
|
324
347
|
end
|
325
348
|
end
|
326
349
|
|
350
|
+
# Information about DDoS attack volume and classification.
|
351
|
+
class Attack
|
352
|
+
include Google::Apis::Core::Hashable
|
353
|
+
|
354
|
+
# Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.
|
355
|
+
# Corresponds to the JSON property `classification`
|
356
|
+
# @return [String]
|
357
|
+
attr_accessor :classification
|
358
|
+
|
359
|
+
# Total BPS (bytes per second) volume of attack.
|
360
|
+
# Corresponds to the JSON property `volumeBps`
|
361
|
+
# @return [Fixnum]
|
362
|
+
attr_accessor :volume_bps
|
363
|
+
|
364
|
+
# Total PPS (packets per second) volume of attack.
|
365
|
+
# Corresponds to the JSON property `volumePps`
|
366
|
+
# @return [Fixnum]
|
367
|
+
attr_accessor :volume_pps
|
368
|
+
|
369
|
+
def initialize(**args)
|
370
|
+
update!(**args)
|
371
|
+
end
|
372
|
+
|
373
|
+
# Update properties of this object
|
374
|
+
def update!(**args)
|
375
|
+
@classification = args[:classification] if args.key?(:classification)
|
376
|
+
@volume_bps = args[:volume_bps] if args.key?(:volume_bps)
|
377
|
+
@volume_pps = args[:volume_pps] if args.key?(:volume_pps)
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
327
381
|
# An attack exposure contains the results of an attack path simulation run.
|
328
382
|
class AttackExposure
|
329
383
|
include Google::Apis::Core::Hashable
|
@@ -611,19 +665,133 @@ module Google
|
|
611
665
|
end
|
612
666
|
end
|
613
667
|
|
668
|
+
# An AWS account that is a member of an organization.
|
669
|
+
class AwsAccount
|
670
|
+
include Google::Apis::Core::Hashable
|
671
|
+
|
672
|
+
# The unique identifier (ID) of the account, containing exactly 12 digits.
|
673
|
+
# Corresponds to the JSON property `id`
|
674
|
+
# @return [String]
|
675
|
+
attr_accessor :id
|
676
|
+
|
677
|
+
# The friendly name of this account.
|
678
|
+
# Corresponds to the JSON property `name`
|
679
|
+
# @return [String]
|
680
|
+
attr_accessor :name
|
681
|
+
|
682
|
+
def initialize(**args)
|
683
|
+
update!(**args)
|
684
|
+
end
|
685
|
+
|
686
|
+
# Update properties of this object
|
687
|
+
def update!(**args)
|
688
|
+
@id = args[:id] if args.key?(:id)
|
689
|
+
@name = args[:name] if args.key?(:name)
|
690
|
+
end
|
691
|
+
end
|
692
|
+
|
693
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
694
|
+
# cloud provider is Amazon Web Services.
|
695
|
+
class AwsMetadata
|
696
|
+
include Google::Apis::Core::Hashable
|
697
|
+
|
698
|
+
# An AWS account that is a member of an organization.
|
699
|
+
# Corresponds to the JSON property `account`
|
700
|
+
# @return [Google::Apis::SecuritycenterV1::AwsAccount]
|
701
|
+
attr_accessor :account
|
702
|
+
|
703
|
+
# An organization is a collection of accounts that are centrally managed
|
704
|
+
# together using consolidated billing, organized hierarchically with
|
705
|
+
# organizational units (OUs), and controlled with policies.
|
706
|
+
# Corresponds to the JSON property `organization`
|
707
|
+
# @return [Google::Apis::SecuritycenterV1::AwsOrganization]
|
708
|
+
attr_accessor :organization
|
709
|
+
|
710
|
+
# A list of AWS organizational units associated with the resource, ordered from
|
711
|
+
# lowest level (closest to the account) to highest level.
|
712
|
+
# Corresponds to the JSON property `organizationalUnits`
|
713
|
+
# @return [Array<Google::Apis::SecuritycenterV1::AwsOrganizationalUnit>]
|
714
|
+
attr_accessor :organizational_units
|
715
|
+
|
716
|
+
def initialize(**args)
|
717
|
+
update!(**args)
|
718
|
+
end
|
719
|
+
|
720
|
+
# Update properties of this object
|
721
|
+
def update!(**args)
|
722
|
+
@account = args[:account] if args.key?(:account)
|
723
|
+
@organization = args[:organization] if args.key?(:organization)
|
724
|
+
@organizational_units = args[:organizational_units] if args.key?(:organizational_units)
|
725
|
+
end
|
726
|
+
end
|
727
|
+
|
728
|
+
# An organization is a collection of accounts that are centrally managed
|
729
|
+
# together using consolidated billing, organized hierarchically with
|
730
|
+
# organizational units (OUs), and controlled with policies.
|
731
|
+
class AwsOrganization
|
732
|
+
include Google::Apis::Core::Hashable
|
733
|
+
|
734
|
+
# The unique identifier (ID) for the organization. The regex pattern for an
|
735
|
+
# organization ID string requires "o-" followed by from 10 to 32 lowercase
|
736
|
+
# letters or digits.
|
737
|
+
# Corresponds to the JSON property `id`
|
738
|
+
# @return [String]
|
739
|
+
attr_accessor :id
|
740
|
+
|
741
|
+
def initialize(**args)
|
742
|
+
update!(**args)
|
743
|
+
end
|
744
|
+
|
745
|
+
# Update properties of this object
|
746
|
+
def update!(**args)
|
747
|
+
@id = args[:id] if args.key?(:id)
|
748
|
+
end
|
749
|
+
end
|
750
|
+
|
751
|
+
# An Organizational Unit (OU) is a container of AWS accounts within a root of an
|
752
|
+
# organization. Policies that are attached to an OU apply to all accounts
|
753
|
+
# contained in that OU and in any child OUs.
|
754
|
+
class AwsOrganizationalUnit
|
755
|
+
include Google::Apis::Core::Hashable
|
756
|
+
|
757
|
+
# The unique identifier (ID) associated with this OU. The regex pattern for an
|
758
|
+
# organizational unit ID string requires "ou-" followed by from 4 to 32
|
759
|
+
# lowercase letters or digits (the ID of the root that contains the OU). This
|
760
|
+
# string is followed by a second "-" dash and from 8 to 32 additional lowercase
|
761
|
+
# letters or digits. For example, "ou-ab12-cd34ef56".
|
762
|
+
# Corresponds to the JSON property `id`
|
763
|
+
# @return [String]
|
764
|
+
attr_accessor :id
|
765
|
+
|
766
|
+
# The friendly name of the OU.
|
767
|
+
# Corresponds to the JSON property `name`
|
768
|
+
# @return [String]
|
769
|
+
attr_accessor :name
|
770
|
+
|
771
|
+
def initialize(**args)
|
772
|
+
update!(**args)
|
773
|
+
end
|
774
|
+
|
775
|
+
# Update properties of this object
|
776
|
+
def update!(**args)
|
777
|
+
@id = args[:id] if args.key?(:id)
|
778
|
+
@name = args[:name] if args.key?(:name)
|
779
|
+
end
|
780
|
+
end
|
781
|
+
|
614
782
|
# Information related to Google Cloud Backup and DR Service findings.
|
615
783
|
class BackupDisasterRecovery
|
616
784
|
include Google::Apis::Core::Hashable
|
617
785
|
|
618
786
|
# The name of the Backup and DR appliance that captures, moves, and manages the
|
619
|
-
# lifecycle of backup data. For example,
|
787
|
+
# lifecycle of backup data. For example, `backup-server-57137`.
|
620
788
|
# Corresponds to the JSON property `appliance`
|
621
789
|
# @return [String]
|
622
790
|
attr_accessor :appliance
|
623
791
|
|
624
792
|
# The names of Backup and DR applications. An application is a VM, database, or
|
625
793
|
# file system on a managed host monitored by a backup and recovery appliance.
|
626
|
-
# For example,
|
794
|
+
# For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
|
627
795
|
# Corresponds to the JSON property `applications`
|
628
796
|
# @return [Array<String>]
|
629
797
|
attr_accessor :applications
|
@@ -636,13 +804,13 @@ module Google
|
|
636
804
|
# The name of a Backup and DR template which comprises one or more backup
|
637
805
|
# policies. See the [Backup and DR documentation](https://cloud.google.com/
|
638
806
|
# backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
|
639
|
-
# For example,
|
807
|
+
# For example, `snap-ov`.
|
640
808
|
# Corresponds to the JSON property `backupTemplate`
|
641
809
|
# @return [String]
|
642
810
|
attr_accessor :backup_template
|
643
811
|
|
644
|
-
# The backup type of the Backup and DR image. For example,
|
645
|
-
# Snapshot
|
812
|
+
# The backup type of the Backup and DR image. For example, `Snapshot`, `Remote
|
813
|
+
# Snapshot`, `OnVault`.
|
646
814
|
# Corresponds to the JSON property `backupType`
|
647
815
|
# @return [String]
|
648
816
|
attr_accessor :backup_type
|
@@ -652,14 +820,14 @@ module Google
|
|
652
820
|
# (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.),
|
653
821
|
# vCenter, or an ESX server. See the [Backup and DR documentation on hosts](
|
654
822
|
# https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-
|
655
|
-
# hosts-and-their-applications) for more information. For example,
|
823
|
+
# hosts-and-their-applications) for more information. For example, `centos7-01`.
|
656
824
|
# Corresponds to the JSON property `host`
|
657
825
|
# @return [String]
|
658
826
|
attr_accessor :host
|
659
827
|
|
660
828
|
# The names of Backup and DR policies that are associated with a template and
|
661
829
|
# that define when to run a backup, how frequently to run a backup, and how long
|
662
|
-
# to retain the backup image. For example,
|
830
|
+
# to retain the backup image. For example, `onvaults`.
|
663
831
|
# Corresponds to the JSON property `policies`
|
664
832
|
# @return [Array<String>]
|
665
833
|
attr_accessor :policies
|
@@ -667,7 +835,7 @@ module Google
|
|
667
835
|
# The names of Backup and DR advanced policy options of a policy applying to an
|
668
836
|
# application. See the [Backup and DR documentation on policy options](https://
|
669
837
|
# cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings).
|
670
|
-
# For example,
|
838
|
+
# For example, `skipofflineappsincongrp, nounmap`.
|
671
839
|
# Corresponds to the JSON property `policyOptions`
|
672
840
|
# @return [Array<String>]
|
673
841
|
attr_accessor :policy_options
|
@@ -675,7 +843,7 @@ module Google
|
|
675
843
|
# The name of the Backup and DR resource profile that specifies the storage
|
676
844
|
# media for backups of application and VM data. See the [Backup and DR
|
677
845
|
# documentation on profiles](https://cloud.google.com/backup-disaster-recovery/
|
678
|
-
# docs/concepts/backup-plan#profile). For example,
|
846
|
+
# docs/concepts/backup-plan#profile). For example, `GCP`.
|
679
847
|
# Corresponds to the JSON property `profile`
|
680
848
|
# @return [String]
|
681
849
|
attr_accessor :profile
|
@@ -684,7 +852,7 @@ module Google
|
|
684
852
|
# appliance is storing data in. The storage pool could be of type Cloud, Primary,
|
685
853
|
# Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](
|
686
854
|
# https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools).
|
687
|
-
# For example,
|
855
|
+
# For example, `DiskPoolOne`.
|
688
856
|
# Corresponds to the JSON property `storagePool`
|
689
857
|
# @return [String]
|
690
858
|
attr_accessor :storage_pool
|
@@ -883,6 +1051,61 @@ module Google
|
|
883
1051
|
end
|
884
1052
|
end
|
885
1053
|
|
1054
|
+
# Fields related to Google Cloud Armor findings.
|
1055
|
+
class CloudArmor
|
1056
|
+
include Google::Apis::Core::Hashable
|
1057
|
+
|
1058
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
1059
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
1060
|
+
# protection).
|
1061
|
+
# Corresponds to the JSON property `adaptiveProtection`
|
1062
|
+
# @return [Google::Apis::SecuritycenterV1::AdaptiveProtection]
|
1063
|
+
attr_accessor :adaptive_protection
|
1064
|
+
|
1065
|
+
# Information about DDoS attack volume and classification.
|
1066
|
+
# Corresponds to the JSON property `attack`
|
1067
|
+
# @return [Google::Apis::SecuritycenterV1::Attack]
|
1068
|
+
attr_accessor :attack
|
1069
|
+
|
1070
|
+
# Duration of attack from the start until the current moment (updated every 5
|
1071
|
+
# minutes).
|
1072
|
+
# Corresponds to the JSON property `duration`
|
1073
|
+
# @return [String]
|
1074
|
+
attr_accessor :duration
|
1075
|
+
|
1076
|
+
# Information about the requests relevant to the finding.
|
1077
|
+
# Corresponds to the JSON property `requests`
|
1078
|
+
# @return [Google::Apis::SecuritycenterV1::Requests]
|
1079
|
+
attr_accessor :requests
|
1080
|
+
|
1081
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
1082
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
1083
|
+
# Corresponds to the JSON property `securityPolicy`
|
1084
|
+
# @return [Google::Apis::SecuritycenterV1::SecurityPolicy]
|
1085
|
+
attr_accessor :security_policy
|
1086
|
+
|
1087
|
+
# Distinguish between volumetric & protocol DDoS attack and application layer
|
1088
|
+
# attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7”
|
1089
|
+
# for Layer 7 DDoS attacks.
|
1090
|
+
# Corresponds to the JSON property `threatVector`
|
1091
|
+
# @return [String]
|
1092
|
+
attr_accessor :threat_vector
|
1093
|
+
|
1094
|
+
def initialize(**args)
|
1095
|
+
update!(**args)
|
1096
|
+
end
|
1097
|
+
|
1098
|
+
# Update properties of this object
|
1099
|
+
def update!(**args)
|
1100
|
+
@adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
|
1101
|
+
@attack = args[:attack] if args.key?(:attack)
|
1102
|
+
@duration = args[:duration] if args.key?(:duration)
|
1103
|
+
@requests = args[:requests] if args.key?(:requests)
|
1104
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
1105
|
+
@threat_vector = args[:threat_vector] if args.key?(:threat_vector)
|
1106
|
+
end
|
1107
|
+
end
|
1108
|
+
|
886
1109
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
887
1110
|
# with the finding.
|
888
1111
|
class CloudDlpDataProfile
|
@@ -1035,6 +1258,11 @@ module Google
|
|
1035
1258
|
# @return [String]
|
1036
1259
|
attr_accessor :category
|
1037
1260
|
|
1261
|
+
# The cloud provider for the compliance snapshot.
|
1262
|
+
# Corresponds to the JSON property `cloudProvider`
|
1263
|
+
# @return [String]
|
1264
|
+
attr_accessor :cloud_provider
|
1265
|
+
|
1038
1266
|
# The compliance standard (ie CIS).
|
1039
1267
|
# Corresponds to the JSON property `complianceStandard`
|
1040
1268
|
# @return [String]
|
@@ -1060,12 +1288,6 @@ module Google
|
|
1060
1288
|
# @return [String]
|
1061
1289
|
attr_accessor :name
|
1062
1290
|
|
1063
|
-
# The CRM resource display name that is closest to the snapshot the Findings
|
1064
|
-
# belong to.
|
1065
|
-
# Corresponds to the JSON property `projectDisplayName`
|
1066
|
-
# @return [String]
|
1067
|
-
attr_accessor :project_display_name
|
1068
|
-
|
1069
1291
|
# The snapshot time of the snapshot.
|
1070
1292
|
# Corresponds to the JSON property `snapshotTime`
|
1071
1293
|
# @return [String]
|
@@ -1078,12 +1300,12 @@ module Google
|
|
1078
1300
|
# Update properties of this object
|
1079
1301
|
def update!(**args)
|
1080
1302
|
@category = args[:category] if args.key?(:category)
|
1303
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
1081
1304
|
@compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
|
1082
1305
|
@compliance_version = args[:compliance_version] if args.key?(:compliance_version)
|
1083
1306
|
@count = args[:count] if args.key?(:count)
|
1084
1307
|
@leaf_container_resource = args[:leaf_container_resource] if args.key?(:leaf_container_resource)
|
1085
1308
|
@name = args[:name] if args.key?(:name)
|
1086
|
-
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
1087
1309
|
@snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
|
1088
1310
|
end
|
1089
1311
|
end
|
@@ -1964,6 +2186,11 @@ module Google
|
|
1964
2186
|
# @return [String]
|
1965
2187
|
attr_accessor :category
|
1966
2188
|
|
2189
|
+
# Fields related to Google Cloud Armor findings.
|
2190
|
+
# Corresponds to the JSON property `cloudArmor`
|
2191
|
+
# @return [Google::Apis::SecuritycenterV1::CloudArmor]
|
2192
|
+
attr_accessor :cloud_armor
|
2193
|
+
|
1967
2194
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
1968
2195
|
# with the finding.
|
1969
2196
|
# Corresponds to the JSON property `cloudDlpDataProfile`
|
@@ -2145,6 +2372,13 @@ module Google
|
|
2145
2372
|
# @return [String]
|
2146
2373
|
attr_accessor :next_steps
|
2147
2374
|
|
2375
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
2376
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
2377
|
+
# with a finding.
|
2378
|
+
# Corresponds to the JSON property `notebook`
|
2379
|
+
# @return [Google::Apis::SecuritycenterV1::Notebook]
|
2380
|
+
attr_accessor :notebook
|
2381
|
+
|
2148
2382
|
# Contains information about the org policies associated with the finding.
|
2149
2383
|
# Corresponds to the JSON property `orgPolicies`
|
2150
2384
|
# @return [Array<Google::Apis::SecuritycenterV1::OrgPolicy>]
|
@@ -2230,6 +2464,7 @@ module Google
|
|
2230
2464
|
@backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
|
2231
2465
|
@canonical_name = args[:canonical_name] if args.key?(:canonical_name)
|
2232
2466
|
@category = args[:category] if args.key?(:category)
|
2467
|
+
@cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
|
2233
2468
|
@cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
|
2234
2469
|
@cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
|
2235
2470
|
@compliances = args[:compliances] if args.key?(:compliances)
|
@@ -2258,6 +2493,7 @@ module Google
|
|
2258
2493
|
@mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
|
2259
2494
|
@name = args[:name] if args.key?(:name)
|
2260
2495
|
@next_steps = args[:next_steps] if args.key?(:next_steps)
|
2496
|
+
@notebook = args[:notebook] if args.key?(:notebook)
|
2261
2497
|
@org_policies = args[:org_policies] if args.key?(:org_policies)
|
2262
2498
|
@parent = args[:parent] if args.key?(:parent)
|
2263
2499
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
@@ -2298,6 +2534,58 @@ module Google
|
|
2298
2534
|
end
|
2299
2535
|
end
|
2300
2536
|
|
2537
|
+
# GCP metadata associated with the resource, only applicable if the finding's
|
2538
|
+
# cloud provider is Google Cloud Platform.
|
2539
|
+
class GcpMetadata
|
2540
|
+
include Google::Apis::Core::Hashable
|
2541
|
+
|
2542
|
+
# Output only. Contains a Folder message for each folder in the assets ancestry.
|
2543
|
+
# The first folder is the deepest nested folder, and the last folder is the
|
2544
|
+
# folder directly under the Organization.
|
2545
|
+
# Corresponds to the JSON property `folders`
|
2546
|
+
# @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Folder>]
|
2547
|
+
attr_accessor :folders
|
2548
|
+
|
2549
|
+
# The name of the organization that the resource belongs to.
|
2550
|
+
# Corresponds to the JSON property `organization`
|
2551
|
+
# @return [String]
|
2552
|
+
attr_accessor :organization
|
2553
|
+
|
2554
|
+
# The full resource name of resource's parent.
|
2555
|
+
# Corresponds to the JSON property `parent`
|
2556
|
+
# @return [String]
|
2557
|
+
attr_accessor :parent
|
2558
|
+
|
2559
|
+
# The human readable name of resource's parent.
|
2560
|
+
# Corresponds to the JSON property `parentDisplayName`
|
2561
|
+
# @return [String]
|
2562
|
+
attr_accessor :parent_display_name
|
2563
|
+
|
2564
|
+
# The full resource name of project that the resource belongs to.
|
2565
|
+
# Corresponds to the JSON property `project`
|
2566
|
+
# @return [String]
|
2567
|
+
attr_accessor :project
|
2568
|
+
|
2569
|
+
# The project ID that the resource belongs to.
|
2570
|
+
# Corresponds to the JSON property `projectDisplayName`
|
2571
|
+
# @return [String]
|
2572
|
+
attr_accessor :project_display_name
|
2573
|
+
|
2574
|
+
def initialize(**args)
|
2575
|
+
update!(**args)
|
2576
|
+
end
|
2577
|
+
|
2578
|
+
# Update properties of this object
|
2579
|
+
def update!(**args)
|
2580
|
+
@folders = args[:folders] if args.key?(:folders)
|
2581
|
+
@organization = args[:organization] if args.key?(:organization)
|
2582
|
+
@parent = args[:parent] if args.key?(:parent)
|
2583
|
+
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
2584
|
+
@project = args[:project] if args.key?(:project)
|
2585
|
+
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
2586
|
+
end
|
2587
|
+
end
|
2588
|
+
|
2301
2589
|
# Represents a geographical location for a given access.
|
2302
2590
|
class Geolocation
|
2303
2591
|
include Google::Apis::Core::Hashable
|
@@ -2657,6 +2945,16 @@ module Google
|
|
2657
2945
|
# @return [Array<String>]
|
2658
2946
|
attr_accessor :assignees
|
2659
2947
|
|
2948
|
+
# The time when the case was closed, as reported by the external system.
|
2949
|
+
# Corresponds to the JSON property `caseCloseTime`
|
2950
|
+
# @return [String]
|
2951
|
+
attr_accessor :case_close_time
|
2952
|
+
|
2953
|
+
# The time when the case was created, as reported by the external system.
|
2954
|
+
# Corresponds to the JSON property `caseCreateTime`
|
2955
|
+
# @return [String]
|
2956
|
+
attr_accessor :case_create_time
|
2957
|
+
|
2660
2958
|
# The priority of the finding's corresponding case in the external system.
|
2661
2959
|
# Corresponds to the JSON property `casePriority`
|
2662
2960
|
# @return [String]
|
@@ -2710,6 +3008,8 @@ module Google
|
|
2710
3008
|
# Update properties of this object
|
2711
3009
|
def update!(**args)
|
2712
3010
|
@assignees = args[:assignees] if args.key?(:assignees)
|
3011
|
+
@case_close_time = args[:case_close_time] if args.key?(:case_close_time)
|
3012
|
+
@case_create_time = args[:case_create_time] if args.key?(:case_create_time)
|
2713
3013
|
@case_priority = args[:case_priority] if args.key?(:case_priority)
|
2714
3014
|
@case_sla = args[:case_sla] if args.key?(:case_sla)
|
2715
3015
|
@case_uri = args[:case_uri] if args.key?(:case_uri)
|
@@ -2874,6 +3174,17 @@ module Google
|
|
2874
3174
|
class GoogleCloudSecuritycenterV1Resource
|
2875
3175
|
include Google::Apis::Core::Hashable
|
2876
3176
|
|
3177
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
3178
|
+
# cloud provider is Amazon Web Services.
|
3179
|
+
# Corresponds to the JSON property `awsMetadata`
|
3180
|
+
# @return [Google::Apis::SecuritycenterV1::AwsMetadata]
|
3181
|
+
attr_accessor :aws_metadata
|
3182
|
+
|
3183
|
+
# Indicates which cloud provider the resource resides in.
|
3184
|
+
# Corresponds to the JSON property `cloudProvider`
|
3185
|
+
# @return [String]
|
3186
|
+
attr_accessor :cloud_provider
|
3187
|
+
|
2877
3188
|
# The human readable name of the resource.
|
2878
3189
|
# Corresponds to the JSON property `displayName`
|
2879
3190
|
# @return [String]
|
@@ -2886,12 +3197,23 @@ module Google
|
|
2886
3197
|
# @return [Array<Google::Apis::SecuritycenterV1::Folder>]
|
2887
3198
|
attr_accessor :folders
|
2888
3199
|
|
3200
|
+
# The region or location of the service (if applicable).
|
3201
|
+
# Corresponds to the JSON property `location`
|
3202
|
+
# @return [String]
|
3203
|
+
attr_accessor :location
|
3204
|
+
|
2889
3205
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
2890
3206
|
# design/resource_names#full_resource_name
|
2891
3207
|
# Corresponds to the JSON property `name`
|
2892
3208
|
# @return [String]
|
2893
3209
|
attr_accessor :name
|
2894
3210
|
|
3211
|
+
# Indicates which organization or tenant in the cloud provider the finding
|
3212
|
+
# applies to.
|
3213
|
+
# Corresponds to the JSON property `organization`
|
3214
|
+
# @return [String]
|
3215
|
+
attr_accessor :organization
|
3216
|
+
|
2895
3217
|
# The full resource name of resource's parent.
|
2896
3218
|
# Corresponds to the JSON property `parent`
|
2897
3219
|
# @return [String]
|
@@ -2912,6 +3234,30 @@ module Google
|
|
2912
3234
|
# @return [String]
|
2913
3235
|
attr_accessor :project_display_name
|
2914
3236
|
|
3237
|
+
# Represents the path of resources leading up to the resource this finding is
|
3238
|
+
# about.
|
3239
|
+
# Corresponds to the JSON property `resourcePath`
|
3240
|
+
# @return [Google::Apis::SecuritycenterV1::ResourcePath]
|
3241
|
+
attr_accessor :resource_path
|
3242
|
+
|
3243
|
+
# A string representation of the resource path. For GCP, it has the format of:
|
3244
|
+
# organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
|
3245
|
+
# projects/`project_id` where there can be any number of folders. For AWS, it
|
3246
|
+
# has the format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
|
3247
|
+
# organizational_unit_id`/account/`account_id` where there can be any number of
|
3248
|
+
# organizational units. For Azure, it has the format of: mg/`management_group_id`
|
3249
|
+
# /mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
3250
|
+
# resource_group_name` where there can be any number of management groups.
|
3251
|
+
# Corresponds to the JSON property `resourcePathString`
|
3252
|
+
# @return [String]
|
3253
|
+
attr_accessor :resource_path_string
|
3254
|
+
|
3255
|
+
# The parent service or product from which the resource is provided, for example,
|
3256
|
+
# GKE or SNS.
|
3257
|
+
# Corresponds to the JSON property `service`
|
3258
|
+
# @return [String]
|
3259
|
+
attr_accessor :service
|
3260
|
+
|
2915
3261
|
# The full resource type of the resource.
|
2916
3262
|
# Corresponds to the JSON property `type`
|
2917
3263
|
# @return [String]
|
@@ -2923,13 +3269,20 @@ module Google
|
|
2923
3269
|
|
2924
3270
|
# Update properties of this object
|
2925
3271
|
def update!(**args)
|
3272
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
3273
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
2926
3274
|
@display_name = args[:display_name] if args.key?(:display_name)
|
2927
3275
|
@folders = args[:folders] if args.key?(:folders)
|
3276
|
+
@location = args[:location] if args.key?(:location)
|
2928
3277
|
@name = args[:name] if args.key?(:name)
|
3278
|
+
@organization = args[:organization] if args.key?(:organization)
|
2929
3279
|
@parent = args[:parent] if args.key?(:parent)
|
2930
3280
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
2931
3281
|
@project = args[:project] if args.key?(:project)
|
2932
3282
|
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
3283
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
3284
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
3285
|
+
@service = args[:service] if args.key?(:service)
|
2933
3286
|
@type = args[:type] if args.key?(:type)
|
2934
3287
|
end
|
2935
3288
|
end
|
@@ -2958,6 +3311,11 @@ module Google
|
|
2958
3311
|
class GoogleCloudSecuritycenterV1ResourceValueConfig
|
2959
3312
|
include Google::Apis::Core::Hashable
|
2960
3313
|
|
3314
|
+
# Cloud provider this configuration applies to
|
3315
|
+
# Corresponds to the JSON property `cloudProvider`
|
3316
|
+
# @return [String]
|
3317
|
+
attr_accessor :cloud_provider
|
3318
|
+
|
2961
3319
|
# Output only. Timestamp this resource value config was created.
|
2962
3320
|
# Corresponds to the JSON property `createTime`
|
2963
3321
|
# @return [String]
|
@@ -3026,6 +3384,7 @@ module Google
|
|
3026
3384
|
|
3027
3385
|
# Update properties of this object
|
3028
3386
|
def update!(**args)
|
3387
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
3029
3388
|
@create_time = args[:create_time] if args.key?(:create_time)
|
3030
3389
|
@description = args[:description] if args.key?(:description)
|
3031
3390
|
@name = args[:name] if args.key?(:name)
|
@@ -3655,20 +4014,43 @@ module Google
|
|
3655
4014
|
end
|
3656
4015
|
end
|
3657
4016
|
|
4017
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
4018
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
4019
|
+
# protection).
|
4020
|
+
class GoogleCloudSecuritycenterV2AdaptiveProtection
|
4021
|
+
include Google::Apis::Core::Hashable
|
4022
|
+
|
4023
|
+
# A score of 0 means that there is low confidence that the detected event is an
|
4024
|
+
# actual attack. A score of 1 means that there is high confidence that the
|
4025
|
+
# detected event is an attack. See the [Adaptive Protection documentation](https:
|
4026
|
+
# //cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-
|
4027
|
+
# tuning) for further explanation.
|
4028
|
+
# Corresponds to the JSON property `confidence`
|
4029
|
+
# @return [Float]
|
4030
|
+
attr_accessor :confidence
|
4031
|
+
|
4032
|
+
def initialize(**args)
|
4033
|
+
update!(**args)
|
4034
|
+
end
|
4035
|
+
|
4036
|
+
# Update properties of this object
|
4037
|
+
def update!(**args)
|
4038
|
+
@confidence = args[:confidence] if args.key?(:confidence)
|
4039
|
+
end
|
4040
|
+
end
|
4041
|
+
|
3658
4042
|
# Represents an application associated with a finding.
|
3659
4043
|
class GoogleCloudSecuritycenterV2Application
|
3660
4044
|
include Google::Apis::Core::Hashable
|
3661
4045
|
|
3662
4046
|
# The base URI that identifies the network location of the application in which
|
3663
|
-
# the vulnerability was detected.
|
3664
|
-
# http://11.22.33.44:8080
|
4047
|
+
# the vulnerability was detected. For example, `http://example.com`.
|
3665
4048
|
# Corresponds to the JSON property `baseUri`
|
3666
4049
|
# @return [String]
|
3667
4050
|
attr_accessor :base_uri
|
3668
4051
|
|
3669
4052
|
# The full URI with payload that could be used to reproduce the vulnerability.
|
3670
|
-
#
|
3671
|
-
# aMmYgI6H
|
4053
|
+
# For example, `http://example.com?p=aMmYgI6H`.
|
3672
4054
|
# Corresponds to the JSON property `fullUri`
|
3673
4055
|
# @return [String]
|
3674
4056
|
attr_accessor :full_uri
|
@@ -3684,6 +4066,37 @@ module Google
|
|
3684
4066
|
end
|
3685
4067
|
end
|
3686
4068
|
|
4069
|
+
# Information about DDoS attack volume and classification.
|
4070
|
+
class GoogleCloudSecuritycenterV2Attack
|
4071
|
+
include Google::Apis::Core::Hashable
|
4072
|
+
|
4073
|
+
# Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.
|
4074
|
+
# Corresponds to the JSON property `classification`
|
4075
|
+
# @return [String]
|
4076
|
+
attr_accessor :classification
|
4077
|
+
|
4078
|
+
# Total BPS (bytes per second) volume of attack.
|
4079
|
+
# Corresponds to the JSON property `volumeBps`
|
4080
|
+
# @return [Fixnum]
|
4081
|
+
attr_accessor :volume_bps
|
4082
|
+
|
4083
|
+
# Total PPS (packets per second) volume of attack.
|
4084
|
+
# Corresponds to the JSON property `volumePps`
|
4085
|
+
# @return [Fixnum]
|
4086
|
+
attr_accessor :volume_pps
|
4087
|
+
|
4088
|
+
def initialize(**args)
|
4089
|
+
update!(**args)
|
4090
|
+
end
|
4091
|
+
|
4092
|
+
# Update properties of this object
|
4093
|
+
def update!(**args)
|
4094
|
+
@classification = args[:classification] if args.key?(:classification)
|
4095
|
+
@volume_bps = args[:volume_bps] if args.key?(:volume_bps)
|
4096
|
+
@volume_pps = args[:volume_pps] if args.key?(:volume_pps)
|
4097
|
+
end
|
4098
|
+
end
|
4099
|
+
|
3687
4100
|
# An attack exposure contains the results of an attack path simulation run.
|
3688
4101
|
class GoogleCloudSecuritycenterV2AttackExposure
|
3689
4102
|
include Google::Apis::Core::Hashable
|
@@ -3747,19 +4160,133 @@ module Google
|
|
3747
4160
|
end
|
3748
4161
|
end
|
3749
4162
|
|
4163
|
+
# An AWS account that is a member of an organization.
|
4164
|
+
class GoogleCloudSecuritycenterV2AwsAccount
|
4165
|
+
include Google::Apis::Core::Hashable
|
4166
|
+
|
4167
|
+
# The unique identifier (ID) of the account, containing exactly 12 digits.
|
4168
|
+
# Corresponds to the JSON property `id`
|
4169
|
+
# @return [String]
|
4170
|
+
attr_accessor :id
|
4171
|
+
|
4172
|
+
# The friendly name of this account.
|
4173
|
+
# Corresponds to the JSON property `name`
|
4174
|
+
# @return [String]
|
4175
|
+
attr_accessor :name
|
4176
|
+
|
4177
|
+
def initialize(**args)
|
4178
|
+
update!(**args)
|
4179
|
+
end
|
4180
|
+
|
4181
|
+
# Update properties of this object
|
4182
|
+
def update!(**args)
|
4183
|
+
@id = args[:id] if args.key?(:id)
|
4184
|
+
@name = args[:name] if args.key?(:name)
|
4185
|
+
end
|
4186
|
+
end
|
4187
|
+
|
4188
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
4189
|
+
# cloud provider is Amazon Web Services.
|
4190
|
+
class GoogleCloudSecuritycenterV2AwsMetadata
|
4191
|
+
include Google::Apis::Core::Hashable
|
4192
|
+
|
4193
|
+
# An AWS account that is a member of an organization.
|
4194
|
+
# Corresponds to the JSON property `account`
|
4195
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AwsAccount]
|
4196
|
+
attr_accessor :account
|
4197
|
+
|
4198
|
+
# An organization is a collection of accounts that are centrally managed
|
4199
|
+
# together using consolidated billing, organized hierarchically with
|
4200
|
+
# organizational units (OUs), and controlled with policies.
|
4201
|
+
# Corresponds to the JSON property `organization`
|
4202
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AwsOrganization]
|
4203
|
+
attr_accessor :organization
|
4204
|
+
|
4205
|
+
# A list of AWS organizational units associated with the resource, ordered from
|
4206
|
+
# lowest level (closest to the account) to highest level.
|
4207
|
+
# Corresponds to the JSON property `organizationalUnits`
|
4208
|
+
# @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AwsOrganizationalUnit>]
|
4209
|
+
attr_accessor :organizational_units
|
4210
|
+
|
4211
|
+
def initialize(**args)
|
4212
|
+
update!(**args)
|
4213
|
+
end
|
4214
|
+
|
4215
|
+
# Update properties of this object
|
4216
|
+
def update!(**args)
|
4217
|
+
@account = args[:account] if args.key?(:account)
|
4218
|
+
@organization = args[:organization] if args.key?(:organization)
|
4219
|
+
@organizational_units = args[:organizational_units] if args.key?(:organizational_units)
|
4220
|
+
end
|
4221
|
+
end
|
4222
|
+
|
4223
|
+
# An organization is a collection of accounts that are centrally managed
|
4224
|
+
# together using consolidated billing, organized hierarchically with
|
4225
|
+
# organizational units (OUs), and controlled with policies.
|
4226
|
+
class GoogleCloudSecuritycenterV2AwsOrganization
|
4227
|
+
include Google::Apis::Core::Hashable
|
4228
|
+
|
4229
|
+
# The unique identifier (ID) for the organization. The regex pattern for an
|
4230
|
+
# organization ID string requires "o-" followed by from 10 to 32 lowercase
|
4231
|
+
# letters or digits.
|
4232
|
+
# Corresponds to the JSON property `id`
|
4233
|
+
# @return [String]
|
4234
|
+
attr_accessor :id
|
4235
|
+
|
4236
|
+
def initialize(**args)
|
4237
|
+
update!(**args)
|
4238
|
+
end
|
4239
|
+
|
4240
|
+
# Update properties of this object
|
4241
|
+
def update!(**args)
|
4242
|
+
@id = args[:id] if args.key?(:id)
|
4243
|
+
end
|
4244
|
+
end
|
4245
|
+
|
4246
|
+
# An Organizational Unit (OU) is a container of AWS accounts within a root of an
|
4247
|
+
# organization. Policies that are attached to an OU apply to all accounts
|
4248
|
+
# contained in that OU and in any child OUs.
|
4249
|
+
class GoogleCloudSecuritycenterV2AwsOrganizationalUnit
|
4250
|
+
include Google::Apis::Core::Hashable
|
4251
|
+
|
4252
|
+
# The unique identifier (ID) associated with this OU. The regex pattern for an
|
4253
|
+
# organizational unit ID string requires "ou-" followed by from 4 to 32
|
4254
|
+
# lowercase letters or digits (the ID of the root that contains the OU). This
|
4255
|
+
# string is followed by a second "-" dash and from 8 to 32 additional lowercase
|
4256
|
+
# letters or digits. For example, "ou-ab12-cd34ef56".
|
4257
|
+
# Corresponds to the JSON property `id`
|
4258
|
+
# @return [String]
|
4259
|
+
attr_accessor :id
|
4260
|
+
|
4261
|
+
# The friendly name of the OU.
|
4262
|
+
# Corresponds to the JSON property `name`
|
4263
|
+
# @return [String]
|
4264
|
+
attr_accessor :name
|
4265
|
+
|
4266
|
+
def initialize(**args)
|
4267
|
+
update!(**args)
|
4268
|
+
end
|
4269
|
+
|
4270
|
+
# Update properties of this object
|
4271
|
+
def update!(**args)
|
4272
|
+
@id = args[:id] if args.key?(:id)
|
4273
|
+
@name = args[:name] if args.key?(:name)
|
4274
|
+
end
|
4275
|
+
end
|
4276
|
+
|
3750
4277
|
# Information related to Google Cloud Backup and DR Service findings.
|
3751
4278
|
class GoogleCloudSecuritycenterV2BackupDisasterRecovery
|
3752
4279
|
include Google::Apis::Core::Hashable
|
3753
4280
|
|
3754
4281
|
# The name of the Backup and DR appliance that captures, moves, and manages the
|
3755
|
-
# lifecycle of backup data. For example,
|
4282
|
+
# lifecycle of backup data. For example, `backup-server-57137`.
|
3756
4283
|
# Corresponds to the JSON property `appliance`
|
3757
4284
|
# @return [String]
|
3758
4285
|
attr_accessor :appliance
|
3759
4286
|
|
3760
4287
|
# The names of Backup and DR applications. An application is a VM, database, or
|
3761
4288
|
# file system on a managed host monitored by a backup and recovery appliance.
|
3762
|
-
# For example,
|
4289
|
+
# For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
|
3763
4290
|
# Corresponds to the JSON property `applications`
|
3764
4291
|
# @return [Array<String>]
|
3765
4292
|
attr_accessor :applications
|
@@ -3772,13 +4299,13 @@ module Google
|
|
3772
4299
|
# The name of a Backup and DR template which comprises one or more backup
|
3773
4300
|
# policies. See the [Backup and DR documentation](https://cloud.google.com/
|
3774
4301
|
# backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
|
3775
|
-
# For example,
|
4302
|
+
# For example, `snap-ov`.
|
3776
4303
|
# Corresponds to the JSON property `backupTemplate`
|
3777
4304
|
# @return [String]
|
3778
4305
|
attr_accessor :backup_template
|
3779
4306
|
|
3780
|
-
# The backup type of the Backup and DR image. For example,
|
3781
|
-
# Snapshot
|
4307
|
+
# The backup type of the Backup and DR image. For example, `Snapshot`, `Remote
|
4308
|
+
# Snapshot`, `OnVault`.
|
3782
4309
|
# Corresponds to the JSON property `backupType`
|
3783
4310
|
# @return [String]
|
3784
4311
|
attr_accessor :backup_type
|
@@ -3788,14 +4315,14 @@ module Google
|
|
3788
4315
|
# (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.),
|
3789
4316
|
# vCenter, or an ESX server. See the [Backup and DR documentation on hosts](
|
3790
4317
|
# https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-
|
3791
|
-
# hosts-and-their-applications) for more information. For example,
|
4318
|
+
# hosts-and-their-applications) for more information. For example, `centos7-01`.
|
3792
4319
|
# Corresponds to the JSON property `host`
|
3793
4320
|
# @return [String]
|
3794
4321
|
attr_accessor :host
|
3795
4322
|
|
3796
4323
|
# The names of Backup and DR policies that are associated with a template and
|
3797
4324
|
# that define when to run a backup, how frequently to run a backup, and how long
|
3798
|
-
# to retain the backup image. For example,
|
4325
|
+
# to retain the backup image. For example, `onvaults`.
|
3799
4326
|
# Corresponds to the JSON property `policies`
|
3800
4327
|
# @return [Array<String>]
|
3801
4328
|
attr_accessor :policies
|
@@ -3803,7 +4330,7 @@ module Google
|
|
3803
4330
|
# The names of Backup and DR advanced policy options of a policy applying to an
|
3804
4331
|
# application. See the [Backup and DR documentation on policy options](https://
|
3805
4332
|
# cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings).
|
3806
|
-
# For example,
|
4333
|
+
# For example, `skipofflineappsincongrp, nounmap`.
|
3807
4334
|
# Corresponds to the JSON property `policyOptions`
|
3808
4335
|
# @return [Array<String>]
|
3809
4336
|
attr_accessor :policy_options
|
@@ -3811,7 +4338,7 @@ module Google
|
|
3811
4338
|
# The name of the Backup and DR resource profile that specifies the storage
|
3812
4339
|
# media for backups of application and VM data. See the [Backup and DR
|
3813
4340
|
# documentation on profiles](https://cloud.google.com/backup-disaster-recovery/
|
3814
|
-
# docs/concepts/backup-plan#profile). For example,
|
4341
|
+
# docs/concepts/backup-plan#profile). For example, `GCP`.
|
3815
4342
|
# Corresponds to the JSON property `profile`
|
3816
4343
|
# @return [String]
|
3817
4344
|
attr_accessor :profile
|
@@ -3820,7 +4347,7 @@ module Google
|
|
3820
4347
|
# appliance is storing data in. The storage pool could be of type Cloud, Primary,
|
3821
4348
|
# Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](
|
3822
4349
|
# https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools).
|
3823
|
-
# For example,
|
4350
|
+
# For example, `DiskPoolOne`.
|
3824
4351
|
# Corresponds to the JSON property `storagePool`
|
3825
4352
|
# @return [String]
|
3826
4353
|
attr_accessor :storage_pool
|
@@ -3979,6 +4506,61 @@ module Google
|
|
3979
4506
|
end
|
3980
4507
|
end
|
3981
4508
|
|
4509
|
+
# Fields related to Google Cloud Armor findings.
|
4510
|
+
class GoogleCloudSecuritycenterV2CloudArmor
|
4511
|
+
include Google::Apis::Core::Hashable
|
4512
|
+
|
4513
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
4514
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
4515
|
+
# protection).
|
4516
|
+
# Corresponds to the JSON property `adaptiveProtection`
|
4517
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AdaptiveProtection]
|
4518
|
+
attr_accessor :adaptive_protection
|
4519
|
+
|
4520
|
+
# Information about DDoS attack volume and classification.
|
4521
|
+
# Corresponds to the JSON property `attack`
|
4522
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Attack]
|
4523
|
+
attr_accessor :attack
|
4524
|
+
|
4525
|
+
# Duration of attack from the start until the current moment (updated every 5
|
4526
|
+
# minutes).
|
4527
|
+
# Corresponds to the JSON property `duration`
|
4528
|
+
# @return [String]
|
4529
|
+
attr_accessor :duration
|
4530
|
+
|
4531
|
+
# Information about the requests relevant to the finding.
|
4532
|
+
# Corresponds to the JSON property `requests`
|
4533
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Requests]
|
4534
|
+
attr_accessor :requests
|
4535
|
+
|
4536
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
4537
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
4538
|
+
# Corresponds to the JSON property `securityPolicy`
|
4539
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2SecurityPolicy]
|
4540
|
+
attr_accessor :security_policy
|
4541
|
+
|
4542
|
+
# Distinguish between volumetric & protocol DDoS attack and application layer
|
4543
|
+
# attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7”
|
4544
|
+
# for Layer 7 DDoS attacks.
|
4545
|
+
# Corresponds to the JSON property `threatVector`
|
4546
|
+
# @return [String]
|
4547
|
+
attr_accessor :threat_vector
|
4548
|
+
|
4549
|
+
def initialize(**args)
|
4550
|
+
update!(**args)
|
4551
|
+
end
|
4552
|
+
|
4553
|
+
# Update properties of this object
|
4554
|
+
def update!(**args)
|
4555
|
+
@adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
|
4556
|
+
@attack = args[:attack] if args.key?(:attack)
|
4557
|
+
@duration = args[:duration] if args.key?(:duration)
|
4558
|
+
@requests = args[:requests] if args.key?(:requests)
|
4559
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
4560
|
+
@threat_vector = args[:threat_vector] if args.key?(:threat_vector)
|
4561
|
+
end
|
4562
|
+
end
|
4563
|
+
|
3982
4564
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
3983
4565
|
# with the finding.
|
3984
4566
|
class GoogleCloudSecuritycenterV2CloudDlpDataProfile
|
@@ -4609,6 +5191,16 @@ module Google
|
|
4609
5191
|
# @return [Array<String>]
|
4610
5192
|
attr_accessor :assignees
|
4611
5193
|
|
5194
|
+
# The time when the case was closed, as reported by the external system.
|
5195
|
+
# Corresponds to the JSON property `caseCloseTime`
|
5196
|
+
# @return [String]
|
5197
|
+
attr_accessor :case_close_time
|
5198
|
+
|
5199
|
+
# The time when the case was created, as reported by the external system.
|
5200
|
+
# Corresponds to the JSON property `caseCreateTime`
|
5201
|
+
# @return [String]
|
5202
|
+
attr_accessor :case_create_time
|
5203
|
+
|
4612
5204
|
# The priority of the finding's corresponding case in the external system.
|
4613
5205
|
# Corresponds to the JSON property `casePriority`
|
4614
5206
|
# @return [String]
|
@@ -4666,6 +5258,8 @@ module Google
|
|
4666
5258
|
# Update properties of this object
|
4667
5259
|
def update!(**args)
|
4668
5260
|
@assignees = args[:assignees] if args.key?(:assignees)
|
5261
|
+
@case_close_time = args[:case_close_time] if args.key?(:case_close_time)
|
5262
|
+
@case_create_time = args[:case_create_time] if args.key?(:case_create_time)
|
4669
5263
|
@case_priority = args[:case_priority] if args.key?(:case_priority)
|
4670
5264
|
@case_sla = args[:case_sla] if args.key?(:case_sla)
|
4671
5265
|
@case_uri = args[:case_uri] if args.key?(:case_uri)
|
@@ -4783,6 +5377,11 @@ module Google
|
|
4783
5377
|
# @return [String]
|
4784
5378
|
attr_accessor :category
|
4785
5379
|
|
5380
|
+
# Fields related to Google Cloud Armor findings.
|
5381
|
+
# Corresponds to the JSON property `cloudArmor`
|
5382
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2CloudArmor]
|
5383
|
+
attr_accessor :cloud_armor
|
5384
|
+
|
4786
5385
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
4787
5386
|
# with the finding.
|
4788
5387
|
# Corresponds to the JSON property `cloudDlpDataProfile`
|
@@ -4969,6 +5568,13 @@ module Google
|
|
4969
5568
|
# @return [String]
|
4970
5569
|
attr_accessor :next_steps
|
4971
5570
|
|
5571
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
5572
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
5573
|
+
# with a finding.
|
5574
|
+
# Corresponds to the JSON property `notebook`
|
5575
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Notebook]
|
5576
|
+
attr_accessor :notebook
|
5577
|
+
|
4972
5578
|
# Contains information about the org policies associated with the finding.
|
4973
5579
|
# Corresponds to the JSON property `orgPolicies`
|
4974
5580
|
# @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2OrgPolicy>]
|
@@ -5059,6 +5665,7 @@ module Google
|
|
5059
5665
|
@backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
|
5060
5666
|
@canonical_name = args[:canonical_name] if args.key?(:canonical_name)
|
5061
5667
|
@category = args[:category] if args.key?(:category)
|
5668
|
+
@cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
|
5062
5669
|
@cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
|
5063
5670
|
@cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
|
5064
5671
|
@compliances = args[:compliances] if args.key?(:compliances)
|
@@ -5087,6 +5694,7 @@ module Google
|
|
5087
5694
|
@mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
|
5088
5695
|
@name = args[:name] if args.key?(:name)
|
5089
5696
|
@next_steps = args[:next_steps] if args.key?(:next_steps)
|
5697
|
+
@notebook = args[:notebook] if args.key?(:notebook)
|
5090
5698
|
@org_policies = args[:org_policies] if args.key?(:org_policies)
|
5091
5699
|
@parent = args[:parent] if args.key?(:parent)
|
5092
5700
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
@@ -5101,6 +5709,32 @@ module Google
|
|
5101
5709
|
end
|
5102
5710
|
end
|
5103
5711
|
|
5712
|
+
# Message that contains the resource name and display name of a folder resource.
|
5713
|
+
class GoogleCloudSecuritycenterV2Folder
|
5714
|
+
include Google::Apis::Core::Hashable
|
5715
|
+
|
5716
|
+
# Full resource name of this folder. See: https://cloud.google.com/apis/design/
|
5717
|
+
# resource_names#full_resource_name
|
5718
|
+
# Corresponds to the JSON property `resourceFolder`
|
5719
|
+
# @return [String]
|
5720
|
+
attr_accessor :resource_folder
|
5721
|
+
|
5722
|
+
# The user defined display name for this folder.
|
5723
|
+
# Corresponds to the JSON property `resourceFolderDisplayName`
|
5724
|
+
# @return [String]
|
5725
|
+
attr_accessor :resource_folder_display_name
|
5726
|
+
|
5727
|
+
def initialize(**args)
|
5728
|
+
update!(**args)
|
5729
|
+
end
|
5730
|
+
|
5731
|
+
# Update properties of this object
|
5732
|
+
def update!(**args)
|
5733
|
+
@resource_folder = args[:resource_folder] if args.key?(:resource_folder)
|
5734
|
+
@resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name)
|
5735
|
+
end
|
5736
|
+
end
|
5737
|
+
|
5104
5738
|
# Represents a geographical location for a given access.
|
5105
5739
|
class GoogleCloudSecuritycenterV2Geolocation
|
5106
5740
|
include Google::Apis::Core::Hashable
|
@@ -5607,6 +6241,45 @@ module Google
|
|
5607
6241
|
end
|
5608
6242
|
end
|
5609
6243
|
|
6244
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
6245
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
6246
|
+
# with a finding.
|
6247
|
+
class GoogleCloudSecuritycenterV2Notebook
|
6248
|
+
include Google::Apis::Core::Hashable
|
6249
|
+
|
6250
|
+
# The user ID of the latest author to modify the notebook.
|
6251
|
+
# Corresponds to the JSON property `lastAuthor`
|
6252
|
+
# @return [String]
|
6253
|
+
attr_accessor :last_author
|
6254
|
+
|
6255
|
+
# The name of the notebook.
|
6256
|
+
# Corresponds to the JSON property `name`
|
6257
|
+
# @return [String]
|
6258
|
+
attr_accessor :name
|
6259
|
+
|
6260
|
+
# The most recent time the notebook was updated.
|
6261
|
+
# Corresponds to the JSON property `notebookUpdateTime`
|
6262
|
+
# @return [String]
|
6263
|
+
attr_accessor :notebook_update_time
|
6264
|
+
|
6265
|
+
# The source notebook service, for example, "Colab Enterprise".
|
6266
|
+
# Corresponds to the JSON property `service`
|
6267
|
+
# @return [String]
|
6268
|
+
attr_accessor :service
|
6269
|
+
|
6270
|
+
def initialize(**args)
|
6271
|
+
update!(**args)
|
6272
|
+
end
|
6273
|
+
|
6274
|
+
# Update properties of this object
|
6275
|
+
def update!(**args)
|
6276
|
+
@last_author = args[:last_author] if args.key?(:last_author)
|
6277
|
+
@name = args[:name] if args.key?(:name)
|
6278
|
+
@notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
|
6279
|
+
@service = args[:service] if args.key?(:service)
|
6280
|
+
end
|
6281
|
+
end
|
6282
|
+
|
5610
6283
|
# Cloud SCC's Notification
|
5611
6284
|
class GoogleCloudSecuritycenterV2NotificationMessage
|
5612
6285
|
include Google::Apis::Core::Hashable
|
@@ -5789,13 +6462,13 @@ module Google
|
|
5789
6462
|
include Google::Apis::Core::Hashable
|
5790
6463
|
|
5791
6464
|
# The detected value that violates the deployed posture, for example, `false` or
|
5792
|
-
# `allowed_values=`"projects/22831892
|
6465
|
+
# `allowed_values=`"projects/22831892"``.
|
5793
6466
|
# Corresponds to the JSON property `detectedValue`
|
5794
6467
|
# @return [String]
|
5795
6468
|
attr_accessor :detected_value
|
5796
6469
|
|
5797
6470
|
# The value of this field that was configured in a posture, for example, `true`
|
5798
|
-
# or `allowed_values=`"projects/29831892
|
6471
|
+
# or `allowed_values=`"projects/29831892"``.
|
5799
6472
|
# Corresponds to the JSON property `expectedValue`
|
5800
6473
|
# @return [String]
|
5801
6474
|
attr_accessor :expected_value
|
@@ -5953,21 +6626,105 @@ module Google
|
|
5953
6626
|
end
|
5954
6627
|
end
|
5955
6628
|
|
6629
|
+
# Information about the requests relevant to the finding.
|
6630
|
+
class GoogleCloudSecuritycenterV2Requests
|
6631
|
+
include Google::Apis::Core::Hashable
|
6632
|
+
|
6633
|
+
# Allowed RPS (requests per second) over the long term.
|
6634
|
+
# Corresponds to the JSON property `longTermAllowed`
|
6635
|
+
# @return [Fixnum]
|
6636
|
+
attr_accessor :long_term_allowed
|
6637
|
+
|
6638
|
+
# Denied RPS (requests per second) over the long term.
|
6639
|
+
# Corresponds to the JSON property `longTermDenied`
|
6640
|
+
# @return [Fixnum]
|
6641
|
+
attr_accessor :long_term_denied
|
6642
|
+
|
6643
|
+
# For 'Increasing deny ratio', the ratio is the denied traffic divided by the
|
6644
|
+
# allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
|
6645
|
+
# in the short term divided by allowed traffic in the long term.
|
6646
|
+
# Corresponds to the JSON property `ratio`
|
6647
|
+
# @return [Float]
|
6648
|
+
attr_accessor :ratio
|
6649
|
+
|
6650
|
+
# Allowed RPS (requests per second) in the short term.
|
6651
|
+
# Corresponds to the JSON property `shortTermAllowed`
|
6652
|
+
# @return [Fixnum]
|
6653
|
+
attr_accessor :short_term_allowed
|
6654
|
+
|
6655
|
+
def initialize(**args)
|
6656
|
+
update!(**args)
|
6657
|
+
end
|
6658
|
+
|
6659
|
+
# Update properties of this object
|
6660
|
+
def update!(**args)
|
6661
|
+
@long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
|
6662
|
+
@long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
|
6663
|
+
@ratio = args[:ratio] if args.key?(:ratio)
|
6664
|
+
@short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
|
6665
|
+
end
|
6666
|
+
end
|
6667
|
+
|
5956
6668
|
# Information related to the Google Cloud resource.
|
5957
6669
|
class GoogleCloudSecuritycenterV2Resource
|
5958
6670
|
include Google::Apis::Core::Hashable
|
5959
6671
|
|
6672
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
6673
|
+
# cloud provider is Amazon Web Services.
|
6674
|
+
# Corresponds to the JSON property `awsMetadata`
|
6675
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AwsMetadata]
|
6676
|
+
attr_accessor :aws_metadata
|
6677
|
+
|
6678
|
+
# Indicates which cloud provider the finding is from.
|
6679
|
+
# Corresponds to the JSON property `cloudProvider`
|
6680
|
+
# @return [String]
|
6681
|
+
attr_accessor :cloud_provider
|
6682
|
+
|
5960
6683
|
# The human readable name of the resource.
|
5961
6684
|
# Corresponds to the JSON property `displayName`
|
5962
6685
|
# @return [String]
|
5963
6686
|
attr_accessor :display_name
|
5964
6687
|
|
6688
|
+
# GCP metadata associated with the resource, only applicable if the finding's
|
6689
|
+
# cloud provider is Google Cloud Platform.
|
6690
|
+
# Corresponds to the JSON property `gcpMetadata`
|
6691
|
+
# @return [Google::Apis::SecuritycenterV1::GcpMetadata]
|
6692
|
+
attr_accessor :gcp_metadata
|
6693
|
+
|
6694
|
+
# The region or location of the service (if applicable).
|
6695
|
+
# Corresponds to the JSON property `location`
|
6696
|
+
# @return [String]
|
6697
|
+
attr_accessor :location
|
6698
|
+
|
5965
6699
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
5966
6700
|
# design/resource_names#full_resource_name
|
5967
6701
|
# Corresponds to the JSON property `name`
|
5968
6702
|
# @return [String]
|
5969
6703
|
attr_accessor :name
|
5970
6704
|
|
6705
|
+
# Represents the path of resources leading up to the resource this finding is
|
6706
|
+
# about.
|
6707
|
+
# Corresponds to the JSON property `resourcePath`
|
6708
|
+
# @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ResourcePath]
|
6709
|
+
attr_accessor :resource_path
|
6710
|
+
|
6711
|
+
# A string representation of the resource path. For GCP, it has the format of:
|
6712
|
+
# organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
|
6713
|
+
# projects/`project_id` where there can be any number of folders. For AWS, it
|
6714
|
+
# has the format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
|
6715
|
+
# organizational_unit_id`/account/`account_id` where there can be any number of
|
6716
|
+
# organizational units. For Azure, it has the format of: mg/`management_group_id`
|
6717
|
+
# /mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
6718
|
+
# resource_group_name` where there can be any number of management groups.
|
6719
|
+
# Corresponds to the JSON property `resourcePathString`
|
6720
|
+
# @return [String]
|
6721
|
+
attr_accessor :resource_path_string
|
6722
|
+
|
6723
|
+
# The service or resource provider associated with the resource.
|
6724
|
+
# Corresponds to the JSON property `service`
|
6725
|
+
# @return [String]
|
6726
|
+
attr_accessor :service
|
6727
|
+
|
5971
6728
|
# The full resource type of the resource.
|
5972
6729
|
# Corresponds to the JSON property `type`
|
5973
6730
|
# @return [String]
|
@@ -5979,17 +6736,82 @@ module Google
|
|
5979
6736
|
|
5980
6737
|
# Update properties of this object
|
5981
6738
|
def update!(**args)
|
6739
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
6740
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
5982
6741
|
@display_name = args[:display_name] if args.key?(:display_name)
|
6742
|
+
@gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
|
6743
|
+
@location = args[:location] if args.key?(:location)
|
5983
6744
|
@name = args[:name] if args.key?(:name)
|
6745
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
6746
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
6747
|
+
@service = args[:service] if args.key?(:service)
|
5984
6748
|
@type = args[:type] if args.key?(:type)
|
5985
6749
|
end
|
5986
6750
|
end
|
5987
6751
|
|
6752
|
+
# Represents the path of resources leading up to the resource this finding is
|
6753
|
+
# about.
|
6754
|
+
class GoogleCloudSecuritycenterV2ResourcePath
|
6755
|
+
include Google::Apis::Core::Hashable
|
6756
|
+
|
6757
|
+
# The list of nodes that make the up resource path, ordered from lowest level to
|
6758
|
+
# highest level.
|
6759
|
+
# Corresponds to the JSON property `nodes`
|
6760
|
+
# @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ResourcePathNode>]
|
6761
|
+
attr_accessor :nodes
|
6762
|
+
|
6763
|
+
def initialize(**args)
|
6764
|
+
update!(**args)
|
6765
|
+
end
|
6766
|
+
|
6767
|
+
# Update properties of this object
|
6768
|
+
def update!(**args)
|
6769
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
6770
|
+
end
|
6771
|
+
end
|
6772
|
+
|
6773
|
+
# A node within the resource path. Each node represents a resource within the
|
6774
|
+
# resource hierarchy.
|
6775
|
+
class GoogleCloudSecuritycenterV2ResourcePathNode
|
6776
|
+
include Google::Apis::Core::Hashable
|
6777
|
+
|
6778
|
+
# The display name of the resource this node represents.
|
6779
|
+
# Corresponds to the JSON property `displayName`
|
6780
|
+
# @return [String]
|
6781
|
+
attr_accessor :display_name
|
6782
|
+
|
6783
|
+
# The ID of the resource this node represents.
|
6784
|
+
# Corresponds to the JSON property `id`
|
6785
|
+
# @return [String]
|
6786
|
+
attr_accessor :id
|
6787
|
+
|
6788
|
+
# The type of resource this node represents.
|
6789
|
+
# Corresponds to the JSON property `nodeType`
|
6790
|
+
# @return [String]
|
6791
|
+
attr_accessor :node_type
|
6792
|
+
|
6793
|
+
def initialize(**args)
|
6794
|
+
update!(**args)
|
6795
|
+
end
|
6796
|
+
|
6797
|
+
# Update properties of this object
|
6798
|
+
def update!(**args)
|
6799
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
6800
|
+
@id = args[:id] if args.key?(:id)
|
6801
|
+
@node_type = args[:node_type] if args.key?(:node_type)
|
6802
|
+
end
|
6803
|
+
end
|
6804
|
+
|
5988
6805
|
# A resource value config (RVC) is a mapping configuration of user's resources
|
5989
6806
|
# to resource values. Used in Attack path simulations.
|
5990
6807
|
class GoogleCloudSecuritycenterV2ResourceValueConfig
|
5991
6808
|
include Google::Apis::Core::Hashable
|
5992
6809
|
|
6810
|
+
# Cloud provider this configuration applies to
|
6811
|
+
# Corresponds to the JSON property `cloudProvider`
|
6812
|
+
# @return [String]
|
6813
|
+
attr_accessor :cloud_provider
|
6814
|
+
|
5993
6815
|
# Output only. Timestamp this resource value config was created.
|
5994
6816
|
# Corresponds to the JSON property `createTime`
|
5995
6817
|
# @return [String]
|
@@ -6059,6 +6881,7 @@ module Google
|
|
6059
6881
|
|
6060
6882
|
# Update properties of this object
|
6061
6883
|
def update!(**args)
|
6884
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
6062
6885
|
@create_time = args[:create_time] if args.key?(:create_time)
|
6063
6886
|
@description = args[:description] if args.key?(:description)
|
6064
6887
|
@name = args[:name] if args.key?(:name)
|
@@ -6143,17 +6966,17 @@ module Google
|
|
6143
6966
|
include Google::Apis::Core::Hashable
|
6144
6967
|
|
6145
6968
|
# The canonical name of the marks. The following list shows some examples: + `
|
6146
|
-
# organizations/`organization_id`/assets/`asset_id`/securityMarks
|
6969
|
+
# organizations/`organization_id`/assets/`asset_id`/securityMarks` + `
|
6147
6970
|
# organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
|
6148
|
-
# securityMarks
|
6149
|
-
# locations/`location`/findings/`finding_id`/securityMarks
|
6150
|
-
# folder_id`/assets/`asset_id`/securityMarks
|
6151
|
-
# source_id`/findings/`finding_id`/securityMarks
|
6152
|
-
# `source_id`/locations/`location`/findings/`finding_id`/securityMarks
|
6153
|
-
# projects/`project_number`/assets/`asset_id`/securityMarks
|
6154
|
-
# project_number`/sources/`source_id`/findings/`finding_id`/securityMarks
|
6971
|
+
# securityMarks` + `organizations/`organization_id`/sources/`source_id`/
|
6972
|
+
# locations/`location`/findings/`finding_id`/securityMarks` + `folders/`
|
6973
|
+
# folder_id`/assets/`asset_id`/securityMarks` + `folders/`folder_id`/sources/`
|
6974
|
+
# source_id`/findings/`finding_id`/securityMarks` + `folders/`folder_id`/sources/
|
6975
|
+
# `source_id`/locations/`location`/findings/`finding_id`/securityMarks` + `
|
6976
|
+
# projects/`project_number`/assets/`asset_id`/securityMarks` + `projects/`
|
6977
|
+
# project_number`/sources/`source_id`/findings/`finding_id`/securityMarks` + `
|
6155
6978
|
# projects/`project_number`/sources/`source_id`/locations/`location`/findings/`
|
6156
|
-
# finding_id`/securityMarks
|
6979
|
+
# finding_id`/securityMarks`
|
6157
6980
|
# Corresponds to the JSON property `canonicalName`
|
6158
6981
|
# @return [String]
|
6159
6982
|
attr_accessor :canonical_name
|
@@ -6189,6 +7012,42 @@ module Google
|
|
6189
7012
|
end
|
6190
7013
|
end
|
6191
7014
|
|
7015
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
7016
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
7017
|
+
class GoogleCloudSecuritycenterV2SecurityPolicy
|
7018
|
+
include Google::Apis::Core::Hashable
|
7019
|
+
|
7020
|
+
# The name of the Google Cloud Armor security policy, for example, "my-security-
|
7021
|
+
# policy".
|
7022
|
+
# Corresponds to the JSON property `name`
|
7023
|
+
# @return [String]
|
7024
|
+
attr_accessor :name
|
7025
|
+
|
7026
|
+
# Whether or not the associated rule or policy is in preview mode.
|
7027
|
+
# Corresponds to the JSON property `preview`
|
7028
|
+
# @return [Boolean]
|
7029
|
+
attr_accessor :preview
|
7030
|
+
alias_method :preview?, :preview
|
7031
|
+
|
7032
|
+
# The type of Google Cloud Armor security policy for example, ‘backend security
|
7033
|
+
# policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on
|
7034
|
+
# DDoS protection’.
|
7035
|
+
# Corresponds to the JSON property `type`
|
7036
|
+
# @return [String]
|
7037
|
+
attr_accessor :type
|
7038
|
+
|
7039
|
+
def initialize(**args)
|
7040
|
+
update!(**args)
|
7041
|
+
end
|
7042
|
+
|
7043
|
+
# Update properties of this object
|
7044
|
+
def update!(**args)
|
7045
|
+
@name = args[:name] if args.key?(:name)
|
7046
|
+
@preview = args[:preview] if args.key?(:preview)
|
7047
|
+
@type = args[:type] if args.key?(:type)
|
7048
|
+
end
|
7049
|
+
end
|
7050
|
+
|
6192
7051
|
# Represents a posture that is deployed on Google Cloud by the Security Command
|
6193
7052
|
# Center Posture Management service. A posture contains one or more policy sets.
|
6194
7053
|
# A policy set is a group of policies that enforce a set of security rules on
|
@@ -7716,6 +8575,45 @@ module Google
|
|
7716
8575
|
end
|
7717
8576
|
end
|
7718
8577
|
|
8578
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
8579
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
8580
|
+
# with a finding.
|
8581
|
+
class Notebook
|
8582
|
+
include Google::Apis::Core::Hashable
|
8583
|
+
|
8584
|
+
# The user ID of the latest author to modify the notebook.
|
8585
|
+
# Corresponds to the JSON property `lastAuthor`
|
8586
|
+
# @return [String]
|
8587
|
+
attr_accessor :last_author
|
8588
|
+
|
8589
|
+
# The name of the notebook.
|
8590
|
+
# Corresponds to the JSON property `name`
|
8591
|
+
# @return [String]
|
8592
|
+
attr_accessor :name
|
8593
|
+
|
8594
|
+
# The most recent time the notebook was updated.
|
8595
|
+
# Corresponds to the JSON property `notebookUpdateTime`
|
8596
|
+
# @return [String]
|
8597
|
+
attr_accessor :notebook_update_time
|
8598
|
+
|
8599
|
+
# The source notebook service, for example, "Colab Enterprise".
|
8600
|
+
# Corresponds to the JSON property `service`
|
8601
|
+
# @return [String]
|
8602
|
+
attr_accessor :service
|
8603
|
+
|
8604
|
+
def initialize(**args)
|
8605
|
+
update!(**args)
|
8606
|
+
end
|
8607
|
+
|
8608
|
+
# Update properties of this object
|
8609
|
+
def update!(**args)
|
8610
|
+
@last_author = args[:last_author] if args.key?(:last_author)
|
8611
|
+
@name = args[:name] if args.key?(:name)
|
8612
|
+
@notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
|
8613
|
+
@service = args[:service] if args.key?(:service)
|
8614
|
+
end
|
8615
|
+
end
|
8616
|
+
|
7719
8617
|
# Cloud Security Command Center (Cloud SCC) notification configs. A notification
|
7720
8618
|
# config is a Cloud SCC resource that contains the configuration to send
|
7721
8619
|
# notifications for create/update events of findings, assets and etc.
|
@@ -8135,19 +9033,19 @@ module Google
|
|
8135
9033
|
end
|
8136
9034
|
end
|
8137
9035
|
|
8138
|
-
# The policy field that violates the deployed posture and its expected and
|
9036
|
+
# The policy field that violates the deployed posture and its expected and
|
8139
9037
|
# detected values.
|
8140
9038
|
class PolicyDriftDetails
|
8141
9039
|
include Google::Apis::Core::Hashable
|
8142
9040
|
|
8143
9041
|
# The detected value that violates the deployed posture, for example, `false` or
|
8144
|
-
# `allowed_values=`"projects/22831892
|
9042
|
+
# `allowed_values=`"projects/22831892"``.
|
8145
9043
|
# Corresponds to the JSON property `detectedValue`
|
8146
9044
|
# @return [String]
|
8147
9045
|
attr_accessor :detected_value
|
8148
9046
|
|
8149
9047
|
# The value of this field that was configured in a posture, for example, `true`
|
8150
|
-
# or `allowed_values=`"projects/29831892
|
9048
|
+
# or `allowed_values=`"projects/29831892"``.
|
8151
9049
|
# Corresponds to the JSON property `expectedValue`
|
8152
9050
|
# @return [String]
|
8153
9051
|
attr_accessor :expected_value
|
@@ -8330,11 +9228,61 @@ module Google
|
|
8330
9228
|
end
|
8331
9229
|
end
|
8332
9230
|
|
9231
|
+
# Information about the requests relevant to the finding.
|
9232
|
+
class Requests
|
9233
|
+
include Google::Apis::Core::Hashable
|
9234
|
+
|
9235
|
+
# Allowed RPS (requests per second) over the long term.
|
9236
|
+
# Corresponds to the JSON property `longTermAllowed`
|
9237
|
+
# @return [Fixnum]
|
9238
|
+
attr_accessor :long_term_allowed
|
9239
|
+
|
9240
|
+
# Denied RPS (requests per second) over the long term.
|
9241
|
+
# Corresponds to the JSON property `longTermDenied`
|
9242
|
+
# @return [Fixnum]
|
9243
|
+
attr_accessor :long_term_denied
|
9244
|
+
|
9245
|
+
# For 'Increasing deny ratio', the ratio is the denied traffic divided by the
|
9246
|
+
# allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
|
9247
|
+
# in the short term divided by allowed traffic in the long term.
|
9248
|
+
# Corresponds to the JSON property `ratio`
|
9249
|
+
# @return [Float]
|
9250
|
+
attr_accessor :ratio
|
9251
|
+
|
9252
|
+
# Allowed RPS (requests per second) in the short term.
|
9253
|
+
# Corresponds to the JSON property `shortTermAllowed`
|
9254
|
+
# @return [Fixnum]
|
9255
|
+
attr_accessor :short_term_allowed
|
9256
|
+
|
9257
|
+
def initialize(**args)
|
9258
|
+
update!(**args)
|
9259
|
+
end
|
9260
|
+
|
9261
|
+
# Update properties of this object
|
9262
|
+
def update!(**args)
|
9263
|
+
@long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
|
9264
|
+
@long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
|
9265
|
+
@ratio = args[:ratio] if args.key?(:ratio)
|
9266
|
+
@short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
|
9267
|
+
end
|
9268
|
+
end
|
9269
|
+
|
8333
9270
|
# Information related to the Google Cloud resource that is associated with this
|
8334
9271
|
# finding.
|
8335
9272
|
class Resource
|
8336
9273
|
include Google::Apis::Core::Hashable
|
8337
9274
|
|
9275
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
9276
|
+
# cloud provider is Amazon Web Services.
|
9277
|
+
# Corresponds to the JSON property `awsMetadata`
|
9278
|
+
# @return [Google::Apis::SecuritycenterV1::AwsMetadata]
|
9279
|
+
attr_accessor :aws_metadata
|
9280
|
+
|
9281
|
+
# Indicates which cloud provider the finding is from.
|
9282
|
+
# Corresponds to the JSON property `cloudProvider`
|
9283
|
+
# @return [String]
|
9284
|
+
attr_accessor :cloud_provider
|
9285
|
+
|
8338
9286
|
# The human readable name of the resource.
|
8339
9287
|
# Corresponds to the JSON property `displayName`
|
8340
9288
|
# @return [String]
|
@@ -8347,12 +9295,22 @@ module Google
|
|
8347
9295
|
# @return [Array<Google::Apis::SecuritycenterV1::Folder>]
|
8348
9296
|
attr_accessor :folders
|
8349
9297
|
|
9298
|
+
# The region or location of the service (if applicable).
|
9299
|
+
# Corresponds to the JSON property `location`
|
9300
|
+
# @return [String]
|
9301
|
+
attr_accessor :location
|
9302
|
+
|
8350
9303
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
8351
9304
|
# design/resource_names#full_resource_name
|
8352
9305
|
# Corresponds to the JSON property `name`
|
8353
9306
|
# @return [String]
|
8354
9307
|
attr_accessor :name
|
8355
9308
|
|
9309
|
+
# Indicates which organization / tenant the finding is for.
|
9310
|
+
# Corresponds to the JSON property `organization`
|
9311
|
+
# @return [String]
|
9312
|
+
attr_accessor :organization
|
9313
|
+
|
8356
9314
|
# The human readable name of resource's parent.
|
8357
9315
|
# Corresponds to the JSON property `parentDisplayName`
|
8358
9316
|
# @return [String]
|
@@ -8373,6 +9331,29 @@ module Google
|
|
8373
9331
|
# @return [String]
|
8374
9332
|
attr_accessor :project_name
|
8375
9333
|
|
9334
|
+
# Represents the path of resources leading up to the resource this finding is
|
9335
|
+
# about.
|
9336
|
+
# Corresponds to the JSON property `resourcePath`
|
9337
|
+
# @return [Google::Apis::SecuritycenterV1::ResourcePath]
|
9338
|
+
attr_accessor :resource_path
|
9339
|
+
|
9340
|
+
# A string representation of the resource path. For GCP, it has the format of:
|
9341
|
+
# org/`organization_id`/folder/`folder_id`/folder/`folder_id`/project/`
|
9342
|
+
# project_id` where there can be any number of folders. For AWS, it has the
|
9343
|
+
# format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
|
9344
|
+
# organizational_unit_id`/account/`account_id` where there can be any number of
|
9345
|
+
# organizational units. For Azure, it has the format of: mg/`management_group_id`
|
9346
|
+
# /mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
9347
|
+
# resource_group_name` where there can be any number of management groups.
|
9348
|
+
# Corresponds to the JSON property `resourcePathString`
|
9349
|
+
# @return [String]
|
9350
|
+
attr_accessor :resource_path_string
|
9351
|
+
|
9352
|
+
# The service or resource provider associated with the resource.
|
9353
|
+
# Corresponds to the JSON property `service`
|
9354
|
+
# @return [String]
|
9355
|
+
attr_accessor :service
|
9356
|
+
|
8376
9357
|
# The full resource type of the resource.
|
8377
9358
|
# Corresponds to the JSON property `type`
|
8378
9359
|
# @return [String]
|
@@ -8384,17 +9365,77 @@ module Google
|
|
8384
9365
|
|
8385
9366
|
# Update properties of this object
|
8386
9367
|
def update!(**args)
|
9368
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
9369
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
8387
9370
|
@display_name = args[:display_name] if args.key?(:display_name)
|
8388
9371
|
@folders = args[:folders] if args.key?(:folders)
|
9372
|
+
@location = args[:location] if args.key?(:location)
|
8389
9373
|
@name = args[:name] if args.key?(:name)
|
9374
|
+
@organization = args[:organization] if args.key?(:organization)
|
8390
9375
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
8391
9376
|
@parent_name = args[:parent_name] if args.key?(:parent_name)
|
8392
9377
|
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
8393
9378
|
@project_name = args[:project_name] if args.key?(:project_name)
|
9379
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
9380
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
9381
|
+
@service = args[:service] if args.key?(:service)
|
8394
9382
|
@type = args[:type] if args.key?(:type)
|
8395
9383
|
end
|
8396
9384
|
end
|
8397
9385
|
|
9386
|
+
# Represents the path of resources leading up to the resource this finding is
|
9387
|
+
# about.
|
9388
|
+
class ResourcePath
|
9389
|
+
include Google::Apis::Core::Hashable
|
9390
|
+
|
9391
|
+
# The list of nodes that make the up resource path, ordered from lowest level to
|
9392
|
+
# highest level.
|
9393
|
+
# Corresponds to the JSON property `nodes`
|
9394
|
+
# @return [Array<Google::Apis::SecuritycenterV1::ResourcePathNode>]
|
9395
|
+
attr_accessor :nodes
|
9396
|
+
|
9397
|
+
def initialize(**args)
|
9398
|
+
update!(**args)
|
9399
|
+
end
|
9400
|
+
|
9401
|
+
# Update properties of this object
|
9402
|
+
def update!(**args)
|
9403
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
9404
|
+
end
|
9405
|
+
end
|
9406
|
+
|
9407
|
+
# A node within the resource path. Each node represents a resource within the
|
9408
|
+
# resource hierarchy.
|
9409
|
+
class ResourcePathNode
|
9410
|
+
include Google::Apis::Core::Hashable
|
9411
|
+
|
9412
|
+
# The display name of the resource this node represents.
|
9413
|
+
# Corresponds to the JSON property `displayName`
|
9414
|
+
# @return [String]
|
9415
|
+
attr_accessor :display_name
|
9416
|
+
|
9417
|
+
# The ID of the resource this node represents.
|
9418
|
+
# Corresponds to the JSON property `id`
|
9419
|
+
# @return [String]
|
9420
|
+
attr_accessor :id
|
9421
|
+
|
9422
|
+
# The type of resource this node represents.
|
9423
|
+
# Corresponds to the JSON property `nodeType`
|
9424
|
+
# @return [String]
|
9425
|
+
attr_accessor :node_type
|
9426
|
+
|
9427
|
+
def initialize(**args)
|
9428
|
+
update!(**args)
|
9429
|
+
end
|
9430
|
+
|
9431
|
+
# Update properties of this object
|
9432
|
+
def update!(**args)
|
9433
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
9434
|
+
@id = args[:id] if args.key?(:id)
|
9435
|
+
@node_type = args[:node_type] if args.key?(:node_type)
|
9436
|
+
end
|
9437
|
+
end
|
9438
|
+
|
8398
9439
|
# Metadata about a ResourceValueConfig. For example, id and name.
|
8399
9440
|
class ResourceValueConfigMetadata
|
8400
9441
|
include Google::Apis::Core::Hashable
|
@@ -8613,6 +9654,42 @@ module Google
|
|
8613
9654
|
end
|
8614
9655
|
end
|
8615
9656
|
|
9657
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
9658
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
9659
|
+
class SecurityPolicy
|
9660
|
+
include Google::Apis::Core::Hashable
|
9661
|
+
|
9662
|
+
# The name of the Google Cloud Armor security policy, for example, "my-security-
|
9663
|
+
# policy".
|
9664
|
+
# Corresponds to the JSON property `name`
|
9665
|
+
# @return [String]
|
9666
|
+
attr_accessor :name
|
9667
|
+
|
9668
|
+
# Whether or not the associated rule or policy is in preview mode.
|
9669
|
+
# Corresponds to the JSON property `preview`
|
9670
|
+
# @return [Boolean]
|
9671
|
+
attr_accessor :preview
|
9672
|
+
alias_method :preview?, :preview
|
9673
|
+
|
9674
|
+
# The type of Google Cloud Armor security policy for example, ‘backend security
|
9675
|
+
# policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on
|
9676
|
+
# DDoS protection’.
|
9677
|
+
# Corresponds to the JSON property `type`
|
9678
|
+
# @return [String]
|
9679
|
+
attr_accessor :type
|
9680
|
+
|
9681
|
+
def initialize(**args)
|
9682
|
+
update!(**args)
|
9683
|
+
end
|
9684
|
+
|
9685
|
+
# Update properties of this object
|
9686
|
+
def update!(**args)
|
9687
|
+
@name = args[:name] if args.key?(:name)
|
9688
|
+
@preview = args[:preview] if args.key?(:preview)
|
9689
|
+
@type = args[:type] if args.key?(:type)
|
9690
|
+
end
|
9691
|
+
end
|
9692
|
+
|
8616
9693
|
# Represents a posture that is deployed on Google Cloud by the Security Command
|
8617
9694
|
# Center Posture Management service. A posture contains one or more policy sets.
|
8618
9695
|
# A policy set is a group of policies that enforce a set of security rules on
|
@@ -8966,6 +10043,11 @@ module Google
|
|
8966
10043
|
class Simulation
|
8967
10044
|
include Google::Apis::Core::Hashable
|
8968
10045
|
|
10046
|
+
# Indicates which cloud provider was used in this simulation.
|
10047
|
+
# Corresponds to the JSON property `cloudProvider`
|
10048
|
+
# @return [String]
|
10049
|
+
attr_accessor :cloud_provider
|
10050
|
+
|
8969
10051
|
# Output only. Time simulation was created
|
8970
10052
|
# Corresponds to the JSON property `createTime`
|
8971
10053
|
# @return [String]
|
@@ -8988,6 +10070,7 @@ module Google
|
|
8988
10070
|
|
8989
10071
|
# Update properties of this object
|
8990
10072
|
def update!(**args)
|
10073
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
8991
10074
|
@create_time = args[:create_time] if args.key?(:create_time)
|
8992
10075
|
@name = args[:name] if args.key?(:name)
|
8993
10076
|
@resource_value_configs_metadata = args[:resource_value_configs_metadata] if args.key?(:resource_value_configs_metadata)
|
@@ -9379,6 +10462,63 @@ module Google
|
|
9379
10462
|
end
|
9380
10463
|
end
|
9381
10464
|
|
10465
|
+
# Vulnerability count by severity.
|
10466
|
+
class VulnerabilityCountBySeverity
|
10467
|
+
include Google::Apis::Core::Hashable
|
10468
|
+
|
10469
|
+
# Key is the Severity enum.
|
10470
|
+
# Corresponds to the JSON property `severityToFindingCount`
|
10471
|
+
# @return [Hash<String,Fixnum>]
|
10472
|
+
attr_accessor :severity_to_finding_count
|
10473
|
+
|
10474
|
+
def initialize(**args)
|
10475
|
+
update!(**args)
|
10476
|
+
end
|
10477
|
+
|
10478
|
+
# Update properties of this object
|
10479
|
+
def update!(**args)
|
10480
|
+
@severity_to_finding_count = args[:severity_to_finding_count] if args.key?(:severity_to_finding_count)
|
10481
|
+
end
|
10482
|
+
end
|
10483
|
+
|
10484
|
+
# Result containing the properties and count of a VulnerabilitySnapshot request.
|
10485
|
+
class VulnerabilitySnapshot
|
10486
|
+
include Google::Apis::Core::Hashable
|
10487
|
+
|
10488
|
+
# The cloud provider for the vulnerability snapshot.
|
10489
|
+
# Corresponds to the JSON property `cloudProvider`
|
10490
|
+
# @return [String]
|
10491
|
+
attr_accessor :cloud_provider
|
10492
|
+
|
10493
|
+
# Vulnerability count by severity.
|
10494
|
+
# Corresponds to the JSON property `findingCount`
|
10495
|
+
# @return [Google::Apis::SecuritycenterV1::VulnerabilityCountBySeverity]
|
10496
|
+
attr_accessor :finding_count
|
10497
|
+
|
10498
|
+
# Identifier. The vulnerability snapshot name. Format: //locations//
|
10499
|
+
# vulnerabilitySnapshots/
|
10500
|
+
# Corresponds to the JSON property `name`
|
10501
|
+
# @return [String]
|
10502
|
+
attr_accessor :name
|
10503
|
+
|
10504
|
+
# The time that the snapshot was taken.
|
10505
|
+
# Corresponds to the JSON property `snapshotTime`
|
10506
|
+
# @return [String]
|
10507
|
+
attr_accessor :snapshot_time
|
10508
|
+
|
10509
|
+
def initialize(**args)
|
10510
|
+
update!(**args)
|
10511
|
+
end
|
10512
|
+
|
10513
|
+
# Update properties of this object
|
10514
|
+
def update!(**args)
|
10515
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
10516
|
+
@finding_count = args[:finding_count] if args.key?(:finding_count)
|
10517
|
+
@name = args[:name] if args.key?(:name)
|
10518
|
+
@snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
|
10519
|
+
end
|
10520
|
+
end
|
10521
|
+
|
9382
10522
|
# A signature corresponding to a YARA rule.
|
9383
10523
|
class YaraRuleSignature
|
9384
10524
|
include Google::Apis::Core::Hashable
|