google-apis-securitycenter_v1beta2 0.70.0 → 0.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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]