google-apis-securitycenter_v1beta2 0.70.0 → 0.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -274,8 +274,8 @@ module Google
274
274
  include Google::Apis::Core::Hashable
275
275
 
276
276
  # The resource name of the attack path simulation result that contains the
277
- # details regarding this attack exposure score. Example: organizations/123/
278
- # simulations/456/attackExposureResults/789
277
+ # details regarding this attack exposure score. Example: `organizations/123/
278
+ # simulations/456/attackExposureResults/789`
279
279
  # Corresponds to the JSON property `attackExposureResult`
280
280
  # @return [String]
281
281
  attr_accessor :attack_exposure_result
@@ -455,8 +455,8 @@ module Google
455
455
  # @return [String]
456
456
  attr_accessor :display_name
457
457
 
458
- # The UUID of the Azure management group, for example, "20000000-0001-0000-0000-
459
- # 000000000000".
458
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
459
+ # 000000000000`.
460
460
  # Corresponds to the JSON property `id`
461
461
  # @return [String]
462
462
  attr_accessor :id
@@ -493,6 +493,11 @@ module Google
493
493
  # @return [Google::Apis::SecuritycenterV1beta2::AzureSubscription]
494
494
  attr_accessor :subscription
495
495
 
496
+ # Represents a Microsoft Entra tenant.
497
+ # Corresponds to the JSON property `tenant`
498
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureTenant]
499
+ attr_accessor :tenant
500
+
496
501
  def initialize(**args)
497
502
  update!(**args)
498
503
  end
@@ -502,6 +507,7 @@ module Google
502
507
  @management_groups = args[:management_groups] if args.key?(:management_groups)
503
508
  @resource_group = args[:resource_group] if args.key?(:resource_group)
504
509
  @subscription = args[:subscription] if args.key?(:subscription)
510
+ @tenant = args[:tenant] if args.key?(:tenant)
505
511
  end
506
512
  end
507
513
 
@@ -509,6 +515,11 @@ module Google
509
515
  class AzureResourceGroup
510
516
  include Google::Apis::Core::Hashable
511
517
 
518
+ # The ID of the Azure resource group.
519
+ # Corresponds to the JSON property `id`
520
+ # @return [String]
521
+ attr_accessor :id
522
+
512
523
  # The name of the Azure resource group. This is not a UUID.
513
524
  # Corresponds to the JSON property `name`
514
525
  # @return [String]
@@ -520,6 +531,7 @@ module Google
520
531
 
521
532
  # Update properties of this object
522
533
  def update!(**args)
534
+ @id = args[:id] if args.key?(:id)
523
535
  @name = args[:name] if args.key?(:name)
524
536
  end
525
537
  end
@@ -533,8 +545,34 @@ module Google
533
545
  # @return [String]
534
546
  attr_accessor :display_name
535
547
 
536
- # The UUID of the Azure subscription, for example, "291bba3f-e0a5-47bc-a099-
537
- # 3bdcb2a50a05".
548
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
549
+ # 3bdcb2a50a05`.
550
+ # Corresponds to the JSON property `id`
551
+ # @return [String]
552
+ attr_accessor :id
553
+
554
+ def initialize(**args)
555
+ update!(**args)
556
+ end
557
+
558
+ # Update properties of this object
559
+ def update!(**args)
560
+ @display_name = args[:display_name] if args.key?(:display_name)
561
+ @id = args[:id] if args.key?(:id)
562
+ end
563
+ end
564
+
565
+ # Represents a Microsoft Entra tenant.
566
+ class AzureTenant
567
+ include Google::Apis::Core::Hashable
568
+
569
+ # The display name of the Azure tenant.
570
+ # Corresponds to the JSON property `displayName`
571
+ # @return [String]
572
+ attr_accessor :display_name
573
+
574
+ # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-
575
+ # 1aaa11a".
538
576
  # Corresponds to the JSON property `id`
539
577
  # @return [String]
540
578
  attr_accessor :id
@@ -1065,13 +1103,13 @@ module Google
1065
1103
 
1066
1104
  # The configurations including the state of enablement for the service's
1067
1105
  # different modules. The absence of a module in the map implies its
1068
- # configuration is inherited from its parent's.
1106
+ # configuration is inherited from its parent's configuration.
1069
1107
  # Corresponds to the JSON property `modules`
1070
1108
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
1071
1109
  attr_accessor :modules
1072
1110
 
1073
- # The resource name of the ContainerThreatDetectionSettings. Formats: *
1074
- # organizations/`organization`/containerThreatDetectionSettings * folders/`
1111
+ # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats:
1112
+ # * organizations/`organization`/containerThreatDetectionSettings * folders/`
1075
1113
  # folder`/containerThreatDetectionSettings * projects/`project`/
1076
1114
  # containerThreatDetectionSettings * projects/`project`/locations/`location`/
1077
1115
  # clusters/`cluster`/containerThreatDetectionSettings
@@ -1122,11 +1160,21 @@ module Google
1122
1160
  # @return [Google::Apis::SecuritycenterV1beta2::Cvssv3]
1123
1161
  attr_accessor :cvssv3
1124
1162
 
1163
+ # Date the first publicly available exploit or PoC was released.
1164
+ # Corresponds to the JSON property `exploitReleaseDate`
1165
+ # @return [String]
1166
+ attr_accessor :exploit_release_date
1167
+
1125
1168
  # The exploitation activity of the vulnerability in the wild.
1126
1169
  # Corresponds to the JSON property `exploitationActivity`
1127
1170
  # @return [String]
1128
1171
  attr_accessor :exploitation_activity
1129
1172
 
1173
+ # Date of the earliest known exploitation.
1174
+ # Corresponds to the JSON property `firstExploitationDate`
1175
+ # @return [String]
1176
+ attr_accessor :first_exploitation_date
1177
+
1130
1178
  # The unique identifier for the vulnerability. e.g. CVE-2021-34527
1131
1179
  # Corresponds to the JSON property `id`
1132
1180
  # @return [String]
@@ -1168,7 +1216,9 @@ module Google
1168
1216
  # Update properties of this object
1169
1217
  def update!(**args)
1170
1218
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
1219
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
1171
1220
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
1221
+ @first_exploitation_date = args[:first_exploitation_date] if args.key?(:first_exploitation_date)
1172
1222
  @id = args[:id] if args.key?(:id)
1173
1223
  @impact = args[:impact] if args.key?(:impact)
1174
1224
  @observed_in_the_wild = args[:observed_in_the_wild] if args.key?(:observed_in_the_wild)
@@ -1255,6 +1305,91 @@ module Google
1255
1305
  end
1256
1306
  end
1257
1307
 
1308
+ # Details about a data access attempt made by a principal not authorized under
1309
+ # applicable data security policy.
1310
+ class DataAccessEvent
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ # Unique identifier for data access event.
1314
+ # Corresponds to the JSON property `eventId`
1315
+ # @return [String]
1316
+ attr_accessor :event_id
1317
+
1318
+ # Timestamp of data access event.
1319
+ # Corresponds to the JSON property `eventTime`
1320
+ # @return [String]
1321
+ attr_accessor :event_time
1322
+
1323
+ # The operation performed by the principal to access the data.
1324
+ # Corresponds to the JSON property `operation`
1325
+ # @return [String]
1326
+ attr_accessor :operation
1327
+
1328
+ # The email address of the principal that accessed the data. The principal could
1329
+ # be a user account, service account, Google group, or other.
1330
+ # Corresponds to the JSON property `principalEmail`
1331
+ # @return [String]
1332
+ attr_accessor :principal_email
1333
+
1334
+ def initialize(**args)
1335
+ update!(**args)
1336
+ end
1337
+
1338
+ # Update properties of this object
1339
+ def update!(**args)
1340
+ @event_id = args[:event_id] if args.key?(:event_id)
1341
+ @event_time = args[:event_time] if args.key?(:event_time)
1342
+ @operation = args[:operation] if args.key?(:operation)
1343
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
1344
+ end
1345
+ end
1346
+
1347
+ # Details about a data flow event, in which either the data is moved to or is
1348
+ # accessed from a non-compliant geo-location, as defined in the applicable data
1349
+ # security policy.
1350
+ class DataFlowEvent
1351
+ include Google::Apis::Core::Hashable
1352
+
1353
+ # Unique identifier for data flow event.
1354
+ # Corresponds to the JSON property `eventId`
1355
+ # @return [String]
1356
+ attr_accessor :event_id
1357
+
1358
+ # Timestamp of data flow event.
1359
+ # Corresponds to the JSON property `eventTime`
1360
+ # @return [String]
1361
+ attr_accessor :event_time
1362
+
1363
+ # The operation performed by the principal for the data flow event.
1364
+ # Corresponds to the JSON property `operation`
1365
+ # @return [String]
1366
+ attr_accessor :operation
1367
+
1368
+ # The email address of the principal that initiated the data flow event. The
1369
+ # principal could be a user account, service account, Google group, or other.
1370
+ # Corresponds to the JSON property `principalEmail`
1371
+ # @return [String]
1372
+ attr_accessor :principal_email
1373
+
1374
+ # Non-compliant location of the principal or the data destination.
1375
+ # Corresponds to the JSON property `violatedLocation`
1376
+ # @return [String]
1377
+ attr_accessor :violated_location
1378
+
1379
+ def initialize(**args)
1380
+ update!(**args)
1381
+ end
1382
+
1383
+ # Update properties of this object
1384
+ def update!(**args)
1385
+ @event_id = args[:event_id] if args.key?(:event_id)
1386
+ @event_time = args[:event_time] if args.key?(:event_time)
1387
+ @operation = args[:operation] if args.key?(:operation)
1388
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
1389
+ @violated_location = args[:violated_location] if args.key?(:violated_location)
1390
+ end
1391
+ end
1392
+
1258
1393
  # Represents database access information, such as queries. A database may be a
1259
1394
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
1260
1395
  # Spanner instances), or the database instance itself. Some database resources
@@ -1374,6 +1509,26 @@ module Google
1374
1509
  end
1375
1510
  end
1376
1511
 
1512
+ # Contains information about the disk associated with the finding.
1513
+ class Disk
1514
+ include Google::Apis::Core::Hashable
1515
+
1516
+ # The name of the disk, for example, "https://www.googleapis.com/compute/v1/
1517
+ # projects/project-id/zones/zone-id/disks/disk-id".
1518
+ # Corresponds to the JSON property `name`
1519
+ # @return [String]
1520
+ attr_accessor :name
1521
+
1522
+ def initialize(**args)
1523
+ update!(**args)
1524
+ end
1525
+
1526
+ # Update properties of this object
1527
+ def update!(**args)
1528
+ @name = args[:name] if args.key?(:name)
1529
+ end
1530
+ end
1531
+
1377
1532
  # Path of the file in terms of underlying disk/partition identifiers.
1378
1533
  class DiskPath
1379
1534
  include Google::Apis::Core::Hashable
@@ -1401,6 +1556,33 @@ module Google
1401
1556
  end
1402
1557
  end
1403
1558
 
1559
+ # The record of a dynamic mute rule that matches the finding.
1560
+ class DynamicMuteRecord
1561
+ include Google::Apis::Core::Hashable
1562
+
1563
+ # When the dynamic mute rule first matched the finding.
1564
+ # Corresponds to the JSON property `matchTime`
1565
+ # @return [String]
1566
+ attr_accessor :match_time
1567
+
1568
+ # The relative resource name of the mute rule, represented by a mute config,
1569
+ # that created this record, for example `organizations/123/muteConfigs/
1570
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
1571
+ # Corresponds to the JSON property `muteConfig`
1572
+ # @return [String]
1573
+ attr_accessor :mute_config
1574
+
1575
+ def initialize(**args)
1576
+ update!(**args)
1577
+ end
1578
+
1579
+ # Update properties of this object
1580
+ def update!(**args)
1581
+ @match_time = args[:match_time] if args.key?(:match_time)
1582
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
1583
+ end
1584
+ end
1585
+
1404
1586
  # A name-value pair representing an environment variable used in an operating
1405
1587
  # system process.
1406
1588
  class EnvironmentVariable
@@ -1433,12 +1615,12 @@ module Google
1433
1615
 
1434
1616
  # The configurations including the state of enablement for the service's
1435
1617
  # different modules. The absence of a module in the map implies its
1436
- # configuration is inherited from its parent's.
1618
+ # configuration is inherited from its parent's configuration.
1437
1619
  # Corresponds to the JSON property `modules`
1438
1620
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
1439
1621
  attr_accessor :modules
1440
1622
 
1441
- # The resource name of the EventThreatDetectionSettings. Formats: *
1623
+ # Identifier. The resource name of the EventThreatDetectionSettings. Formats: *
1442
1624
  # organizations/`organization`/eventThreatDetectionSettings * folders/`folder`/
1443
1625
  # eventThreatDetectionSettings * projects/`project`/eventThreatDetectionSettings
1444
1626
  # Corresponds to the JSON property `name`
@@ -1741,6 +1923,16 @@ module Google
1741
1923
  # @return [String]
1742
1924
  attr_accessor :create_time
1743
1925
 
1926
+ # Data access events associated with the finding.
1927
+ # Corresponds to the JSON property `dataAccessEvents`
1928
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DataAccessEvent>]
1929
+ attr_accessor :data_access_events
1930
+
1931
+ # Data flow events associated with the finding.
1932
+ # Corresponds to the JSON property `dataFlowEvents`
1933
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DataFlowEvent>]
1934
+ attr_accessor :data_flow_events
1935
+
1744
1936
  # Represents database access information, such as queries. A database may be a
1745
1937
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
1746
1938
  # Spanner instances), or the database instance itself. Some database resources
@@ -1757,6 +1949,11 @@ module Google
1757
1949
  # @return [String]
1758
1950
  attr_accessor :description
1759
1951
 
1952
+ # Contains information about the disk associated with the finding.
1953
+ # Corresponds to the JSON property `disk`
1954
+ # @return [Google::Apis::SecuritycenterV1beta2::Disk]
1955
+ attr_accessor :disk
1956
+
1760
1957
  # The time the finding was first detected. If an existing finding is updated,
1761
1958
  # then this is the time the update occurred. For example, if the finding
1762
1959
  # represents an open firewall, this property captures the time the detector
@@ -1858,6 +2055,12 @@ module Google
1858
2055
  # @return [String]
1859
2056
  attr_accessor :mute
1860
2057
 
2058
+ # Mute information about the finding, including whether the finding has a static
2059
+ # mute or any matching dynamic mute rules.
2060
+ # Corresponds to the JSON property `muteInfo`
2061
+ # @return [Google::Apis::SecuritycenterV1beta2::MuteInfo]
2062
+ attr_accessor :mute_info
2063
+
1861
2064
  # Records additional information about the mute operation, for example, the [
1862
2065
  # mute configuration](/security-command-center/docs/how-to-mute-findings) that
1863
2066
  # muted the finding and the user who muted the finding.
@@ -1991,8 +2194,11 @@ module Google
1991
2194
  @contacts = args[:contacts] if args.key?(:contacts)
1992
2195
  @containers = args[:containers] if args.key?(:containers)
1993
2196
  @create_time = args[:create_time] if args.key?(:create_time)
2197
+ @data_access_events = args[:data_access_events] if args.key?(:data_access_events)
2198
+ @data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
1994
2199
  @database = args[:database] if args.key?(:database)
1995
2200
  @description = args[:description] if args.key?(:description)
2201
+ @disk = args[:disk] if args.key?(:disk)
1996
2202
  @event_time = args[:event_time] if args.key?(:event_time)
1997
2203
  @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
1998
2204
  @external_systems = args[:external_systems] if args.key?(:external_systems)
@@ -2009,6 +2215,7 @@ module Google
2009
2215
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
2010
2216
  @module_name = args[:module_name] if args.key?(:module_name)
2011
2217
  @mute = args[:mute] if args.key?(:mute)
2218
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
2012
2219
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
2013
2220
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
2014
2221
  @name = args[:name] if args.key?(:name)
@@ -2367,6 +2574,11 @@ module Google
2367
2574
  class GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule
2368
2575
  include Google::Apis::Core::Hashable
2369
2576
 
2577
+ # The cloud provider of the custom module.
2578
+ # Corresponds to the JSON property `cloudProvider`
2579
+ # @return [String]
2580
+ attr_accessor :cloud_provider
2581
+
2370
2582
  # Defines the properties in a custom module configuration for Security Health
2371
2583
  # Analytics. Use the custom module configuration to create custom detectors that
2372
2584
  # generate custom findings for resources that you specify.
@@ -2403,6 +2615,7 @@ module Google
2403
2615
 
2404
2616
  # Update properties of this object
2405
2617
  def update!(**args)
2618
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2406
2619
  @custom_config = args[:custom_config] if args.key?(:custom_config)
2407
2620
  @display_name = args[:display_name] if args.key?(:display_name)
2408
2621
  @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
@@ -2516,6 +2729,12 @@ module Google
2516
2729
  # @return [String]
2517
2730
  attr_accessor :display_name
2518
2731
 
2732
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
2733
+ # If the expiry is set, when the config expires, it is removed from all findings.
2734
+ # Corresponds to the JSON property `expiryTime`
2735
+ # @return [String]
2736
+ attr_accessor :expiry_time
2737
+
2519
2738
  # Required. An expression that defines the filter to apply across create/update
2520
2739
  # events of findings. While creating a filter string, be mindful of the scope in
2521
2740
  # which the mute configuration is being created. E.g., If a filter contains
@@ -2537,16 +2756,24 @@ module Google
2537
2756
  # @return [String]
2538
2757
  attr_accessor :most_recent_editor
2539
2758
 
2540
- # This field will be ignored if provided on config creation. Format "
2541
- # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
2542
- # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`" "
2543
- # organizations/`organization`/locations/global/muteConfigs/`mute_config`" "
2544
- # folders/`folder`/locations/global/muteConfigs/`mute_config`" "projects/`
2545
- # project`/locations/global/muteConfigs/`mute_config`"
2759
+ # This field will be ignored if provided on config creation. Format `
2760
+ # organizations/`organization`/muteConfigs/`mute_config`` `folders/`folder`/
2761
+ # muteConfigs/`mute_config`` `projects/`project`/muteConfigs/`mute_config`` `
2762
+ # organizations/`organization`/locations/global/muteConfigs/`mute_config`` `
2763
+ # folders/`folder`/locations/global/muteConfigs/`mute_config`` `projects/`
2764
+ # project`/locations/global/muteConfigs/`mute_config``
2546
2765
  # Corresponds to the JSON property `name`
2547
2766
  # @return [String]
2548
2767
  attr_accessor :name
2549
2768
 
2769
+ # Optional. The type of the mute config, which determines what type of mute
2770
+ # state the config affects. The static mute state takes precedence over the
2771
+ # dynamic mute state. Immutable after creation. STATIC by default if not set
2772
+ # during creation.
2773
+ # Corresponds to the JSON property `type`
2774
+ # @return [String]
2775
+ attr_accessor :type
2776
+
2550
2777
  # Output only. The most recent time at which the mute config was updated. This
2551
2778
  # field is set by the server and will be ignored if provided on config creation
2552
2779
  # or update.
@@ -2563,9 +2790,11 @@ module Google
2563
2790
  @create_time = args[:create_time] if args.key?(:create_time)
2564
2791
  @description = args[:description] if args.key?(:description)
2565
2792
  @display_name = args[:display_name] if args.key?(:display_name)
2793
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
2566
2794
  @filter = args[:filter] if args.key?(:filter)
2567
2795
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
2568
2796
  @name = args[:name] if args.key?(:name)
2797
+ @type = args[:type] if args.key?(:type)
2569
2798
  @update_time = args[:update_time] if args.key?(:update_time)
2570
2799
  end
2571
2800
  end
@@ -2721,13 +2950,14 @@ module Google
2721
2950
  attr_accessor :resource_path
2722
2951
 
2723
2952
  # A string representation of the resource path. For Google Cloud, it has the
2724
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
2725
- # folder_id`/projects/`project_id` where there can be any number of folders. For
2726
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
2727
- # `organizational_unit_id`/account/`account_id` where there can be any number of
2728
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
2729
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
2730
- # resource_group_name` where there can be any number of management groups.
2953
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
2954
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
2955
+ # For AWS, it has the format of `org/`organization_id`/ou/`
2956
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
2957
+ # where there can be any number of organizational units. For Azure, it has the
2958
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
2959
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
2960
+ # management groups.
2731
2961
  # Corresponds to the JSON property `resourcePathString`
2732
2962
  # @return [String]
2733
2963
  attr_accessor :resource_path_string
@@ -2812,18 +3042,18 @@ module Google
2812
3042
  # @return [String]
2813
3043
  attr_accessor :name
2814
3044
 
2815
- # List of resource labels to search for, evaluated with AND. For example, "
2816
- # resource_labels_selector": `"key": "value", "env": "prod"` will match
2817
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
3045
+ # List of resource labels to search for, evaluated with `AND`. For example, `"
3046
+ # resource_labels_selector": `"key": "value", "env": "prod"`` will match
3047
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
2818
3048
  # com/resource-manager/docs/creating-managing-labels
2819
3049
  # Corresponds to the JSON property `resourceLabelsSelector`
2820
3050
  # @return [Hash<String,String>]
2821
3051
  attr_accessor :resource_labels_selector
2822
3052
 
2823
3053
  # Apply resource_value only to resources that match resource_type. resource_type
2824
- # will be checked with AND of other resources. For example, "storage.googleapis.
2825
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
2826
- # storage.googleapis.com/Bucket" resources.
3054
+ # will be checked with `AND` of other resources. For example, "storage.
3055
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
3056
+ # to "storage.googleapis.com/Bucket" resources.
2827
3057
  # Corresponds to the JSON property `resourceType`
2828
3058
  # @return [String]
2829
3059
  attr_accessor :resource_type
@@ -2835,7 +3065,7 @@ module Google
2835
3065
 
2836
3066
  # Project or folder to scope this configuration to. For example, "project/456"
2837
3067
  # would apply this configuration only to resources in "project/456" scope will
2838
- # be checked with AND of other resources.
3068
+ # be checked with `AND` of other resources.
2839
3069
  # Corresponds to the JSON property `scope`
2840
3070
  # @return [String]
2841
3071
  attr_accessor :scope
@@ -2847,9 +3077,10 @@ module Google
2847
3077
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
2848
3078
  attr_accessor :sensitive_data_protection_mapping
2849
3079
 
2850
- # Required. Tag values combined with AND to check against. Values in the form "
2851
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
2852
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
3080
+ # Required. Tag values combined with `AND` to check against. For Google Cloud
3081
+ # resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "
3082
+ # tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/
3083
+ # resource-manager/docs/tags/tags-creating-and-managing
2853
3084
  # Corresponds to the JSON property `tagValues`
2854
3085
  # @return [Array<String>]
2855
3086
  attr_accessor :tag_values
@@ -2920,6 +3151,11 @@ module Google
2920
3151
  # @return [String]
2921
3152
  attr_accessor :ancestor_module
2922
3153
 
3154
+ # The cloud provider of the custom module.
3155
+ # Corresponds to the JSON property `cloudProvider`
3156
+ # @return [String]
3157
+ attr_accessor :cloud_provider
3158
+
2923
3159
  # Defines the properties in a custom module configuration for Security Health
2924
3160
  # Analytics. Use the custom module configuration to create custom detectors that
2925
3161
  # generate custom findings for resources that you specify.
@@ -2969,6 +3205,7 @@ module Google
2969
3205
  # Update properties of this object
2970
3206
  def update!(**args)
2971
3207
  @ancestor_module = args[:ancestor_module] if args.key?(:ancestor_module)
3208
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2972
3209
  @custom_config = args[:custom_config] if args.key?(:custom_config)
2973
3210
  @display_name = args[:display_name] if args.key?(:display_name)
2974
3211
  @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
@@ -3583,8 +3820,8 @@ module Google
3583
3820
  include Google::Apis::Core::Hashable
3584
3821
 
3585
3822
  # The resource name of the attack path simulation result that contains the
3586
- # details regarding this attack exposure score. Example: organizations/123/
3587
- # simulations/456/attackExposureResults/789
3823
+ # details regarding this attack exposure score. Example: `organizations/123/
3824
+ # simulations/456/attackExposureResults/789`
3588
3825
  # Corresponds to the JSON property `attackExposureResult`
3589
3826
  # @return [String]
3590
3827
  attr_accessor :attack_exposure_result
@@ -3764,8 +4001,8 @@ module Google
3764
4001
  # @return [String]
3765
4002
  attr_accessor :display_name
3766
4003
 
3767
- # The UUID of the Azure management group, for example, "20000000-0001-0000-0000-
3768
- # 000000000000".
4004
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
4005
+ # 000000000000`.
3769
4006
  # Corresponds to the JSON property `id`
3770
4007
  # @return [String]
3771
4008
  attr_accessor :id
@@ -3802,6 +4039,11 @@ module Google
3802
4039
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureSubscription]
3803
4040
  attr_accessor :subscription
3804
4041
 
4042
+ # Represents a Microsoft Entra tenant.
4043
+ # Corresponds to the JSON property `tenant`
4044
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureTenant]
4045
+ attr_accessor :tenant
4046
+
3805
4047
  def initialize(**args)
3806
4048
  update!(**args)
3807
4049
  end
@@ -3811,6 +4053,7 @@ module Google
3811
4053
  @management_groups = args[:management_groups] if args.key?(:management_groups)
3812
4054
  @resource_group = args[:resource_group] if args.key?(:resource_group)
3813
4055
  @subscription = args[:subscription] if args.key?(:subscription)
4056
+ @tenant = args[:tenant] if args.key?(:tenant)
3814
4057
  end
3815
4058
  end
3816
4059
 
@@ -3818,6 +4061,11 @@ module Google
3818
4061
  class GoogleCloudSecuritycenterV2AzureResourceGroup
3819
4062
  include Google::Apis::Core::Hashable
3820
4063
 
4064
+ # The ID of the Azure resource group.
4065
+ # Corresponds to the JSON property `id`
4066
+ # @return [String]
4067
+ attr_accessor :id
4068
+
3821
4069
  # The name of the Azure resource group. This is not a UUID.
3822
4070
  # Corresponds to the JSON property `name`
3823
4071
  # @return [String]
@@ -3829,6 +4077,7 @@ module Google
3829
4077
 
3830
4078
  # Update properties of this object
3831
4079
  def update!(**args)
4080
+ @id = args[:id] if args.key?(:id)
3832
4081
  @name = args[:name] if args.key?(:name)
3833
4082
  end
3834
4083
  end
@@ -3842,8 +4091,34 @@ module Google
3842
4091
  # @return [String]
3843
4092
  attr_accessor :display_name
3844
4093
 
3845
- # The UUID of the Azure subscription, for example, "291bba3f-e0a5-47bc-a099-
3846
- # 3bdcb2a50a05".
4094
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
4095
+ # 3bdcb2a50a05`.
4096
+ # Corresponds to the JSON property `id`
4097
+ # @return [String]
4098
+ attr_accessor :id
4099
+
4100
+ def initialize(**args)
4101
+ update!(**args)
4102
+ end
4103
+
4104
+ # Update properties of this object
4105
+ def update!(**args)
4106
+ @display_name = args[:display_name] if args.key?(:display_name)
4107
+ @id = args[:id] if args.key?(:id)
4108
+ end
4109
+ end
4110
+
4111
+ # Represents a Microsoft Entra tenant.
4112
+ class GoogleCloudSecuritycenterV2AzureTenant
4113
+ include Google::Apis::Core::Hashable
4114
+
4115
+ # The display name of the Azure tenant.
4116
+ # Corresponds to the JSON property `displayName`
4117
+ # @return [String]
4118
+ attr_accessor :display_name
4119
+
4120
+ # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-
4121
+ # 1aaa11a".
3847
4122
  # Corresponds to the JSON property `id`
3848
4123
  # @return [String]
3849
4124
  attr_accessor :id
@@ -3967,7 +4242,7 @@ module Google
3967
4242
  attr_accessor :create_time
3968
4243
 
3969
4244
  # The dataset to write findings' updates to. Its format is "projects/[project_id]
3970
- # /datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only
4245
+ # /datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only
3971
4246
  # letters (a-z, A-Z), numbers (0-9), or underscores (_).
3972
4247
  # Corresponds to the JSON property `dataset`
3973
4248
  # @return [String]
@@ -3999,13 +4274,13 @@ module Google
3999
4274
  # @return [String]
4000
4275
  attr_accessor :most_recent_editor
4001
4276
 
4002
- # The relative resource name of this export. See: https://cloud.google.com/apis/
4003
- # design/resource_names#relative_resource_name. The following list shows some
4004
- # examples: + `organizations/`organization_id`/locations/`location_id`/
4005
- # bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`location_id`/
4006
- # bigQueryExports/`export_id`` + `projects/`project_id`/locations/`location_id`/
4007
- # bigQueryExports/`export_id`` This field is provided in responses, and is
4008
- # ignored when provided in create requests.
4277
+ # Identifier. The relative resource name of this export. See: https://cloud.
4278
+ # google.com/apis/design/resource_names#relative_resource_name. The following
4279
+ # list shows some examples: + `organizations/`organization_id`/locations/`
4280
+ # location_id`/bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`
4281
+ # location_id`/bigQueryExports/`export_id`` + `projects/`project_id`/locations/`
4282
+ # location_id`/bigQueryExports/`export_id`` This field is provided in responses,
4283
+ # and is ignored when provided in create requests.
4009
4284
  # Corresponds to the JSON property `name`
4010
4285
  # @return [String]
4011
4286
  attr_accessor :name
@@ -4427,11 +4702,21 @@ module Google
4427
4702
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Cvssv3]
4428
4703
  attr_accessor :cvssv3
4429
4704
 
4705
+ # Date the first publicly available exploit or PoC was released.
4706
+ # Corresponds to the JSON property `exploitReleaseDate`
4707
+ # @return [String]
4708
+ attr_accessor :exploit_release_date
4709
+
4430
4710
  # The exploitation activity of the vulnerability in the wild.
4431
4711
  # Corresponds to the JSON property `exploitationActivity`
4432
4712
  # @return [String]
4433
4713
  attr_accessor :exploitation_activity
4434
4714
 
4715
+ # Date of the earliest known exploitation.
4716
+ # Corresponds to the JSON property `firstExploitationDate`
4717
+ # @return [String]
4718
+ attr_accessor :first_exploitation_date
4719
+
4435
4720
  # The unique identifier for the vulnerability. e.g. CVE-2021-34527
4436
4721
  # Corresponds to the JSON property `id`
4437
4722
  # @return [String]
@@ -4473,7 +4758,9 @@ module Google
4473
4758
  # Update properties of this object
4474
4759
  def update!(**args)
4475
4760
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
4761
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
4476
4762
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
4763
+ @first_exploitation_date = args[:first_exploitation_date] if args.key?(:first_exploitation_date)
4477
4764
  @id = args[:id] if args.key?(:id)
4478
4765
  @impact = args[:impact] if args.key?(:impact)
4479
4766
  @observed_in_the_wild = args[:observed_in_the_wild] if args.key?(:observed_in_the_wild)
@@ -4560,6 +4847,91 @@ module Google
4560
4847
  end
4561
4848
  end
4562
4849
 
4850
+ # Details about a data access attempt made by a principal not authorized under
4851
+ # applicable data security policy.
4852
+ class GoogleCloudSecuritycenterV2DataAccessEvent
4853
+ include Google::Apis::Core::Hashable
4854
+
4855
+ # Unique identifier for data access event.
4856
+ # Corresponds to the JSON property `eventId`
4857
+ # @return [String]
4858
+ attr_accessor :event_id
4859
+
4860
+ # Timestamp of data access event.
4861
+ # Corresponds to the JSON property `eventTime`
4862
+ # @return [String]
4863
+ attr_accessor :event_time
4864
+
4865
+ # The operation performed by the principal to access the data.
4866
+ # Corresponds to the JSON property `operation`
4867
+ # @return [String]
4868
+ attr_accessor :operation
4869
+
4870
+ # The email address of the principal that accessed the data. The principal could
4871
+ # be a user account, service account, Google group, or other.
4872
+ # Corresponds to the JSON property `principalEmail`
4873
+ # @return [String]
4874
+ attr_accessor :principal_email
4875
+
4876
+ def initialize(**args)
4877
+ update!(**args)
4878
+ end
4879
+
4880
+ # Update properties of this object
4881
+ def update!(**args)
4882
+ @event_id = args[:event_id] if args.key?(:event_id)
4883
+ @event_time = args[:event_time] if args.key?(:event_time)
4884
+ @operation = args[:operation] if args.key?(:operation)
4885
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
4886
+ end
4887
+ end
4888
+
4889
+ # Details about a data flow event, in which either the data is moved to or is
4890
+ # accessed from a non-compliant geo-location, as defined in the applicable data
4891
+ # security policy.
4892
+ class GoogleCloudSecuritycenterV2DataFlowEvent
4893
+ include Google::Apis::Core::Hashable
4894
+
4895
+ # Unique identifier for data flow event.
4896
+ # Corresponds to the JSON property `eventId`
4897
+ # @return [String]
4898
+ attr_accessor :event_id
4899
+
4900
+ # Timestamp of data flow event.
4901
+ # Corresponds to the JSON property `eventTime`
4902
+ # @return [String]
4903
+ attr_accessor :event_time
4904
+
4905
+ # The operation performed by the principal for the data flow event.
4906
+ # Corresponds to the JSON property `operation`
4907
+ # @return [String]
4908
+ attr_accessor :operation
4909
+
4910
+ # The email address of the principal that initiated the data flow event. The
4911
+ # principal could be a user account, service account, Google group, or other.
4912
+ # Corresponds to the JSON property `principalEmail`
4913
+ # @return [String]
4914
+ attr_accessor :principal_email
4915
+
4916
+ # Non-compliant location of the principal or the data destination.
4917
+ # Corresponds to the JSON property `violatedLocation`
4918
+ # @return [String]
4919
+ attr_accessor :violated_location
4920
+
4921
+ def initialize(**args)
4922
+ update!(**args)
4923
+ end
4924
+
4925
+ # Update properties of this object
4926
+ def update!(**args)
4927
+ @event_id = args[:event_id] if args.key?(:event_id)
4928
+ @event_time = args[:event_time] if args.key?(:event_time)
4929
+ @operation = args[:operation] if args.key?(:operation)
4930
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
4931
+ @violated_location = args[:violated_location] if args.key?(:violated_location)
4932
+ end
4933
+ end
4934
+
4563
4935
  # Represents database access information, such as queries. A database may be a
4564
4936
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
4565
4937
  # Spanner instances), or the database instance itself. Some database resources
@@ -4648,6 +5020,26 @@ module Google
4648
5020
  end
4649
5021
  end
4650
5022
 
5023
+ # Contains information about the disk associated with the finding.
5024
+ class GoogleCloudSecuritycenterV2Disk
5025
+ include Google::Apis::Core::Hashable
5026
+
5027
+ # The name of the disk, for example, "https://www.googleapis.com/compute/v1/
5028
+ # projects/project-id/zones/zone-id/disks/disk-id".
5029
+ # Corresponds to the JSON property `name`
5030
+ # @return [String]
5031
+ attr_accessor :name
5032
+
5033
+ def initialize(**args)
5034
+ update!(**args)
5035
+ end
5036
+
5037
+ # Update properties of this object
5038
+ def update!(**args)
5039
+ @name = args[:name] if args.key?(:name)
5040
+ end
5041
+ end
5042
+
4651
5043
  # Path of the file in terms of underlying disk/partition identifiers.
4652
5044
  class GoogleCloudSecuritycenterV2DiskPath
4653
5045
  include Google::Apis::Core::Hashable
@@ -4675,6 +5067,33 @@ module Google
4675
5067
  end
4676
5068
  end
4677
5069
 
5070
+ # The record of a dynamic mute rule that matches the finding.
5071
+ class GoogleCloudSecuritycenterV2DynamicMuteRecord
5072
+ include Google::Apis::Core::Hashable
5073
+
5074
+ # When the dynamic mute rule first matched the finding.
5075
+ # Corresponds to the JSON property `matchTime`
5076
+ # @return [String]
5077
+ attr_accessor :match_time
5078
+
5079
+ # The relative resource name of the mute rule, represented by a mute config,
5080
+ # that created this record, for example `organizations/123/muteConfigs/
5081
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
5082
+ # Corresponds to the JSON property `muteConfig`
5083
+ # @return [String]
5084
+ attr_accessor :mute_config
5085
+
5086
+ def initialize(**args)
5087
+ update!(**args)
5088
+ end
5089
+
5090
+ # Update properties of this object
5091
+ def update!(**args)
5092
+ @match_time = args[:match_time] if args.key?(:match_time)
5093
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
5094
+ end
5095
+ end
5096
+
4678
5097
  # A name-value pair representing an environment variable used in an operating
4679
5098
  # system process.
4680
5099
  class GoogleCloudSecuritycenterV2EnvironmentVariable
@@ -5013,6 +5432,16 @@ module Google
5013
5432
  # @return [String]
5014
5433
  attr_accessor :create_time
5015
5434
 
5435
+ # Data access events associated with the finding.
5436
+ # Corresponds to the JSON property `dataAccessEvents`
5437
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DataAccessEvent>]
5438
+ attr_accessor :data_access_events
5439
+
5440
+ # Data flow events associated with the finding.
5441
+ # Corresponds to the JSON property `dataFlowEvents`
5442
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DataFlowEvent>]
5443
+ attr_accessor :data_flow_events
5444
+
5016
5445
  # Represents database access information, such as queries. A database may be a
5017
5446
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
5018
5447
  # Spanner instances), or the database instance itself. Some database resources
@@ -5029,6 +5458,11 @@ module Google
5029
5458
  # @return [String]
5030
5459
  attr_accessor :description
5031
5460
 
5461
+ # Contains information about the disk associated with the finding.
5462
+ # Corresponds to the JSON property `disk`
5463
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Disk]
5464
+ attr_accessor :disk
5465
+
5032
5466
  # The time the finding was first detected. If an existing finding is updated,
5033
5467
  # then this is the time the update occurred. For example, if the finding
5034
5468
  # represents an open firewall, this property captures the time the detector
@@ -5130,6 +5564,12 @@ module Google
5130
5564
  # @return [String]
5131
5565
  attr_accessor :mute
5132
5566
 
5567
+ # Mute information about the finding, including whether the finding has a static
5568
+ # mute or any matching dynamic mute rules.
5569
+ # Corresponds to the JSON property `muteInfo`
5570
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2MuteInfo]
5571
+ attr_accessor :mute_info
5572
+
5133
5573
  # Records additional information about the mute operation, for example, the [
5134
5574
  # mute configuration](https://cloud.google.com/security-command-center/docs/how-
5135
5575
  # to-mute-findings) that muted the finding and the user who muted the finding.
@@ -5272,8 +5712,11 @@ module Google
5272
5712
  @contacts = args[:contacts] if args.key?(:contacts)
5273
5713
  @containers = args[:containers] if args.key?(:containers)
5274
5714
  @create_time = args[:create_time] if args.key?(:create_time)
5715
+ @data_access_events = args[:data_access_events] if args.key?(:data_access_events)
5716
+ @data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
5275
5717
  @database = args[:database] if args.key?(:database)
5276
5718
  @description = args[:description] if args.key?(:description)
5719
+ @disk = args[:disk] if args.key?(:disk)
5277
5720
  @event_time = args[:event_time] if args.key?(:event_time)
5278
5721
  @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
5279
5722
  @external_systems = args[:external_systems] if args.key?(:external_systems)
@@ -5290,6 +5733,7 @@ module Google
5290
5733
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
5291
5734
  @module_name = args[:module_name] if args.key?(:module_name)
5292
5735
  @mute = args[:mute] if args.key?(:mute)
5736
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
5293
5737
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
5294
5738
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
5295
5739
  @name = args[:name] if args.key?(:name)
@@ -5762,6 +6206,12 @@ module Google
5762
6206
  # @return [String]
5763
6207
  attr_accessor :description
5764
6208
 
6209
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
6210
+ # If the expiry is set, when the config expires, it is removed from all findings.
6211
+ # Corresponds to the JSON property `expiryTime`
6212
+ # @return [String]
6213
+ attr_accessor :expiry_time
6214
+
5765
6215
  # Required. An expression that defines the filter to apply across create/update
5766
6216
  # events of findings. While creating a filter string, be mindful of the scope in
5767
6217
  # which the mute configuration is being created. E.g., If a filter contains
@@ -5783,13 +6233,13 @@ module Google
5783
6233
  # @return [String]
5784
6234
  attr_accessor :most_recent_editor
5785
6235
 
5786
- # This field will be ignored if provided on config creation. The following list
5787
- # shows some examples of the format: + `organizations/`organization`/muteConfigs/
5788
- # `mute_config`` + `organizations/`organization`locations/`location`//
5789
- # muteConfigs/`mute_config`` + `folders/`folder`/muteConfigs/`mute_config`` + `
5790
- # folders/`folder`/locations/`location`/muteConfigs/`mute_config`` + `projects/`
5791
- # project`/muteConfigs/`mute_config`` + `projects/`project`/locations/`location`/
5792
- # muteConfigs/`mute_config``
6236
+ # Identifier. This field will be ignored if provided on config creation. The
6237
+ # following list shows some examples of the format: + `organizations/`
6238
+ # organization`/muteConfigs/`mute_config`` + `organizations/`organization`
6239
+ # locations/`location`//muteConfigs/`mute_config`` + `folders/`folder`/
6240
+ # muteConfigs/`mute_config`` + `folders/`folder`/locations/`location`/
6241
+ # muteConfigs/`mute_config`` + `projects/`project`/muteConfigs/`mute_config`` + `
6242
+ # projects/`project`/locations/`location`/muteConfigs/`mute_config``
5793
6243
  # Corresponds to the JSON property `name`
5794
6244
  # @return [String]
5795
6245
  attr_accessor :name
@@ -5815,6 +6265,7 @@ module Google
5815
6265
  def update!(**args)
5816
6266
  @create_time = args[:create_time] if args.key?(:create_time)
5817
6267
  @description = args[:description] if args.key?(:description)
6268
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
5818
6269
  @filter = args[:filter] if args.key?(:filter)
5819
6270
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
5820
6271
  @name = args[:name] if args.key?(:name)
@@ -5823,6 +6274,34 @@ module Google
5823
6274
  end
5824
6275
  end
5825
6276
 
6277
+ # Mute information about the finding, including whether the finding has a static
6278
+ # mute or any matching dynamic mute rules.
6279
+ class GoogleCloudSecuritycenterV2MuteInfo
6280
+ include Google::Apis::Core::Hashable
6281
+
6282
+ # The list of dynamic mute rules that currently match the finding.
6283
+ # Corresponds to the JSON property `dynamicMuteRecords`
6284
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DynamicMuteRecord>]
6285
+ attr_accessor :dynamic_mute_records
6286
+
6287
+ # Information about the static mute state. A static mute state overrides any
6288
+ # dynamic mute rules that apply to this finding. The static mute state can be
6289
+ # set by a static mute rule or by muting the finding directly.
6290
+ # Corresponds to the JSON property `staticMute`
6291
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2StaticMute]
6292
+ attr_accessor :static_mute
6293
+
6294
+ def initialize(**args)
6295
+ update!(**args)
6296
+ end
6297
+
6298
+ # Update properties of this object
6299
+ def update!(**args)
6300
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
6301
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
6302
+ end
6303
+ end
6304
+
5826
6305
  # Kubernetes nodes associated with the finding.
5827
6306
  class GoogleCloudSecuritycenterV2Node
5828
6307
  include Google::Apis::Core::Hashable
@@ -6342,13 +6821,14 @@ module Google
6342
6821
  attr_accessor :resource_path
6343
6822
 
6344
6823
  # A string representation of the resource path. For Google Cloud, it has the
6345
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
6346
- # folder_id`/projects/`project_id` where there can be any number of folders. For
6347
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
6348
- # `organizational_unit_id`/account/`account_id` where there can be any number of
6349
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
6350
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
6351
- # resource_group_name` where there can be any number of management groups.
6824
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
6825
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
6826
+ # For AWS, it has the format of `org/`organization_id`/ou/`
6827
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
6828
+ # where there can be any number of organizational units. For Azure, it has the
6829
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
6830
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
6831
+ # management groups.
6352
6832
  # Corresponds to the JSON property `resourcePathString`
6353
6833
  # @return [String]
6354
6834
  attr_accessor :resource_path_string
@@ -6456,36 +6936,36 @@ module Google
6456
6936
  # @return [String]
6457
6937
  attr_accessor :description
6458
6938
 
6459
- # Name for the resource value configuration
6939
+ # Identifier. Name for the resource value configuration
6460
6940
  # Corresponds to the JSON property `name`
6461
6941
  # @return [String]
6462
6942
  attr_accessor :name
6463
6943
 
6464
- # List of resource labels to search for, evaluated with AND. For example, "
6944
+ # List of resource labels to search for, evaluated with `AND`. For example, "
6465
6945
  # resource_labels_selector": `"key": "value", "env": "prod"` will match
6466
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
6946
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
6467
6947
  # com/resource-manager/docs/creating-managing-labels
6468
6948
  # Corresponds to the JSON property `resourceLabelsSelector`
6469
6949
  # @return [Hash<String,String>]
6470
6950
  attr_accessor :resource_labels_selector
6471
6951
 
6472
6952
  # Apply resource_value only to resources that match resource_type. resource_type
6473
- # will be checked with AND of other resources. For example, "storage.googleapis.
6474
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
6475
- # storage.googleapis.com/Bucket" resources.
6953
+ # will be checked with `AND` of other resources. For example, "storage.
6954
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
6955
+ # to "storage.googleapis.com/Bucket" resources.
6476
6956
  # Corresponds to the JSON property `resourceType`
6477
6957
  # @return [String]
6478
6958
  attr_accessor :resource_type
6479
6959
 
6480
6960
  # Resource value level this expression represents Only required when there is no
6481
- # SDP mapping in the request
6961
+ # Sensitive Data Protection mapping in the request
6482
6962
  # Corresponds to the JSON property `resourceValue`
6483
6963
  # @return [String]
6484
6964
  attr_accessor :resource_value
6485
6965
 
6486
6966
  # Project or folder to scope this configuration to. For example, "project/456"
6487
- # would apply this configuration only to resources in "project/456" scope will
6488
- # be checked with AND of other resources.
6967
+ # would apply this configuration only to resources in "project/456" scope and
6968
+ # will be checked with `AND` of other resources.
6489
6969
  # Corresponds to the JSON property `scope`
6490
6970
  # @return [String]
6491
6971
  attr_accessor :scope
@@ -6497,9 +6977,10 @@ module Google
6497
6977
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
6498
6978
  attr_accessor :sensitive_data_protection_mapping
6499
6979
 
6500
- # Required. Tag values combined with AND to check against. Values in the form "
6501
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
6502
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
6980
+ # Tag values combined with `AND` to check against. For Google Cloud resources,
6981
+ # they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/
6982
+ # 123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-
6983
+ # manager/docs/tags/tags-creating-and-managing
6503
6984
  # Corresponds to the JSON property `tagValues`
6504
6985
  # @return [Array<String>]
6505
6986
  attr_accessor :tag_values
@@ -6809,6 +7290,34 @@ module Google
6809
7290
  end
6810
7291
  end
6811
7292
 
7293
+ # Information about the static mute state. A static mute state overrides any
7294
+ # dynamic mute rules that apply to this finding. The static mute state can be
7295
+ # set by a static mute rule or by muting the finding directly.
7296
+ class GoogleCloudSecuritycenterV2StaticMute
7297
+ include Google::Apis::Core::Hashable
7298
+
7299
+ # When the static mute was applied.
7300
+ # Corresponds to the JSON property `applyTime`
7301
+ # @return [String]
7302
+ attr_accessor :apply_time
7303
+
7304
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
7305
+ # s overall mute state will have the same value.
7306
+ # Corresponds to the JSON property `state`
7307
+ # @return [String]
7308
+ attr_accessor :state
7309
+
7310
+ def initialize(**args)
7311
+ update!(**args)
7312
+ end
7313
+
7314
+ # Update properties of this object
7315
+ def update!(**args)
7316
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
7317
+ @state = args[:state] if args.key?(:state)
7318
+ end
7319
+ end
7320
+
6812
7321
  # Represents a Kubernetes subject.
6813
7322
  class GoogleCloudSecuritycenterV2Subject
6814
7323
  include Google::Apis::Core::Hashable
@@ -6905,7 +7414,7 @@ module Google
6905
7414
  attr_accessor :attack_exposure_score
6906
7415
 
6907
7416
  # List of resource names of findings associated with this toxic combination. For
6908
- # example, organizations/123/sources/456/findings/789.
7417
+ # example, `organizations/123/sources/456/findings/789`.
6909
7418
  # Corresponds to the JSON property `relatedFindings`
6910
7419
  # @return [Array<String>]
6911
7420
  attr_accessor :related_findings
@@ -7370,6 +7879,34 @@ module Google
7370
7879
  end
7371
7880
  end
7372
7881
 
7882
+ # Mute information about the finding, including whether the finding has a static
7883
+ # mute or any matching dynamic mute rules.
7884
+ class MuteInfo
7885
+ include Google::Apis::Core::Hashable
7886
+
7887
+ # The list of dynamic mute rules that currently match the finding.
7888
+ # Corresponds to the JSON property `dynamicMuteRecords`
7889
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DynamicMuteRecord>]
7890
+ attr_accessor :dynamic_mute_records
7891
+
7892
+ # Information about the static mute state. A static mute state overrides any
7893
+ # dynamic mute rules that apply to this finding. The static mute state can be
7894
+ # set by a static mute rule or by muting the finding directly.
7895
+ # Corresponds to the JSON property `staticMute`
7896
+ # @return [Google::Apis::SecuritycenterV1beta2::StaticMute]
7897
+ attr_accessor :static_mute
7898
+
7899
+ def initialize(**args)
7900
+ update!(**args)
7901
+ end
7902
+
7903
+ # Update properties of this object
7904
+ def update!(**args)
7905
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
7906
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
7907
+ end
7908
+ end
7909
+
7373
7910
  # Kubernetes nodes associated with the finding.
7374
7911
  class Node
7375
7912
  include Google::Apis::Core::Hashable
@@ -8014,14 +8551,14 @@ module Google
8014
8551
 
8015
8552
  # The configurations including the state of enablement for the service's
8016
8553
  # different modules. The absence of a module in the map implies its
8017
- # configuration is inherited from its parent's.
8554
+ # configuration is inherited from its parent's configuration.
8018
8555
  # Corresponds to the JSON property `modules`
8019
8556
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
8020
8557
  attr_accessor :modules
8021
8558
 
8022
- # The resource name of the SecurityHealthAnalyticsSettings. Formats: *
8023
- # organizations/`organization`/securityHealthAnalyticsSettings * folders/`folder`
8024
- # /securityHealthAnalyticsSettings * projects/`project`/
8559
+ # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats:
8560
+ # * organizations/`organization`/securityHealthAnalyticsSettings * folders/`
8561
+ # folder`/securityHealthAnalyticsSettings * projects/`project`/
8025
8562
  # securityHealthAnalyticsSettings
8026
8563
  # Corresponds to the JSON property `name`
8027
8564
  # @return [String]
@@ -8239,6 +8776,34 @@ module Google
8239
8776
  end
8240
8777
  end
8241
8778
 
8779
+ # Information about the static mute state. A static mute state overrides any
8780
+ # dynamic mute rules that apply to this finding. The static mute state can be
8781
+ # set by a static mute rule or by muting the finding directly.
8782
+ class StaticMute
8783
+ include Google::Apis::Core::Hashable
8784
+
8785
+ # When the static mute was applied.
8786
+ # Corresponds to the JSON property `applyTime`
8787
+ # @return [String]
8788
+ attr_accessor :apply_time
8789
+
8790
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
8791
+ # s overall mute state will have the same value.
8792
+ # Corresponds to the JSON property `state`
8793
+ # @return [String]
8794
+ attr_accessor :state
8795
+
8796
+ def initialize(**args)
8797
+ update!(**args)
8798
+ end
8799
+
8800
+ # Update properties of this object
8801
+ def update!(**args)
8802
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
8803
+ @state = args[:state] if args.key?(:state)
8804
+ end
8805
+ end
8806
+
8242
8807
  # Represents a Kubernetes subject.
8243
8808
  class Subject
8244
8809
  include Google::Apis::Core::Hashable
@@ -8367,7 +8932,7 @@ module Google
8367
8932
  attr_accessor :attack_exposure_score
8368
8933
 
8369
8934
  # List of resource names of findings associated with this toxic combination. For
8370
- # example, organizations/123/sources/456/findings/789.
8935
+ # example, `organizations/123/sources/456/findings/789`.
8371
8936
  # Corresponds to the JSON property `relatedFindings`
8372
8937
  # @return [Array<String>]
8373
8938
  attr_accessor :related_findings
@@ -8390,14 +8955,14 @@ module Google
8390
8955
 
8391
8956
  # The configurations including the state of enablement for the service's
8392
8957
  # different modules. The absence of a module in the map implies its
8393
- # configuration is inherited from its parent's.
8958
+ # configuration is inherited from its parent's configuration.
8394
8959
  # Corresponds to the JSON property `modules`
8395
8960
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
8396
8961
  attr_accessor :modules
8397
8962
 
8398
- # The resource name of the VirtualMachineThreatDetectionSettings. Formats: *
8399
- # organizations/`organization`/virtualMachineThreatDetectionSettings * folders/`
8400
- # folder`/virtualMachineThreatDetectionSettings * projects/`project`/
8963
+ # Identifier. The resource name of the VirtualMachineThreatDetectionSettings.
8964
+ # Formats: * organizations/`organization`/virtualMachineThreatDetectionSettings *
8965
+ # folders/`folder`/virtualMachineThreatDetectionSettings * projects/`project`/
8401
8966
  # virtualMachineThreatDetectionSettings
8402
8967
  # Corresponds to the JSON property `name`
8403
8968
  # @return [String]
@@ -8536,13 +9101,13 @@ module Google
8536
9101
 
8537
9102
  # The configurations including the state of enablement for the service's
8538
9103
  # different modules. The absence of a module in the map implies its
8539
- # configuration is inherited from its parent's.
9104
+ # configuration is inherited from its parent's configuration.
8540
9105
  # Corresponds to the JSON property `modules`
8541
9106
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
8542
9107
  attr_accessor :modules
8543
9108
 
8544
- # The resource name of the WebSecurityScannerSettings. Formats: * organizations/`
8545
- # organization`/webSecurityScannerSettings * folders/`folder`/
9109
+ # Identifier. The resource name of the WebSecurityScannerSettings. Formats: *
9110
+ # organizations/`organization`/webSecurityScannerSettings * folders/`folder`/
8546
9111
  # webSecurityScannerSettings * projects/`project`/webSecurityScannerSettings
8547
9112
  # Corresponds to the JSON property `name`
8548
9113
  # @return [String]