google-apis-securitycenter_v1 0.83.0 → 0.85.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -383,8 +383,8 @@ module Google
383
383
  include Google::Apis::Core::Hashable
384
384
 
385
385
  # The resource name of the attack path simulation result that contains the
386
- # details regarding this attack exposure score. Example: organizations/123/
387
- # simulations/456/attackExposureResults/789
386
+ # details regarding this attack exposure score. Example: `organizations/123/
387
+ # simulations/456/attackExposureResults/789`
388
388
  # Corresponds to the JSON property `attackExposureResult`
389
389
  # @return [String]
390
390
  attr_accessor :attack_exposure_result
@@ -519,14 +519,14 @@ module Google
519
519
  attr_accessor :display_name
520
520
 
521
521
  # The name of the resource at this point in the attack path. The format of the
522
- # name follows the Cloud Asset Inventory [resource name format]("https://cloud.
523
- # google.com/asset-inventory/docs/resource-name-format")
522
+ # name follows the Cloud Asset Inventory [resource name format](https://cloud.
523
+ # google.com/asset-inventory/docs/resource-name-format)
524
524
  # Corresponds to the JSON property `resource`
525
525
  # @return [String]
526
526
  attr_accessor :resource
527
527
 
528
528
  # The [supported resource type](https://cloud.google.com/asset-inventory/docs/
529
- # supported-asset-types")
529
+ # supported-asset-types)
530
530
  # Corresponds to the JSON property `resourceType`
531
531
  # @return [String]
532
532
  attr_accessor :resource_type
@@ -788,8 +788,8 @@ module Google
788
788
  # @return [String]
789
789
  attr_accessor :display_name
790
790
 
791
- # The UUID of the Azure management group, for example, "20000000-0001-0000-0000-
792
- # 000000000000".
791
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
792
+ # 000000000000`.
793
793
  # Corresponds to the JSON property `id`
794
794
  # @return [String]
795
795
  attr_accessor :id
@@ -866,8 +866,8 @@ module Google
866
866
  # @return [String]
867
867
  attr_accessor :display_name
868
868
 
869
- # The UUID of the Azure subscription, for example, "291bba3f-e0a5-47bc-a099-
870
- # 3bdcb2a50a05".
869
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
870
+ # 3bdcb2a50a05`.
871
871
  # Corresponds to the JSON property `id`
872
872
  # @return [String]
873
873
  attr_accessor :id
@@ -1144,6 +1144,13 @@ module Google
1144
1144
  # @return [String]
1145
1145
  attr_accessor :mute_annotation
1146
1146
 
1147
+ # Optional. All findings matching the given filter will have their mute state
1148
+ # set to this value. The default value is `MUTED`. Setting this to `UNDEFINED`
1149
+ # will clear the mute state on all matching findings.
1150
+ # Corresponds to the JSON property `muteState`
1151
+ # @return [String]
1152
+ attr_accessor :mute_state
1153
+
1147
1154
  def initialize(**args)
1148
1155
  update!(**args)
1149
1156
  end
@@ -1152,6 +1159,7 @@ module Google
1152
1159
  def update!(**args)
1153
1160
  @filter = args[:filter] if args.key?(:filter)
1154
1161
  @mute_annotation = args[:mute_annotation] if args.key?(:mute_annotation)
1162
+ @mute_state = args[:mute_state] if args.key?(:mute_state)
1155
1163
  end
1156
1164
  end
1157
1165
 
@@ -1637,6 +1645,11 @@ module Google
1637
1645
  # @return [Google::Apis::SecuritycenterV1::Cvssv3]
1638
1646
  attr_accessor :cvssv3
1639
1647
 
1648
+ # Date the first publicly available exploit or PoC was released.
1649
+ # Corresponds to the JSON property `exploitReleaseDate`
1650
+ # @return [String]
1651
+ attr_accessor :exploit_release_date
1652
+
1640
1653
  # The exploitation activity of the vulnerability in the wild.
1641
1654
  # Corresponds to the JSON property `exploitationActivity`
1642
1655
  # @return [String]
@@ -1683,6 +1696,7 @@ module Google
1683
1696
  # Update properties of this object
1684
1697
  def update!(**args)
1685
1698
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
1699
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
1686
1700
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
1687
1701
  @id = args[:id] if args.key?(:id)
1688
1702
  @impact = args[:impact] if args.key?(:impact)
@@ -1885,6 +1899,33 @@ module Google
1885
1899
  end
1886
1900
  end
1887
1901
 
1902
+ # The record of a dynamic mute rule that matches the finding.
1903
+ class DynamicMuteRecord
1904
+ include Google::Apis::Core::Hashable
1905
+
1906
+ # When the dynamic mute rule first matched the finding.
1907
+ # Corresponds to the JSON property `matchTime`
1908
+ # @return [String]
1909
+ attr_accessor :match_time
1910
+
1911
+ # The relative resource name of the mute rule, represented by a mute config,
1912
+ # that created this record, for example `organizations/123/muteConfigs/
1913
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
1914
+ # Corresponds to the JSON property `muteConfig`
1915
+ # @return [String]
1916
+ attr_accessor :mute_config
1917
+
1918
+ def initialize(**args)
1919
+ update!(**args)
1920
+ end
1921
+
1922
+ # Update properties of this object
1923
+ def update!(**args)
1924
+ @match_time = args[:match_time] if args.key?(:match_time)
1925
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
1926
+ end
1927
+ end
1928
+
1888
1929
  # An EffectiveEventThreatDetectionCustomModule is the representation of an Event
1889
1930
  # Threat Detection custom module at a specified level of the resource hierarchy:
1890
1931
  # organization, folder, or project. If a custom module is inherited from a
@@ -1919,10 +1960,10 @@ module Google
1919
1960
  attr_accessor :enablement_state
1920
1961
 
1921
1962
  # Output only. The resource name of the effective ETD custom module. Its format
1922
- # is: * "organizations/`organization`/eventThreatDetectionSettings/
1923
- # effectiveCustomModules/`module`". * "folders/`folder`/
1924
- # eventThreatDetectionSettings/effectiveCustomModules/`module`". * "projects/`
1925
- # project`/eventThreatDetectionSettings/effectiveCustomModules/`module`".
1963
+ # is: * `organizations/`organization`/eventThreatDetectionSettings/
1964
+ # effectiveCustomModules/`module``. * `folders/`folder`/
1965
+ # eventThreatDetectionSettings/effectiveCustomModules/`module``. * `projects/`
1966
+ # project`/eventThreatDetectionSettings/effectiveCustomModules/`module``.
1926
1967
  # Corresponds to the JSON property `name`
1927
1968
  # @return [String]
1928
1969
  attr_accessor :name
@@ -2032,10 +2073,10 @@ module Google
2032
2073
  attr_accessor :last_editor
2033
2074
 
2034
2075
  # Immutable. The resource name of the Event Threat Detection custom module. Its
2035
- # format is: * "organizations/`organization`/eventThreatDetectionSettings/
2036
- # customModules/`module`". * "folders/`folder`/eventThreatDetectionSettings/
2037
- # customModules/`module`". * "projects/`project`/eventThreatDetectionSettings/
2038
- # customModules/`module`".
2076
+ # format is: * `organizations/`organization`/eventThreatDetectionSettings/
2077
+ # customModules/`module``. * `folders/`folder`/eventThreatDetectionSettings/
2078
+ # customModules/`module``. * `projects/`project`/eventThreatDetectionSettings/
2079
+ # customModules/`module``.
2039
2080
  # Corresponds to the JSON property `name`
2040
2081
  # @return [String]
2041
2082
  attr_accessor :name
@@ -2457,6 +2498,12 @@ module Google
2457
2498
  # @return [String]
2458
2499
  attr_accessor :mute
2459
2500
 
2501
+ # Mute information about the finding, including whether the finding has a static
2502
+ # mute or any matching dynamic mute rules.
2503
+ # Corresponds to the JSON property `muteInfo`
2504
+ # @return [Google::Apis::SecuritycenterV1::MuteInfo]
2505
+ attr_accessor :mute_info
2506
+
2460
2507
  # Records additional information about the mute operation, for example, the [
2461
2508
  # mute configuration](/security-command-center/docs/how-to-mute-findings) that
2462
2509
  # muted the finding and the user who muted the finding.
@@ -2608,6 +2655,7 @@ module Google
2608
2655
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
2609
2656
  @module_name = args[:module_name] if args.key?(:module_name)
2610
2657
  @mute = args[:mute] if args.key?(:mute)
2658
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
2611
2659
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
2612
2660
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
2613
2661
  @name = args[:name] if args.key?(:name)
@@ -3162,6 +3210,12 @@ module Google
3162
3210
  # @return [String]
3163
3211
  attr_accessor :display_name
3164
3212
 
3213
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
3214
+ # If the expiry is set, when the config expires, it is removed from all findings.
3215
+ # Corresponds to the JSON property `expiryTime`
3216
+ # @return [String]
3217
+ attr_accessor :expiry_time
3218
+
3165
3219
  # Required. An expression that defines the filter to apply across create/update
3166
3220
  # events of findings. While creating a filter string, be mindful of the scope in
3167
3221
  # which the mute configuration is being created. E.g., If a filter contains
@@ -3183,16 +3237,24 @@ module Google
3183
3237
  # @return [String]
3184
3238
  attr_accessor :most_recent_editor
3185
3239
 
3186
- # This field will be ignored if provided on config creation. Format "
3187
- # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
3188
- # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`" "
3189
- # organizations/`organization`/locations/global/muteConfigs/`mute_config`" "
3190
- # folders/`folder`/locations/global/muteConfigs/`mute_config`" "projects/`
3191
- # project`/locations/global/muteConfigs/`mute_config`"
3240
+ # This field will be ignored if provided on config creation. Format `
3241
+ # organizations/`organization`/muteConfigs/`mute_config`` `folders/`folder`/
3242
+ # muteConfigs/`mute_config`` `projects/`project`/muteConfigs/`mute_config`` `
3243
+ # organizations/`organization`/locations/global/muteConfigs/`mute_config`` `
3244
+ # folders/`folder`/locations/global/muteConfigs/`mute_config`` `projects/`
3245
+ # project`/locations/global/muteConfigs/`mute_config``
3192
3246
  # Corresponds to the JSON property `name`
3193
3247
  # @return [String]
3194
3248
  attr_accessor :name
3195
3249
 
3250
+ # Optional. The type of the mute config, which determines what type of mute
3251
+ # state the config affects. The static mute state takes precedence over the
3252
+ # dynamic mute state. Immutable after creation. STATIC by default if not set
3253
+ # during creation.
3254
+ # Corresponds to the JSON property `type`
3255
+ # @return [String]
3256
+ attr_accessor :type
3257
+
3196
3258
  # Output only. The most recent time at which the mute config was updated. This
3197
3259
  # field is set by the server and will be ignored if provided on config creation
3198
3260
  # or update.
@@ -3209,9 +3271,11 @@ module Google
3209
3271
  @create_time = args[:create_time] if args.key?(:create_time)
3210
3272
  @description = args[:description] if args.key?(:description)
3211
3273
  @display_name = args[:display_name] if args.key?(:display_name)
3274
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
3212
3275
  @filter = args[:filter] if args.key?(:filter)
3213
3276
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
3214
3277
  @name = args[:name] if args.key?(:name)
3278
+ @type = args[:type] if args.key?(:type)
3215
3279
  @update_time = args[:update_time] if args.key?(:update_time)
3216
3280
  end
3217
3281
  end
@@ -3367,13 +3431,14 @@ module Google
3367
3431
  attr_accessor :resource_path
3368
3432
 
3369
3433
  # A string representation of the resource path. For Google Cloud, it has the
3370
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
3371
- # folder_id`/projects/`project_id` where there can be any number of folders. For
3372
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
3373
- # `organizational_unit_id`/account/`account_id` where there can be any number of
3374
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
3375
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
3376
- # resource_group_name` where there can be any number of management groups.
3434
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
3435
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
3436
+ # For AWS, it has the format of `org/`organization_id`/ou/`
3437
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
3438
+ # where there can be any number of organizational units. For Azure, it has the
3439
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
3440
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
3441
+ # management groups.
3377
3442
  # Corresponds to the JSON property `resourcePathString`
3378
3443
  # @return [String]
3379
3444
  attr_accessor :resource_path_string
@@ -3458,18 +3523,18 @@ module Google
3458
3523
  # @return [String]
3459
3524
  attr_accessor :name
3460
3525
 
3461
- # List of resource labels to search for, evaluated with AND. For example, "
3462
- # resource_labels_selector": `"key": "value", "env": "prod"` will match
3463
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
3526
+ # List of resource labels to search for, evaluated with `AND`. For example, `"
3527
+ # resource_labels_selector": `"key": "value", "env": "prod"`` will match
3528
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
3464
3529
  # com/resource-manager/docs/creating-managing-labels
3465
3530
  # Corresponds to the JSON property `resourceLabelsSelector`
3466
3531
  # @return [Hash<String,String>]
3467
3532
  attr_accessor :resource_labels_selector
3468
3533
 
3469
3534
  # Apply resource_value only to resources that match resource_type. resource_type
3470
- # will be checked with AND of other resources. For example, "storage.googleapis.
3471
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
3472
- # storage.googleapis.com/Bucket" resources.
3535
+ # will be checked with `AND` of other resources. For example, "storage.
3536
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
3537
+ # to "storage.googleapis.com/Bucket" resources.
3473
3538
  # Corresponds to the JSON property `resourceType`
3474
3539
  # @return [String]
3475
3540
  attr_accessor :resource_type
@@ -3481,7 +3546,7 @@ module Google
3481
3546
 
3482
3547
  # Project or folder to scope this configuration to. For example, "project/456"
3483
3548
  # would apply this configuration only to resources in "project/456" scope will
3484
- # be checked with AND of other resources.
3549
+ # be checked with `AND` of other resources.
3485
3550
  # Corresponds to the JSON property `scope`
3486
3551
  # @return [String]
3487
3552
  attr_accessor :scope
@@ -3493,9 +3558,10 @@ module Google
3493
3558
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
3494
3559
  attr_accessor :sensitive_data_protection_mapping
3495
3560
 
3496
- # Required. Tag values combined with AND to check against. Values in the form "
3497
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
3498
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
3561
+ # Required. Tag values combined with `AND` to check against. Values in the form "
3562
+ # tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]`
3563
+ # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-
3564
+ # managing
3499
3565
  # Corresponds to the JSON property `tagValues`
3500
3566
  # @return [Array<String>]
3501
3567
  attr_accessor :tag_values
@@ -4229,8 +4295,8 @@ module Google
4229
4295
  include Google::Apis::Core::Hashable
4230
4296
 
4231
4297
  # The resource name of the attack path simulation result that contains the
4232
- # details regarding this attack exposure score. Example: organizations/123/
4233
- # simulations/456/attackExposureResults/789
4298
+ # details regarding this attack exposure score. Example: `organizations/123/
4299
+ # simulations/456/attackExposureResults/789`
4234
4300
  # Corresponds to the JSON property `attackExposureResult`
4235
4301
  # @return [String]
4236
4302
  attr_accessor :attack_exposure_result
@@ -4410,8 +4476,8 @@ module Google
4410
4476
  # @return [String]
4411
4477
  attr_accessor :display_name
4412
4478
 
4413
- # The UUID of the Azure management group, for example, "20000000-0001-0000-0000-
4414
- # 000000000000".
4479
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
4480
+ # 000000000000`.
4415
4481
  # Corresponds to the JSON property `id`
4416
4482
  # @return [String]
4417
4483
  attr_accessor :id
@@ -4488,8 +4554,8 @@ module Google
4488
4554
  # @return [String]
4489
4555
  attr_accessor :display_name
4490
4556
 
4491
- # The UUID of the Azure subscription, for example, "291bba3f-e0a5-47bc-a099-
4492
- # 3bdcb2a50a05".
4557
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
4558
+ # 3bdcb2a50a05`.
4493
4559
  # Corresponds to the JSON property `id`
4494
4560
  # @return [String]
4495
4561
  attr_accessor :id
@@ -4613,7 +4679,7 @@ module Google
4613
4679
  attr_accessor :create_time
4614
4680
 
4615
4681
  # The dataset to write findings' updates to. Its format is "projects/[project_id]
4616
- # /datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only
4682
+ # /datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only
4617
4683
  # letters (a-z, A-Z), numbers (0-9), or underscores (_).
4618
4684
  # Corresponds to the JSON property `dataset`
4619
4685
  # @return [String]
@@ -4645,13 +4711,13 @@ module Google
4645
4711
  # @return [String]
4646
4712
  attr_accessor :most_recent_editor
4647
4713
 
4648
- # The relative resource name of this export. See: https://cloud.google.com/apis/
4649
- # design/resource_names#relative_resource_name. The following list shows some
4650
- # examples: + `organizations/`organization_id`/locations/`location_id`/
4651
- # bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`location_id`/
4652
- # bigQueryExports/`export_id`` + `projects/`project_id`/locations/`location_id`/
4653
- # bigQueryExports/`export_id`` This field is provided in responses, and is
4654
- # ignored when provided in create requests.
4714
+ # Identifier. The relative resource name of this export. See: https://cloud.
4715
+ # google.com/apis/design/resource_names#relative_resource_name. The following
4716
+ # list shows some examples: + `organizations/`organization_id`/locations/`
4717
+ # location_id`/bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`
4718
+ # location_id`/bigQueryExports/`export_id`` + `projects/`project_id`/locations/`
4719
+ # location_id`/bigQueryExports/`export_id`` This field is provided in responses,
4720
+ # and is ignored when provided in create requests.
4655
4721
  # Corresponds to the JSON property `name`
4656
4722
  # @return [String]
4657
4723
  attr_accessor :name
@@ -5073,6 +5139,11 @@ module Google
5073
5139
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Cvssv3]
5074
5140
  attr_accessor :cvssv3
5075
5141
 
5142
+ # Date the first publicly available exploit or PoC was released.
5143
+ # Corresponds to the JSON property `exploitReleaseDate`
5144
+ # @return [String]
5145
+ attr_accessor :exploit_release_date
5146
+
5076
5147
  # The exploitation activity of the vulnerability in the wild.
5077
5148
  # Corresponds to the JSON property `exploitationActivity`
5078
5149
  # @return [String]
@@ -5119,6 +5190,7 @@ module Google
5119
5190
  # Update properties of this object
5120
5191
  def update!(**args)
5121
5192
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
5193
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
5122
5194
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
5123
5195
  @id = args[:id] if args.key?(:id)
5124
5196
  @impact = args[:impact] if args.key?(:impact)
@@ -5321,6 +5393,33 @@ module Google
5321
5393
  end
5322
5394
  end
5323
5395
 
5396
+ # The record of a dynamic mute rule that matches the finding.
5397
+ class GoogleCloudSecuritycenterV2DynamicMuteRecord
5398
+ include Google::Apis::Core::Hashable
5399
+
5400
+ # When the dynamic mute rule first matched the finding.
5401
+ # Corresponds to the JSON property `matchTime`
5402
+ # @return [String]
5403
+ attr_accessor :match_time
5404
+
5405
+ # The relative resource name of the mute rule, represented by a mute config,
5406
+ # that created this record, for example `organizations/123/muteConfigs/
5407
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
5408
+ # Corresponds to the JSON property `muteConfig`
5409
+ # @return [String]
5410
+ attr_accessor :mute_config
5411
+
5412
+ def initialize(**args)
5413
+ update!(**args)
5414
+ end
5415
+
5416
+ # Update properties of this object
5417
+ def update!(**args)
5418
+ @match_time = args[:match_time] if args.key?(:match_time)
5419
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
5420
+ end
5421
+ end
5422
+
5324
5423
  # A name-value pair representing an environment variable used in an operating
5325
5424
  # system process.
5326
5425
  class GoogleCloudSecuritycenterV2EnvironmentVariable
@@ -5776,6 +5875,12 @@ module Google
5776
5875
  # @return [String]
5777
5876
  attr_accessor :mute
5778
5877
 
5878
+ # Mute information about the finding, including whether the finding has a static
5879
+ # mute or any matching dynamic mute rules.
5880
+ # Corresponds to the JSON property `muteInfo`
5881
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2MuteInfo]
5882
+ attr_accessor :mute_info
5883
+
5779
5884
  # Records additional information about the mute operation, for example, the [
5780
5885
  # mute configuration](https://cloud.google.com/security-command-center/docs/how-
5781
5886
  # to-mute-findings) that muted the finding and the user who muted the finding.
@@ -5936,6 +6041,7 @@ module Google
5936
6041
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
5937
6042
  @module_name = args[:module_name] if args.key?(:module_name)
5938
6043
  @mute = args[:mute] if args.key?(:mute)
6044
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
5939
6045
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
5940
6046
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
5941
6047
  @name = args[:name] if args.key?(:name)
@@ -6408,6 +6514,12 @@ module Google
6408
6514
  # @return [String]
6409
6515
  attr_accessor :description
6410
6516
 
6517
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
6518
+ # If the expiry is set, when the config expires, it is removed from all findings.
6519
+ # Corresponds to the JSON property `expiryTime`
6520
+ # @return [String]
6521
+ attr_accessor :expiry_time
6522
+
6411
6523
  # Required. An expression that defines the filter to apply across create/update
6412
6524
  # events of findings. While creating a filter string, be mindful of the scope in
6413
6525
  # which the mute configuration is being created. E.g., If a filter contains
@@ -6429,13 +6541,13 @@ module Google
6429
6541
  # @return [String]
6430
6542
  attr_accessor :most_recent_editor
6431
6543
 
6432
- # This field will be ignored if provided on config creation. The following list
6433
- # shows some examples of the format: + `organizations/`organization`/muteConfigs/
6434
- # `mute_config`` + `organizations/`organization`locations/`location`//
6435
- # muteConfigs/`mute_config`` + `folders/`folder`/muteConfigs/`mute_config`` + `
6436
- # folders/`folder`/locations/`location`/muteConfigs/`mute_config`` + `projects/`
6437
- # project`/muteConfigs/`mute_config`` + `projects/`project`/locations/`location`/
6438
- # muteConfigs/`mute_config``
6544
+ # Identifier. This field will be ignored if provided on config creation. The
6545
+ # following list shows some examples of the format: + `organizations/`
6546
+ # organization`/muteConfigs/`mute_config`` + `organizations/`organization`
6547
+ # locations/`location`//muteConfigs/`mute_config`` + `folders/`folder`/
6548
+ # muteConfigs/`mute_config`` + `folders/`folder`/locations/`location`/
6549
+ # muteConfigs/`mute_config`` + `projects/`project`/muteConfigs/`mute_config`` + `
6550
+ # projects/`project`/locations/`location`/muteConfigs/`mute_config``
6439
6551
  # Corresponds to the JSON property `name`
6440
6552
  # @return [String]
6441
6553
  attr_accessor :name
@@ -6461,6 +6573,7 @@ module Google
6461
6573
  def update!(**args)
6462
6574
  @create_time = args[:create_time] if args.key?(:create_time)
6463
6575
  @description = args[:description] if args.key?(:description)
6576
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
6464
6577
  @filter = args[:filter] if args.key?(:filter)
6465
6578
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
6466
6579
  @name = args[:name] if args.key?(:name)
@@ -6469,6 +6582,34 @@ module Google
6469
6582
  end
6470
6583
  end
6471
6584
 
6585
+ # Mute information about the finding, including whether the finding has a static
6586
+ # mute or any matching dynamic mute rules.
6587
+ class GoogleCloudSecuritycenterV2MuteInfo
6588
+ include Google::Apis::Core::Hashable
6589
+
6590
+ # The list of dynamic mute rules that currently match the finding.
6591
+ # Corresponds to the JSON property `dynamicMuteRecords`
6592
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2DynamicMuteRecord>]
6593
+ attr_accessor :dynamic_mute_records
6594
+
6595
+ # Information about the static mute state. A static mute state overrides any
6596
+ # dynamic mute rules that apply to this finding. The static mute state can be
6597
+ # set by a static mute rule or by muting the finding directly.
6598
+ # Corresponds to the JSON property `staticMute`
6599
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2StaticMute]
6600
+ attr_accessor :static_mute
6601
+
6602
+ def initialize(**args)
6603
+ update!(**args)
6604
+ end
6605
+
6606
+ # Update properties of this object
6607
+ def update!(**args)
6608
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
6609
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
6610
+ end
6611
+ end
6612
+
6472
6613
  # Kubernetes nodes associated with the finding.
6473
6614
  class GoogleCloudSecuritycenterV2Node
6474
6615
  include Google::Apis::Core::Hashable
@@ -6988,13 +7129,14 @@ module Google
6988
7129
  attr_accessor :resource_path
6989
7130
 
6990
7131
  # A string representation of the resource path. For Google Cloud, it has the
6991
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
6992
- # folder_id`/projects/`project_id` where there can be any number of folders. For
6993
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
6994
- # `organizational_unit_id`/account/`account_id` where there can be any number of
6995
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
6996
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
6997
- # resource_group_name` where there can be any number of management groups.
7132
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
7133
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
7134
+ # For AWS, it has the format of `org/`organization_id`/ou/`
7135
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
7136
+ # where there can be any number of organizational units. For Azure, it has the
7137
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
7138
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
7139
+ # management groups.
6998
7140
  # Corresponds to the JSON property `resourcePathString`
6999
7141
  # @return [String]
7000
7142
  attr_accessor :resource_path_string
@@ -7102,36 +7244,36 @@ module Google
7102
7244
  # @return [String]
7103
7245
  attr_accessor :description
7104
7246
 
7105
- # Name for the resource value configuration
7247
+ # Identifier. Name for the resource value configuration
7106
7248
  # Corresponds to the JSON property `name`
7107
7249
  # @return [String]
7108
7250
  attr_accessor :name
7109
7251
 
7110
- # List of resource labels to search for, evaluated with AND. For example, "
7252
+ # List of resource labels to search for, evaluated with `AND`. For example, "
7111
7253
  # resource_labels_selector": `"key": "value", "env": "prod"` will match
7112
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
7254
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
7113
7255
  # com/resource-manager/docs/creating-managing-labels
7114
7256
  # Corresponds to the JSON property `resourceLabelsSelector`
7115
7257
  # @return [Hash<String,String>]
7116
7258
  attr_accessor :resource_labels_selector
7117
7259
 
7118
7260
  # Apply resource_value only to resources that match resource_type. resource_type
7119
- # will be checked with AND of other resources. For example, "storage.googleapis.
7120
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
7121
- # storage.googleapis.com/Bucket" resources.
7261
+ # will be checked with `AND` of other resources. For example, "storage.
7262
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
7263
+ # to "storage.googleapis.com/Bucket" resources.
7122
7264
  # Corresponds to the JSON property `resourceType`
7123
7265
  # @return [String]
7124
7266
  attr_accessor :resource_type
7125
7267
 
7126
7268
  # Resource value level this expression represents Only required when there is no
7127
- # SDP mapping in the request
7269
+ # Sensitive Data Protection mapping in the request
7128
7270
  # Corresponds to the JSON property `resourceValue`
7129
7271
  # @return [String]
7130
7272
  attr_accessor :resource_value
7131
7273
 
7132
7274
  # Project or folder to scope this configuration to. For example, "project/456"
7133
- # would apply this configuration only to resources in "project/456" scope will
7134
- # be checked with AND of other resources.
7275
+ # would apply this configuration only to resources in "project/456" scope and
7276
+ # will be checked with `AND` of other resources.
7135
7277
  # Corresponds to the JSON property `scope`
7136
7278
  # @return [String]
7137
7279
  attr_accessor :scope
@@ -7143,9 +7285,9 @@ module Google
7143
7285
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
7144
7286
  attr_accessor :sensitive_data_protection_mapping
7145
7287
 
7146
- # Required. Tag values combined with AND to check against. Values in the form "
7147
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
7148
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
7288
+ # Tag values combined with `AND` to check against. Values in the form "tagValues/
7289
+ # 123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://
7290
+ # cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
7149
7291
  # Corresponds to the JSON property `tagValues`
7150
7292
  # @return [Array<String>]
7151
7293
  attr_accessor :tag_values
@@ -7455,6 +7597,34 @@ module Google
7455
7597
  end
7456
7598
  end
7457
7599
 
7600
+ # Information about the static mute state. A static mute state overrides any
7601
+ # dynamic mute rules that apply to this finding. The static mute state can be
7602
+ # set by a static mute rule or by muting the finding directly.
7603
+ class GoogleCloudSecuritycenterV2StaticMute
7604
+ include Google::Apis::Core::Hashable
7605
+
7606
+ # When the static mute was applied.
7607
+ # Corresponds to the JSON property `applyTime`
7608
+ # @return [String]
7609
+ attr_accessor :apply_time
7610
+
7611
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
7612
+ # s overall mute state will have the same value.
7613
+ # Corresponds to the JSON property `state`
7614
+ # @return [String]
7615
+ attr_accessor :state
7616
+
7617
+ def initialize(**args)
7618
+ update!(**args)
7619
+ end
7620
+
7621
+ # Update properties of this object
7622
+ def update!(**args)
7623
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
7624
+ @state = args[:state] if args.key?(:state)
7625
+ end
7626
+ end
7627
+
7458
7628
  # Represents a Kubernetes subject.
7459
7629
  class GoogleCloudSecuritycenterV2Subject
7460
7630
  include Google::Apis::Core::Hashable
@@ -7551,7 +7721,7 @@ module Google
7551
7721
  attr_accessor :attack_exposure_score
7552
7722
 
7553
7723
  # List of resource names of findings associated with this toxic combination. For
7554
- # example, organizations/123/sources/456/findings/789.
7724
+ # example, `organizations/123/sources/456/findings/789`.
7555
7725
  # Corresponds to the JSON property `relatedFindings`
7556
7726
  # @return [Array<String>]
7557
7727
  attr_accessor :related_findings
@@ -8865,6 +9035,34 @@ module Google
8865
9035
  end
8866
9036
  end
8867
9037
 
9038
+ # Mute information about the finding, including whether the finding has a static
9039
+ # mute or any matching dynamic mute rules.
9040
+ class MuteInfo
9041
+ include Google::Apis::Core::Hashable
9042
+
9043
+ # The list of dynamic mute rules that currently match the finding.
9044
+ # Corresponds to the JSON property `dynamicMuteRecords`
9045
+ # @return [Array<Google::Apis::SecuritycenterV1::DynamicMuteRecord>]
9046
+ attr_accessor :dynamic_mute_records
9047
+
9048
+ # Information about the static mute state. A static mute state overrides any
9049
+ # dynamic mute rules that apply to this finding. The static mute state can be
9050
+ # set by a static mute rule or by muting the finding directly.
9051
+ # Corresponds to the JSON property `staticMute`
9052
+ # @return [Google::Apis::SecuritycenterV1::StaticMute]
9053
+ attr_accessor :static_mute
9054
+
9055
+ def initialize(**args)
9056
+ update!(**args)
9057
+ end
9058
+
9059
+ # Update properties of this object
9060
+ def update!(**args)
9061
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
9062
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
9063
+ end
9064
+ end
9065
+
8868
9066
  # Kubernetes nodes associated with the finding.
8869
9067
  class Node
8870
9068
  include Google::Apis::Core::Hashable
@@ -9208,8 +9406,8 @@ module Google
9208
9406
  class PathNodeAssociatedFinding
9209
9407
  include Google::Apis::Core::Hashable
9210
9408
 
9211
- # Canonical name of the associated findings. Example: organizations/123/sources/
9212
- # 456/findings/789
9409
+ # Canonical name of the associated findings. Example: `organizations/123/sources/
9410
+ # 456/findings/789`
9213
9411
  # Corresponds to the JSON property `canonicalFinding`
9214
9412
  # @return [String]
9215
9413
  attr_accessor :canonical_finding
@@ -9679,13 +9877,13 @@ module Google
9679
9877
  attr_accessor :resource_path
9680
9878
 
9681
9879
  # A string representation of the resource path. For Google Cloud, it has the
9682
- # format of org/`organization_id`/folder/`folder_id`/folder/`folder_id`/project/`
9683
- # project_id` where there can be any number of folders. For AWS, it has the
9684
- # format of org/`organization_id`/ou/`organizational_unit_id`/ou/`
9685
- # organizational_unit_id`/account/`account_id` where there can be any number of
9686
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
9687
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
9688
- # resource_group_name` where there can be any number of management groups.
9880
+ # format of `org/`organization_id`/folder/`folder_id`/folder/`folder_id`/project/
9881
+ # `project_id`` where there can be any number of folders. For AWS, it has the
9882
+ # format of `org/`organization_id`/ou/`organizational_unit_id`/ou/`
9883
+ # organizational_unit_id`/account/`account_id`` where there can be any number of
9884
+ # organizational units. For Azure, it has the format of `mg/`management_group_id`
9885
+ # /mg/`management_group_id`/subscription/`subscription_id`/rg/`
9886
+ # resource_group_name`` where there can be any number of management groups.
9689
9887
  # Corresponds to the JSON property `resourcePathString`
9690
9888
  # @return [String]
9691
9889
  attr_accessor :resource_path_string
@@ -10395,7 +10593,7 @@ module Google
10395
10593
  # @return [String]
10396
10594
  attr_accessor :create_time
10397
10595
 
10398
- # Full resource name of the Simulation: organizations/123/simulations/456
10596
+ # Full resource name of the Simulation: `organizations/123/simulations/456`
10399
10597
  # Corresponds to the JSON property `name`
10400
10598
  # @return [String]
10401
10599
  attr_accessor :name
@@ -10470,6 +10668,34 @@ module Google
10470
10668
  end
10471
10669
  end
10472
10670
 
10671
+ # Information about the static mute state. A static mute state overrides any
10672
+ # dynamic mute rules that apply to this finding. The static mute state can be
10673
+ # set by a static mute rule or by muting the finding directly.
10674
+ class StaticMute
10675
+ include Google::Apis::Core::Hashable
10676
+
10677
+ # When the static mute was applied.
10678
+ # Corresponds to the JSON property `applyTime`
10679
+ # @return [String]
10680
+ attr_accessor :apply_time
10681
+
10682
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
10683
+ # s overall mute state will have the same value.
10684
+ # Corresponds to the JSON property `state`
10685
+ # @return [String]
10686
+ attr_accessor :state
10687
+
10688
+ def initialize(**args)
10689
+ update!(**args)
10690
+ end
10691
+
10692
+ # Update properties of this object
10693
+ def update!(**args)
10694
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
10695
+ @state = args[:state] if args.key?(:state)
10696
+ end
10697
+ end
10698
+
10473
10699
  # The `Status` type defines a logical error model that is suitable for different
10474
10700
  # programming environments, including REST APIs and RPC APIs. It is used by [
10475
10701
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -10674,7 +10900,7 @@ module Google
10674
10900
  attr_accessor :attack_exposure_score
10675
10901
 
10676
10902
  # List of resource names of findings associated with this toxic combination. For
10677
- # example, organizations/123/sources/456/findings/789.
10903
+ # example, `organizations/123/sources/456/findings/789`.
10678
10904
  # Corresponds to the JSON property `relatedFindings`
10679
10905
  # @return [Array<String>]
10680
10906
  attr_accessor :related_findings