google-apis-securitycenter_v1 0.71.0 → 0.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -785,21 +785,43 @@ module Google
785
785
  # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
786
786
  # email address that represents a Google group. For example, `admins@example.com`
787
787
  # . * `domain:`domain``: The G Suite domain (primary) that represents all the
788
- # users of that domain. For example, `google.com` or `example.com`. * `deleted:
789
- # user:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
790
- # representing a user that has been recently deleted. For example, `alice@
791
- # example.com?uid=123456789012345678901`. If the user is recovered, this value
792
- # reverts to `user:`emailid`` and the recovered user retains the role in the
793
- # binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address
794
- # (plus unique identifier) representing a service account that has been recently
795
- # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
788
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
789
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
790
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
791
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
792
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
793
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
794
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
795
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
796
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
797
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
798
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
799
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
800
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
801
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
802
+ # googleapis.com/projects/`project_number`/locations/global/
803
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
804
+ # All identities in a workload identity pool with a certain attribute. * `
805
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
806
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
807
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
808
+ # identifier) representing a user that has been recently deleted. For example, `
809
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
810
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
811
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
812
+ # address (plus unique identifier) representing a service account that has been
813
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
796
814
  # 123456789012345678901`. If the service account is undeleted, this value
797
815
  # reverts to `serviceAccount:`emailid`` and the undeleted service account
798
816
  # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
799
817
  # An email address (plus unique identifier) representing a Google group that has
800
818
  # been recently deleted. For example, `admins@example.com?uid=
801
819
  # 123456789012345678901`. If the group is recovered, this value reverts to `
802
- # group:`emailid`` and the recovered group retains the role in the binding.
820
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
821
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
822
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
823
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
824
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
803
825
  # Corresponds to the JSON property `members`
804
826
  # @return [Array<String>]
805
827
  attr_accessor :members
@@ -1001,68 +1023,6 @@ module Google
1001
1023
  end
1002
1024
  end
1003
1025
 
1004
- # Result containing the properties and count of a ComplianceSnapshot request.
1005
- class ComplianceSnapshot
1006
- include Google::Apis::Core::Hashable
1007
-
1008
- # The category of Findings matching.
1009
- # Corresponds to the JSON property `category`
1010
- # @return [String]
1011
- attr_accessor :category
1012
-
1013
- # The compliance standard (ie CIS).
1014
- # Corresponds to the JSON property `complianceStandard`
1015
- # @return [String]
1016
- attr_accessor :compliance_standard
1017
-
1018
- # The compliance version (ie 1.3) in CIS 1.3.
1019
- # Corresponds to the JSON property `complianceVersion`
1020
- # @return [String]
1021
- attr_accessor :compliance_version
1022
-
1023
- # Total count of findings for the given properties.
1024
- # Corresponds to the JSON property `count`
1025
- # @return [Fixnum]
1026
- attr_accessor :count
1027
-
1028
- # The leaf container resource name that is closest to the snapshot.
1029
- # Corresponds to the JSON property `leafContainerResource`
1030
- # @return [String]
1031
- attr_accessor :leaf_container_resource
1032
-
1033
- # The compliance snapshot name. Format: //sources//complianceSnapshots/
1034
- # Corresponds to the JSON property `name`
1035
- # @return [String]
1036
- attr_accessor :name
1037
-
1038
- # The CRM resource display name that is closest to the snapshot the Findings
1039
- # belong to.
1040
- # Corresponds to the JSON property `projectDisplayName`
1041
- # @return [String]
1042
- attr_accessor :project_display_name
1043
-
1044
- # The snapshot time of the snapshot.
1045
- # Corresponds to the JSON property `snapshotTime`
1046
- # @return [String]
1047
- attr_accessor :snapshot_time
1048
-
1049
- def initialize(**args)
1050
- update!(**args)
1051
- end
1052
-
1053
- # Update properties of this object
1054
- def update!(**args)
1055
- @category = args[:category] if args.key?(:category)
1056
- @compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
1057
- @compliance_version = args[:compliance_version] if args.key?(:compliance_version)
1058
- @count = args[:count] if args.key?(:count)
1059
- @leaf_container_resource = args[:leaf_container_resource] if args.key?(:leaf_container_resource)
1060
- @name = args[:name] if args.key?(:name)
1061
- @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
1062
- @snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
1063
- end
1064
- end
1065
-
1066
1026
  # Contains information about the IP connection associated with the finding.
1067
1027
  class Connection
1068
1028
  include Google::Apis::Core::Hashable
@@ -1480,6 +1440,33 @@ module Google
1480
1440
  end
1481
1441
  end
1482
1442
 
1443
+ # Path of the file in terms of underlying disk/partition identifiers.
1444
+ class DiskPath
1445
+ include Google::Apis::Core::Hashable
1446
+
1447
+ # UUID of the partition (format https://wiki.archlinux.org/title/
1448
+ # persistent_block_device_naming#by-uuid)
1449
+ # Corresponds to the JSON property `partitionUuid`
1450
+ # @return [String]
1451
+ attr_accessor :partition_uuid
1452
+
1453
+ # Relative path of the file in the partition as a JSON encoded string. Example: /
1454
+ # home/user1/executable_file.sh
1455
+ # Corresponds to the JSON property `relativePath`
1456
+ # @return [String]
1457
+ attr_accessor :relative_path
1458
+
1459
+ def initialize(**args)
1460
+ update!(**args)
1461
+ end
1462
+
1463
+ # Update properties of this object
1464
+ def update!(**args)
1465
+ @partition_uuid = args[:partition_uuid] if args.key?(:partition_uuid)
1466
+ @relative_path = args[:relative_path] if args.key?(:relative_path)
1467
+ end
1468
+ end
1469
+
1483
1470
  # An EffectiveEventThreatDetectionCustomModule is the representation of an Event
1484
1471
  # Threat Detection custom module at a specified level of the resource hierarchy:
1485
1472
  # organization, folder, or project. If a custom module is inherited from a
@@ -1793,6 +1780,11 @@ module Google
1793
1780
  # @return [String]
1794
1781
  attr_accessor :contents
1795
1782
 
1783
+ # Path of the file in terms of underlying disk/partition identifiers.
1784
+ # Corresponds to the JSON property `diskPath`
1785
+ # @return [Google::Apis::SecuritycenterV1::DiskPath]
1786
+ attr_accessor :disk_path
1787
+
1796
1788
  # The length in bytes of the file prefix that was hashed. If hashed_size == size,
1797
1789
  # any hashes reported represent the entire file.
1798
1790
  # Corresponds to the JSON property `hashedSize`
@@ -1828,6 +1820,7 @@ module Google
1828
1820
  # Update properties of this object
1829
1821
  def update!(**args)
1830
1822
  @contents = args[:contents] if args.key?(:contents)
1823
+ @disk_path = args[:disk_path] if args.key?(:disk_path)
1831
1824
  @hashed_size = args[:hashed_size] if args.key?(:hashed_size)
1832
1825
  @partially_hashed = args[:partially_hashed] if args.key?(:partially_hashed)
1833
1826
  @path = args[:path] if args.key?(:path)
@@ -3127,2698 +3120,18 @@ module Google
3127
3120
  # @return [String]
3128
3121
  attr_accessor :severity
3129
3122
 
3130
- # Source specific properties. These properties are managed by the source that
3131
- # writes the finding. The key names in the source_properties map must be between
3132
- # 1 and 255 characters, and must start with a letter and contain alphanumeric
3133
- # characters or underscores only.
3134
- # Corresponds to the JSON property `sourceProperties`
3135
- # @return [Hash<String,Object>]
3136
- attr_accessor :source_properties
3137
-
3138
- # The state of the finding.
3139
- # Corresponds to the JSON property `state`
3140
- # @return [String]
3141
- attr_accessor :state
3142
-
3143
- def initialize(**args)
3144
- update!(**args)
3145
- end
3146
-
3147
- # Update properties of this object
3148
- def update!(**args)
3149
- @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
3150
- @category = args[:category] if args.key?(:category)
3151
- @create_time = args[:create_time] if args.key?(:create_time)
3152
- @event_time = args[:event_time] if args.key?(:event_time)
3153
- @external_uri = args[:external_uri] if args.key?(:external_uri)
3154
- @name = args[:name] if args.key?(:name)
3155
- @parent = args[:parent] if args.key?(:parent)
3156
- @resource_name = args[:resource_name] if args.key?(:resource_name)
3157
- @security_marks = args[:security_marks] if args.key?(:security_marks)
3158
- @severity = args[:severity] if args.key?(:severity)
3159
- @source_properties = args[:source_properties] if args.key?(:source_properties)
3160
- @state = args[:state] if args.key?(:state)
3161
- end
3162
- end
3163
-
3164
- # Message that contains the resource name and display name of a folder resource.
3165
- class GoogleCloudSecuritycenterV1p1beta1Folder
3166
- include Google::Apis::Core::Hashable
3167
-
3168
- # Full resource name of this folder. See: https://cloud.google.com/apis/design/
3169
- # resource_names#full_resource_name
3170
- # Corresponds to the JSON property `resourceFolder`
3171
- # @return [String]
3172
- attr_accessor :resource_folder
3173
-
3174
- # The user defined display name for this folder.
3175
- # Corresponds to the JSON property `resourceFolderDisplayName`
3176
- # @return [String]
3177
- attr_accessor :resource_folder_display_name
3178
-
3179
- def initialize(**args)
3180
- update!(**args)
3181
- end
3182
-
3183
- # Update properties of this object
3184
- def update!(**args)
3185
- @resource_folder = args[:resource_folder] if args.key?(:resource_folder)
3186
- @resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name)
3187
- end
3188
- end
3189
-
3190
- # Security Command Center's Notification
3191
- class GoogleCloudSecuritycenterV1p1beta1NotificationMessage
3192
- include Google::Apis::Core::Hashable
3193
-
3194
- # Security Command Center finding. A finding is a record of assessment data (
3195
- # security, risk, health or privacy) ingested into Security Command Center for
3196
- # presentation, notification, analysis, policy testing, and enforcement. For
3197
- # example, an XSS vulnerability in an App Engine application is a finding.
3198
- # Corresponds to the JSON property `finding`
3199
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1p1beta1Finding]
3200
- attr_accessor :finding
3201
-
3202
- # Name of the notification config that generated current notification.
3203
- # Corresponds to the JSON property `notificationConfigName`
3204
- # @return [String]
3205
- attr_accessor :notification_config_name
3206
-
3207
- # Information related to the Google Cloud resource.
3208
- # Corresponds to the JSON property `resource`
3209
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1p1beta1Resource]
3210
- attr_accessor :resource
3211
-
3212
- def initialize(**args)
3213
- update!(**args)
3214
- end
3215
-
3216
- # Update properties of this object
3217
- def update!(**args)
3218
- @finding = args[:finding] if args.key?(:finding)
3219
- @notification_config_name = args[:notification_config_name] if args.key?(:notification_config_name)
3220
- @resource = args[:resource] if args.key?(:resource)
3221
- end
3222
- end
3223
-
3224
- # Information related to the Google Cloud resource.
3225
- class GoogleCloudSecuritycenterV1p1beta1Resource
3226
- include Google::Apis::Core::Hashable
3227
-
3228
- # Output only. Contains a Folder message for each folder in the assets ancestry.
3229
- # The first folder is the deepest nested folder, and the last folder is the
3230
- # folder directly under the Organization.
3231
- # Corresponds to the JSON property `folders`
3232
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1p1beta1Folder>]
3233
- attr_accessor :folders
3234
-
3235
- # The full resource name of the resource. See: https://cloud.google.com/apis/
3236
- # design/resource_names#full_resource_name
3237
- # Corresponds to the JSON property `name`
3238
- # @return [String]
3239
- attr_accessor :name
3240
-
3241
- # The full resource name of resource's parent.
3242
- # Corresponds to the JSON property `parent`
3243
- # @return [String]
3244
- attr_accessor :parent
3245
-
3246
- # The human readable name of resource's parent.
3247
- # Corresponds to the JSON property `parentDisplayName`
3248
- # @return [String]
3249
- attr_accessor :parent_display_name
3250
-
3251
- # The full resource name of project that the resource belongs to.
3252
- # Corresponds to the JSON property `project`
3253
- # @return [String]
3254
- attr_accessor :project
3255
-
3256
- # The project id that the resource belongs to.
3257
- # Corresponds to the JSON property `projectDisplayName`
3258
- # @return [String]
3259
- attr_accessor :project_display_name
3260
-
3261
- def initialize(**args)
3262
- update!(**args)
3263
- end
3264
-
3265
- # Update properties of this object
3266
- def update!(**args)
3267
- @folders = args[:folders] if args.key?(:folders)
3268
- @name = args[:name] if args.key?(:name)
3269
- @parent = args[:parent] if args.key?(:parent)
3270
- @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
3271
- @project = args[:project] if args.key?(:project)
3272
- @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
3273
- end
3274
- end
3275
-
3276
- # Response of asset discovery run
3277
- class GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse
3278
- include Google::Apis::Core::Hashable
3279
-
3280
- # The duration between asset discovery run start and end
3281
- # Corresponds to the JSON property `duration`
3282
- # @return [String]
3283
- attr_accessor :duration
3284
-
3285
- # The state of an asset discovery run.
3286
- # Corresponds to the JSON property `state`
3287
- # @return [String]
3288
- attr_accessor :state
3289
-
3290
- def initialize(**args)
3291
- update!(**args)
3292
- end
3293
-
3294
- # Update properties of this object
3295
- def update!(**args)
3296
- @duration = args[:duration] if args.key?(:duration)
3297
- @state = args[:state] if args.key?(:state)
3298
- end
3299
- end
3300
-
3301
- # User specified security marks that are attached to the parent Security Command
3302
- # Center resource. Security marks are scoped within a Security Command Center
3303
- # organization -- they can be modified and viewed by all users who have proper
3304
- # permissions on the organization.
3305
- class GoogleCloudSecuritycenterV1p1beta1SecurityMarks
3306
- include Google::Apis::Core::Hashable
3307
-
3308
- # The canonical name of the marks. Examples: "organizations/`organization_id`/
3309
- # assets/`asset_id`/securityMarks" "folders/`folder_id`/assets/`asset_id`/
3310
- # securityMarks" "projects/`project_number`/assets/`asset_id`/securityMarks" "
3311
- # organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
3312
- # securityMarks" "folders/`folder_id`/sources/`source_id`/findings/`finding_id`/
3313
- # securityMarks" "projects/`project_number`/sources/`source_id`/findings/`
3314
- # finding_id`/securityMarks"
3315
- # Corresponds to the JSON property `canonicalName`
3316
- # @return [String]
3317
- attr_accessor :canonical_name
3318
-
3319
- # Mutable user specified security marks belonging to the parent resource.
3320
- # Constraints are as follows: * Keys and values are treated as case insensitive *
3321
- # Keys must be between 1 - 256 characters (inclusive) * Keys must be letters,
3322
- # numbers, underscores, or dashes * Values have leading and trailing whitespace
3323
- # trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
3324
- # Corresponds to the JSON property `marks`
3325
- # @return [Hash<String,String>]
3326
- attr_accessor :marks
3327
-
3328
- # The relative resource name of the SecurityMarks. See: https://cloud.google.com/
3329
- # apis/design/resource_names#relative_resource_name Examples: "organizations/`
3330
- # organization_id`/assets/`asset_id`/securityMarks" "organizations/`
3331
- # organization_id`/sources/`source_id`/findings/`finding_id`/securityMarks".
3332
- # Corresponds to the JSON property `name`
3333
- # @return [String]
3334
- attr_accessor :name
3335
-
3336
- def initialize(**args)
3337
- update!(**args)
3338
- end
3339
-
3340
- # Update properties of this object
3341
- def update!(**args)
3342
- @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
3343
- @marks = args[:marks] if args.key?(:marks)
3344
- @name = args[:name] if args.key?(:name)
3345
- end
3346
- end
3347
-
3348
- # Represents an access event.
3349
- class GoogleCloudSecuritycenterV2Access
3350
- include Google::Apis::Core::Hashable
3351
-
3352
- # Caller's IP address, such as "1.1.1.1".
3353
- # Corresponds to the JSON property `callerIp`
3354
- # @return [String]
3355
- attr_accessor :caller_ip
3356
-
3357
- # Represents a geographical location for a given access.
3358
- # Corresponds to the JSON property `callerIpGeo`
3359
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Geolocation]
3360
- attr_accessor :caller_ip_geo
3361
-
3362
- # The method that the service account called, e.g. "SetIamPolicy".
3363
- # Corresponds to the JSON property `methodName`
3364
- # @return [String]
3365
- attr_accessor :method_name
3366
-
3367
- # Associated email, such as "foo@google.com". The email address of the
3368
- # authenticated user or a service account acting on behalf of a third party
3369
- # principal making the request. For third party identity callers, the `
3370
- # principal_subject` field is populated instead of this field. For privacy
3371
- # reasons, the principal email address is sometimes redacted. For more
3372
- # information, see [Caller identities in audit logs](https://cloud.google.com/
3373
- # logging/docs/audit#user-id).
3374
- # Corresponds to the JSON property `principalEmail`
3375
- # @return [String]
3376
- attr_accessor :principal_email
3377
-
3378
- # A string that represents the principal_subject that is associated with the
3379
- # identity. Unlike `principal_email`, `principal_subject` supports principals
3380
- # that aren't associated with email addresses, such as third party principals.
3381
- # For most identities, the format is `principal://iam.googleapis.com/`identity
3382
- # pool name`/subject/`subject``. Some GKE identities, such as GKE_WORKLOAD,
3383
- # FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:`
3384
- # identity pool name`[`subject`]`.
3385
- # Corresponds to the JSON property `principalSubject`
3386
- # @return [String]
3387
- attr_accessor :principal_subject
3388
-
3389
- # The identity delegation history of an authenticated service account that made
3390
- # the request. The `serviceAccountDelegationInfo[]` object contains information
3391
- # about the real authorities that try to access Google Cloud resources by
3392
- # delegating on a service account. When multiple authorities are present, they
3393
- # are guaranteed to be sorted based on the original ordering of the identity
3394
- # delegation events.
3395
- # Corresponds to the JSON property `serviceAccountDelegationInfo`
3396
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo>]
3397
- attr_accessor :service_account_delegation_info
3398
-
3399
- # The name of the service account key that was used to create or exchange
3400
- # credentials when authenticating the service account that made the request.
3401
- # This is a scheme-less URI full resource name. For example: "//iam.googleapis.
3402
- # com/projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT`/keys/`key`".
3403
- # Corresponds to the JSON property `serviceAccountKeyName`
3404
- # @return [String]
3405
- attr_accessor :service_account_key_name
3406
-
3407
- # This is the API service that the service account made a call to, e.g. "iam.
3408
- # googleapis.com"
3409
- # Corresponds to the JSON property `serviceName`
3410
- # @return [String]
3411
- attr_accessor :service_name
3412
-
3413
- # The caller's user agent string associated with the finding.
3414
- # Corresponds to the JSON property `userAgent`
3415
- # @return [String]
3416
- attr_accessor :user_agent
3417
-
3418
- # Type of user agent associated with the finding. For example, an operating
3419
- # system shell or an embedded or standalone application.
3420
- # Corresponds to the JSON property `userAgentFamily`
3421
- # @return [String]
3422
- attr_accessor :user_agent_family
3423
-
3424
- # A string that represents a username. The username provided depends on the type
3425
- # of the finding and is likely not an IAM principal. For example, this can be a
3426
- # system username if the finding is related to a virtual machine, or it can be
3427
- # an application login username.
3428
- # Corresponds to the JSON property `userName`
3429
- # @return [String]
3430
- attr_accessor :user_name
3431
-
3432
- def initialize(**args)
3433
- update!(**args)
3434
- end
3435
-
3436
- # Update properties of this object
3437
- def update!(**args)
3438
- @caller_ip = args[:caller_ip] if args.key?(:caller_ip)
3439
- @caller_ip_geo = args[:caller_ip_geo] if args.key?(:caller_ip_geo)
3440
- @method_name = args[:method_name] if args.key?(:method_name)
3441
- @principal_email = args[:principal_email] if args.key?(:principal_email)
3442
- @principal_subject = args[:principal_subject] if args.key?(:principal_subject)
3443
- @service_account_delegation_info = args[:service_account_delegation_info] if args.key?(:service_account_delegation_info)
3444
- @service_account_key_name = args[:service_account_key_name] if args.key?(:service_account_key_name)
3445
- @service_name = args[:service_name] if args.key?(:service_name)
3446
- @user_agent = args[:user_agent] if args.key?(:user_agent)
3447
- @user_agent_family = args[:user_agent_family] if args.key?(:user_agent_family)
3448
- @user_name = args[:user_name] if args.key?(:user_name)
3449
- end
3450
- end
3451
-
3452
- # Conveys information about a Kubernetes access review (such as one returned by
3453
- # a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-
3454
- # authz/authorization/#checking-api-access) command) that was involved in a
3455
- # finding.
3456
- class GoogleCloudSecuritycenterV2AccessReview
3457
- include Google::Apis::Core::Hashable
3458
-
3459
- # The API group of the resource. "*" means all.
3460
- # Corresponds to the JSON property `group`
3461
- # @return [String]
3462
- attr_accessor :group
3463
-
3464
- # The name of the resource being requested. Empty means all.
3465
- # Corresponds to the JSON property `name`
3466
- # @return [String]
3467
- attr_accessor :name
3468
-
3469
- # Namespace of the action being requested. Currently, there is no distinction
3470
- # between no namespace and all namespaces. Both are represented by "" (empty).
3471
- # Corresponds to the JSON property `ns`
3472
- # @return [String]
3473
- attr_accessor :ns
3474
-
3475
- # The optional resource type requested. "*" means all.
3476
- # Corresponds to the JSON property `resource`
3477
- # @return [String]
3478
- attr_accessor :resource
3479
-
3480
- # The optional subresource type.
3481
- # Corresponds to the JSON property `subresource`
3482
- # @return [String]
3483
- attr_accessor :subresource
3484
-
3485
- # A Kubernetes resource API verb, like get, list, watch, create, update, delete,
3486
- # proxy. "*" means all.
3487
- # Corresponds to the JSON property `verb`
3488
- # @return [String]
3489
- attr_accessor :verb
3490
-
3491
- # The API version of the resource. "*" means all.
3492
- # Corresponds to the JSON property `version`
3493
- # @return [String]
3494
- attr_accessor :version
3495
-
3496
- def initialize(**args)
3497
- update!(**args)
3498
- end
3499
-
3500
- # Update properties of this object
3501
- def update!(**args)
3502
- @group = args[:group] if args.key?(:group)
3503
- @name = args[:name] if args.key?(:name)
3504
- @ns = args[:ns] if args.key?(:ns)
3505
- @resource = args[:resource] if args.key?(:resource)
3506
- @subresource = args[:subresource] if args.key?(:subresource)
3507
- @verb = args[:verb] if args.key?(:verb)
3508
- @version = args[:version] if args.key?(:version)
3509
- end
3510
- end
3511
-
3512
- # Represents an application associated with a finding.
3513
- class GoogleCloudSecuritycenterV2Application
3514
- include Google::Apis::Core::Hashable
3515
-
3516
- # The base URI that identifies the network location of the application in which
3517
- # the vulnerability was detected. Examples: http://11.22.33.44, http://foo.com,
3518
- # http://11.22.33.44:8080
3519
- # Corresponds to the JSON property `baseUri`
3520
- # @return [String]
3521
- attr_accessor :base_uri
3522
-
3523
- # The full URI with payload that could be used to reproduce the vulnerability.
3524
- # Example: http://11.22.33.44/reflected/parameter/attribute/singlequoted/js?p=
3525
- # aMmYgI6H
3526
- # Corresponds to the JSON property `fullUri`
3527
- # @return [String]
3528
- attr_accessor :full_uri
3529
-
3530
- def initialize(**args)
3531
- update!(**args)
3532
- end
3533
-
3534
- # Update properties of this object
3535
- def update!(**args)
3536
- @base_uri = args[:base_uri] if args.key?(:base_uri)
3537
- @full_uri = args[:full_uri] if args.key?(:full_uri)
3538
- end
3539
- end
3540
-
3541
- # An attack exposure contains the results of an attack path simulation run.
3542
- class GoogleCloudSecuritycenterV2AttackExposure
3543
- include Google::Apis::Core::Hashable
3544
-
3545
- # The resource name of the attack path simulation result that contains the
3546
- # details regarding this attack exposure score. Example: organizations/123/
3547
- # attackExposureResults/456
3548
- # Corresponds to the JSON property `attackExposureResult`
3549
- # @return [String]
3550
- attr_accessor :attack_exposure_result
3551
-
3552
- # The number of high value resources that are exposed as a result of this
3553
- # finding.
3554
- # Corresponds to the JSON property `exposedHighValueResourcesCount`
3555
- # @return [Fixnum]
3556
- attr_accessor :exposed_high_value_resources_count
3557
-
3558
- # The number of high value resources that are exposed as a result of this
3559
- # finding.
3560
- # Corresponds to the JSON property `exposedLowValueResourcesCount`
3561
- # @return [Fixnum]
3562
- attr_accessor :exposed_low_value_resources_count
3563
-
3564
- # The number of medium value resources that are exposed as a result of this
3565
- # finding.
3566
- # Corresponds to the JSON property `exposedMediumValueResourcesCount`
3567
- # @return [Fixnum]
3568
- attr_accessor :exposed_medium_value_resources_count
3569
-
3570
- # The most recent time the attack exposure was updated on this finding.
3571
- # Corresponds to the JSON property `latestCalculationTime`
3572
- # @return [String]
3573
- attr_accessor :latest_calculation_time
3574
-
3575
- # A number between 0 (inclusive) and infinity that represents how important this
3576
- # finding is to remediate. The higher the score, the more important it is to
3577
- # remediate.
3578
- # Corresponds to the JSON property `score`
3579
- # @return [Float]
3580
- attr_accessor :score
3581
-
3582
- # Output only. What state this AttackExposure is in. This captures whether or
3583
- # not an attack exposure has been calculated or not.
3584
- # Corresponds to the JSON property `state`
3585
- # @return [String]
3586
- attr_accessor :state
3587
-
3588
- def initialize(**args)
3589
- update!(**args)
3590
- end
3591
-
3592
- # Update properties of this object
3593
- def update!(**args)
3594
- @attack_exposure_result = args[:attack_exposure_result] if args.key?(:attack_exposure_result)
3595
- @exposed_high_value_resources_count = args[:exposed_high_value_resources_count] if args.key?(:exposed_high_value_resources_count)
3596
- @exposed_low_value_resources_count = args[:exposed_low_value_resources_count] if args.key?(:exposed_low_value_resources_count)
3597
- @exposed_medium_value_resources_count = args[:exposed_medium_value_resources_count] if args.key?(:exposed_medium_value_resources_count)
3598
- @latest_calculation_time = args[:latest_calculation_time] if args.key?(:latest_calculation_time)
3599
- @score = args[:score] if args.key?(:score)
3600
- @state = args[:state] if args.key?(:state)
3601
- end
3602
- end
3603
-
3604
- # Information related to Google Cloud Backup and DR Service findings.
3605
- class GoogleCloudSecuritycenterV2BackupDisasterRecovery
3606
- include Google::Apis::Core::Hashable
3607
-
3608
- # The name of the Backup and DR appliance that captures, moves, and manages the
3609
- # lifecycle of backup data. For example, “backup-server-57137”.
3610
- # Corresponds to the JSON property `appliance`
3611
- # @return [String]
3612
- attr_accessor :appliance
3613
-
3614
- # The names of Backup and DR applications. An application is a VM, database, or
3615
- # file system on a managed host monitored by a backup and recovery appliance.
3616
- # For example, “centos7-01-vol00”, “centos7-01-vol01”, “centos7-01-vol02”.
3617
- # Corresponds to the JSON property `applications`
3618
- # @return [Array<String>]
3619
- attr_accessor :applications
3620
-
3621
- # The timestamp at which the Backup and DR backup was created.
3622
- # Corresponds to the JSON property `backupCreateTime`
3623
- # @return [String]
3624
- attr_accessor :backup_create_time
3625
-
3626
- # The name of a Backup and DR template which comprises one or more backup
3627
- # policies. See the [Backup and DR documentation](https://cloud.google.com/
3628
- # backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
3629
- # For example, “snap-ov”.
3630
- # Corresponds to the JSON property `backupTemplate`
3631
- # @return [String]
3632
- attr_accessor :backup_template
3633
-
3634
- # The backup type of the Backup and DR image. For example, “Snapshot”, “Remote
3635
- # Snapshot”, “OnVault”.
3636
- # Corresponds to the JSON property `backupType`
3637
- # @return [String]
3638
- attr_accessor :backup_type
3639
-
3640
- # The name of a Backup and DR host, which is managed by the backup and recovery
3641
- # appliance and known to the management console. The host can be of type Generic
3642
- # (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.),
3643
- # vCenter, or an ESX server. See the [Backup and DR documentation on hosts](
3644
- # https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-
3645
- # hosts-and-their-applications) for more information. For example, “centos7-01”.
3646
- # Corresponds to the JSON property `host`
3647
- # @return [String]
3648
- attr_accessor :host
3649
-
3650
- # The names of Backup and DR policies that are associated with a template and
3651
- # that define when to run a backup, how frequently to run a backup, and how long
3652
- # to retain the backup image. For example, “onvaults”.
3653
- # Corresponds to the JSON property `policies`
3654
- # @return [Array<String>]
3655
- attr_accessor :policies
3656
-
3657
- # The names of Backup and DR advanced policy options of a policy applying to an
3658
- # application. See the [Backup and DR documentation on policy options](https://
3659
- # cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings).
3660
- # For example, “skipofflineappsincongrp, nounmap”.
3661
- # Corresponds to the JSON property `policyOptions`
3662
- # @return [Array<String>]
3663
- attr_accessor :policy_options
3664
-
3665
- # The name of the Backup and DR resource profile that specifies the storage
3666
- # media for backups of application and VM data. See the [Backup and DR
3667
- # documentation on profiles](https://cloud.google.com/backup-disaster-recovery/
3668
- # docs/concepts/backup-plan#profile). For example, “GCP”.
3669
- # Corresponds to the JSON property `profile`
3670
- # @return [String]
3671
- attr_accessor :profile
3672
-
3673
- # The name of the Backup and DR storage pool that the backup and recovery
3674
- # appliance is storing data in. The storage pool could be of type Cloud, Primary,
3675
- # Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](
3676
- # https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools).
3677
- # For example, “DiskPoolOne”.
3678
- # Corresponds to the JSON property `storagePool`
3679
- # @return [String]
3680
- attr_accessor :storage_pool
3681
-
3682
- def initialize(**args)
3683
- update!(**args)
3684
- end
3685
-
3686
- # Update properties of this object
3687
- def update!(**args)
3688
- @appliance = args[:appliance] if args.key?(:appliance)
3689
- @applications = args[:applications] if args.key?(:applications)
3690
- @backup_create_time = args[:backup_create_time] if args.key?(:backup_create_time)
3691
- @backup_template = args[:backup_template] if args.key?(:backup_template)
3692
- @backup_type = args[:backup_type] if args.key?(:backup_type)
3693
- @host = args[:host] if args.key?(:host)
3694
- @policies = args[:policies] if args.key?(:policies)
3695
- @policy_options = args[:policy_options] if args.key?(:policy_options)
3696
- @profile = args[:profile] if args.key?(:profile)
3697
- @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
3698
- end
3699
- end
3700
-
3701
- # Configures how to deliver Findings to BigQuery Instance.
3702
- class GoogleCloudSecuritycenterV2BigQueryExport
3703
- include Google::Apis::Core::Hashable
3704
-
3705
- # Output only. The time at which the BigQuery export was created. This field is
3706
- # set by the server and will be ignored if provided on export on creation.
3707
- # Corresponds to the JSON property `createTime`
3708
- # @return [String]
3709
- attr_accessor :create_time
3710
-
3711
- # The dataset to write findings' updates to. Its format is "projects/[project_id]
3712
- # /datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only
3713
- # letters (a-z, A-Z), numbers (0-9), or underscores (_).
3714
- # Corresponds to the JSON property `dataset`
3715
- # @return [String]
3716
- attr_accessor :dataset
3717
-
3718
- # The description of the export (max of 1024 characters).
3719
- # Corresponds to the JSON property `description`
3720
- # @return [String]
3721
- attr_accessor :description
3722
-
3723
- # Expression that defines the filter to apply across create/update events of
3724
- # findings. The expression is a list of zero or more restrictions combined via
3725
- # logical operators `AND` and `OR`. Parentheses are supported, and `OR` has
3726
- # higher precedence than `AND`. Restrictions have the form ` ` and may have a `-`
3727
- # character in front of them to indicate negation. The fields map to those
3728
- # defined in the corresponding resource. The supported operators are: * `=` for
3729
- # all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning
3730
- # substring matching, for strings. The supported value types are: * string
3731
- # literals in quotes. * integer literals without quotes. * boolean literals `
3732
- # true` and `false` without quotes.
3733
- # Corresponds to the JSON property `filter`
3734
- # @return [String]
3735
- attr_accessor :filter
3736
-
3737
- # Output only. Email address of the user who last edited the BigQuery export.
3738
- # This field is set by the server and will be ignored if provided on export
3739
- # creation or update.
3740
- # Corresponds to the JSON property `mostRecentEditor`
3741
- # @return [String]
3742
- attr_accessor :most_recent_editor
3743
-
3744
- # The relative resource name of this export. See: https://cloud.google.com/apis/
3745
- # design/resource_names#relative_resource_name. The following list shows some
3746
- # examples: + `organizations/`organization_id`/locations/`location_id`/
3747
- # bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`location_id`/
3748
- # bigQueryExports/`export_id`` + `projects/`project_id`/locations/`location_id`/
3749
- # bigQueryExports/`export_id`` This field is provided in responses, and is
3750
- # ignored when provided in create requests.
3751
- # Corresponds to the JSON property `name`
3752
- # @return [String]
3753
- attr_accessor :name
3754
-
3755
- # Output only. The service account that needs permission to create table and
3756
- # upload data to the BigQuery dataset.
3757
- # Corresponds to the JSON property `principal`
3758
- # @return [String]
3759
- attr_accessor :principal
3760
-
3761
- # Output only. The most recent time at which the BigQuery export was updated.
3762
- # This field is set by the server and will be ignored if provided on export
3763
- # creation or update.
3764
- # Corresponds to the JSON property `updateTime`
3765
- # @return [String]
3766
- attr_accessor :update_time
3767
-
3768
- def initialize(**args)
3769
- update!(**args)
3770
- end
3771
-
3772
- # Update properties of this object
3773
- def update!(**args)
3774
- @create_time = args[:create_time] if args.key?(:create_time)
3775
- @dataset = args[:dataset] if args.key?(:dataset)
3776
- @description = args[:description] if args.key?(:description)
3777
- @filter = args[:filter] if args.key?(:filter)
3778
- @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
3779
- @name = args[:name] if args.key?(:name)
3780
- @principal = args[:principal] if args.key?(:principal)
3781
- @update_time = args[:update_time] if args.key?(:update_time)
3782
- end
3783
- end
3784
-
3785
- # Represents a Kubernetes RoleBinding or ClusterRoleBinding.
3786
- class GoogleCloudSecuritycenterV2Binding
3787
- include Google::Apis::Core::Hashable
3788
-
3789
- # Name for the binding.
3790
- # Corresponds to the JSON property `name`
3791
- # @return [String]
3792
- attr_accessor :name
3793
-
3794
- # Namespace for the binding.
3795
- # Corresponds to the JSON property `ns`
3796
- # @return [String]
3797
- attr_accessor :ns
3798
-
3799
- # Kubernetes Role or ClusterRole.
3800
- # Corresponds to the JSON property `role`
3801
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Role]
3802
- attr_accessor :role
3803
-
3804
- # Represents one or more subjects that are bound to the role. Not always
3805
- # available for PATCH requests.
3806
- # Corresponds to the JSON property `subjects`
3807
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Subject>]
3808
- attr_accessor :subjects
3809
-
3810
- def initialize(**args)
3811
- update!(**args)
3812
- end
3813
-
3814
- # Update properties of this object
3815
- def update!(**args)
3816
- @name = args[:name] if args.key?(:name)
3817
- @ns = args[:ns] if args.key?(:ns)
3818
- @role = args[:role] if args.key?(:role)
3819
- @subjects = args[:subjects] if args.key?(:subjects)
3820
- end
3821
- end
3822
-
3823
- # The response to a BulkMute request. Contains the LRO information.
3824
- class GoogleCloudSecuritycenterV2BulkMuteFindingsResponse
3825
- include Google::Apis::Core::Hashable
3826
-
3827
- def initialize(**args)
3828
- update!(**args)
3829
- end
3830
-
3831
- # Update properties of this object
3832
- def update!(**args)
3833
- end
3834
- end
3835
-
3836
- # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
3837
- # with the finding.
3838
- class GoogleCloudSecuritycenterV2CloudDlpDataProfile
3839
- include Google::Apis::Core::Hashable
3840
-
3841
- # Name of the data profile, for example, `projects/123/locations/europe/
3842
- # tableProfiles/8383929`.
3843
- # Corresponds to the JSON property `dataProfile`
3844
- # @return [String]
3845
- attr_accessor :data_profile
3846
-
3847
- # The resource hierarchy level at which the data profile was generated.
3848
- # Corresponds to the JSON property `parentType`
3849
- # @return [String]
3850
- attr_accessor :parent_type
3851
-
3852
- def initialize(**args)
3853
- update!(**args)
3854
- end
3855
-
3856
- # Update properties of this object
3857
- def update!(**args)
3858
- @data_profile = args[:data_profile] if args.key?(:data_profile)
3859
- @parent_type = args[:parent_type] if args.key?(:parent_type)
3860
- end
3861
- end
3862
-
3863
- # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](
3864
- # https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the
3865
- # finding.
3866
- class GoogleCloudSecuritycenterV2CloudDlpInspection
3867
- include Google::Apis::Core::Hashable
3868
-
3869
- # Whether Cloud DLP scanned the complete resource or a sampled subset.
3870
- # Corresponds to the JSON property `fullScan`
3871
- # @return [Boolean]
3872
- attr_accessor :full_scan
3873
- alias_method :full_scan?, :full_scan
3874
-
3875
- # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/
3876
- # infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.
3877
- # Corresponds to the JSON property `infoType`
3878
- # @return [String]
3879
- attr_accessor :info_type
3880
-
3881
- # The number of times Cloud DLP found this infoType within this job and resource.
3882
- # Corresponds to the JSON property `infoTypeCount`
3883
- # @return [Fixnum]
3884
- attr_accessor :info_type_count
3885
-
3886
- # Name of the inspection job, for example, `projects/123/locations/europe/
3887
- # dlpJobs/i-8383929`.
3888
- # Corresponds to the JSON property `inspectJob`
3889
- # @return [String]
3890
- attr_accessor :inspect_job
3891
-
3892
- def initialize(**args)
3893
- update!(**args)
3894
- end
3895
-
3896
- # Update properties of this object
3897
- def update!(**args)
3898
- @full_scan = args[:full_scan] if args.key?(:full_scan)
3899
- @info_type = args[:info_type] if args.key?(:info_type)
3900
- @info_type_count = args[:info_type_count] if args.key?(:info_type_count)
3901
- @inspect_job = args[:inspect_job] if args.key?(:inspect_job)
3902
- end
3903
- end
3904
-
3905
- # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/
3906
- # logging/docs/reference/v2/rest/v2/LogEntry)
3907
- class GoogleCloudSecuritycenterV2CloudLoggingEntry
3908
- include Google::Apis::Core::Hashable
3909
-
3910
- # A unique identifier for the log entry.
3911
- # Corresponds to the JSON property `insertId`
3912
- # @return [String]
3913
- attr_accessor :insert_id
3914
-
3915
- # The type of the log (part of `log_name`. `log_name` is the resource name of
3916
- # the log to which this log entry belongs). For example: `cloudresourcemanager.
3917
- # googleapis.com/activity` Note that this field is not URL-encoded, unlike in `
3918
- # LogEntry`.
3919
- # Corresponds to the JSON property `logId`
3920
- # @return [String]
3921
- attr_accessor :log_id
3922
-
3923
- # The organization, folder, or project of the monitored resource that produced
3924
- # this log entry.
3925
- # Corresponds to the JSON property `resourceContainer`
3926
- # @return [String]
3927
- attr_accessor :resource_container
3928
-
3929
- # The time the event described by the log entry occurred.
3930
- # Corresponds to the JSON property `timestamp`
3931
- # @return [String]
3932
- attr_accessor :timestamp
3933
-
3934
- def initialize(**args)
3935
- update!(**args)
3936
- end
3937
-
3938
- # Update properties of this object
3939
- def update!(**args)
3940
- @insert_id = args[:insert_id] if args.key?(:insert_id)
3941
- @log_id = args[:log_id] if args.key?(:log_id)
3942
- @resource_container = args[:resource_container] if args.key?(:resource_container)
3943
- @timestamp = args[:timestamp] if args.key?(:timestamp)
3944
- end
3945
- end
3946
-
3947
- # Contains compliance information about a security standard indicating unmet
3948
- # recommendations.
3949
- class GoogleCloudSecuritycenterV2Compliance
3950
- include Google::Apis::Core::Hashable
3951
-
3952
- # Policies within the standard or benchmark, for example, A.12.4.1
3953
- # Corresponds to the JSON property `ids`
3954
- # @return [Array<String>]
3955
- attr_accessor :ids
3956
-
3957
- # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.
3958
- # Corresponds to the JSON property `standard`
3959
- # @return [String]
3960
- attr_accessor :standard
3961
-
3962
- # Version of the standard or benchmark, for example, 1.1
3963
- # Corresponds to the JSON property `version`
3964
- # @return [String]
3965
- attr_accessor :version
3966
-
3967
- def initialize(**args)
3968
- update!(**args)
3969
- end
3970
-
3971
- # Update properties of this object
3972
- def update!(**args)
3973
- @ids = args[:ids] if args.key?(:ids)
3974
- @standard = args[:standard] if args.key?(:standard)
3975
- @version = args[:version] if args.key?(:version)
3976
- end
3977
- end
3978
-
3979
- # Contains information about the IP connection associated with the finding.
3980
- class GoogleCloudSecuritycenterV2Connection
3981
- include Google::Apis::Core::Hashable
3982
-
3983
- # Destination IP address. Not present for sockets that are listening and not
3984
- # connected.
3985
- # Corresponds to the JSON property `destinationIp`
3986
- # @return [String]
3987
- attr_accessor :destination_ip
3988
-
3989
- # Destination port. Not present for sockets that are listening and not connected.
3990
- # Corresponds to the JSON property `destinationPort`
3991
- # @return [Fixnum]
3992
- attr_accessor :destination_port
3993
-
3994
- # IANA Internet Protocol Number such as TCP(6) and UDP(17).
3995
- # Corresponds to the JSON property `protocol`
3996
- # @return [String]
3997
- attr_accessor :protocol
3998
-
3999
- # Source IP address.
4000
- # Corresponds to the JSON property `sourceIp`
4001
- # @return [String]
4002
- attr_accessor :source_ip
4003
-
4004
- # Source port.
4005
- # Corresponds to the JSON property `sourcePort`
4006
- # @return [Fixnum]
4007
- attr_accessor :source_port
4008
-
4009
- def initialize(**args)
4010
- update!(**args)
4011
- end
4012
-
4013
- # Update properties of this object
4014
- def update!(**args)
4015
- @destination_ip = args[:destination_ip] if args.key?(:destination_ip)
4016
- @destination_port = args[:destination_port] if args.key?(:destination_port)
4017
- @protocol = args[:protocol] if args.key?(:protocol)
4018
- @source_ip = args[:source_ip] if args.key?(:source_ip)
4019
- @source_port = args[:source_port] if args.key?(:source_port)
4020
- end
4021
- end
4022
-
4023
- # The email address of a contact.
4024
- class GoogleCloudSecuritycenterV2Contact
4025
- include Google::Apis::Core::Hashable
4026
-
4027
- # An email address. For example, "`person123@company.com`".
4028
- # Corresponds to the JSON property `email`
4029
- # @return [String]
4030
- attr_accessor :email
4031
-
4032
- def initialize(**args)
4033
- update!(**args)
4034
- end
4035
-
4036
- # Update properties of this object
4037
- def update!(**args)
4038
- @email = args[:email] if args.key?(:email)
4039
- end
4040
- end
4041
-
4042
- # Details about specific contacts
4043
- class GoogleCloudSecuritycenterV2ContactDetails
4044
- include Google::Apis::Core::Hashable
4045
-
4046
- # A list of contacts
4047
- # Corresponds to the JSON property `contacts`
4048
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Contact>]
4049
- attr_accessor :contacts
4050
-
4051
- def initialize(**args)
4052
- update!(**args)
4053
- end
4054
-
4055
- # Update properties of this object
4056
- def update!(**args)
4057
- @contacts = args[:contacts] if args.key?(:contacts)
4058
- end
4059
- end
4060
-
4061
- # Container associated with the finding.
4062
- class GoogleCloudSecuritycenterV2Container
4063
- include Google::Apis::Core::Hashable
4064
-
4065
- # The time that the container was created.
4066
- # Corresponds to the JSON property `createTime`
4067
- # @return [String]
4068
- attr_accessor :create_time
4069
-
4070
- # Optional container image ID, if provided by the container runtime. Uniquely
4071
- # identifies the container image launched using a container image digest.
4072
- # Corresponds to the JSON property `imageId`
4073
- # @return [String]
4074
- attr_accessor :image_id
4075
-
4076
- # Container labels, as provided by the container runtime.
4077
- # Corresponds to the JSON property `labels`
4078
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Label>]
4079
- attr_accessor :labels
4080
-
4081
- # Name of the container.
4082
- # Corresponds to the JSON property `name`
4083
- # @return [String]
4084
- attr_accessor :name
4085
-
4086
- # Container image URI provided when configuring a pod or container. This string
4087
- # can identify a container image version using mutable tags.
4088
- # Corresponds to the JSON property `uri`
4089
- # @return [String]
4090
- attr_accessor :uri
4091
-
4092
- def initialize(**args)
4093
- update!(**args)
4094
- end
4095
-
4096
- # Update properties of this object
4097
- def update!(**args)
4098
- @create_time = args[:create_time] if args.key?(:create_time)
4099
- @image_id = args[:image_id] if args.key?(:image_id)
4100
- @labels = args[:labels] if args.key?(:labels)
4101
- @name = args[:name] if args.key?(:name)
4102
- @uri = args[:uri] if args.key?(:uri)
4103
- end
4104
- end
4105
-
4106
- # CVE stands for Common Vulnerabilities and Exposures. More information: https://
4107
- # cve.mitre.org
4108
- class GoogleCloudSecuritycenterV2Cve
4109
- include Google::Apis::Core::Hashable
4110
-
4111
- # Common Vulnerability Scoring System version 3.
4112
- # Corresponds to the JSON property `cvssv3`
4113
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Cvssv3]
4114
- attr_accessor :cvssv3
4115
-
4116
- # The unique identifier for the vulnerability. e.g. CVE-2021-34527
4117
- # Corresponds to the JSON property `id`
4118
- # @return [String]
4119
- attr_accessor :id
4120
-
4121
- # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/
4122
- # cvename.cgi?name=CVE-2021-34527
4123
- # Corresponds to the JSON property `references`
4124
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Reference>]
4125
- attr_accessor :references
4126
-
4127
- # Whether upstream fix is available for the CVE.
4128
- # Corresponds to the JSON property `upstreamFixAvailable`
4129
- # @return [Boolean]
4130
- attr_accessor :upstream_fix_available
4131
- alias_method :upstream_fix_available?, :upstream_fix_available
4132
-
4133
- def initialize(**args)
4134
- update!(**args)
4135
- end
4136
-
4137
- # Update properties of this object
4138
- def update!(**args)
4139
- @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
4140
- @id = args[:id] if args.key?(:id)
4141
- @references = args[:references] if args.key?(:references)
4142
- @upstream_fix_available = args[:upstream_fix_available] if args.key?(:upstream_fix_available)
4143
- end
4144
- end
4145
-
4146
- # Common Vulnerability Scoring System version 3.
4147
- class GoogleCloudSecuritycenterV2Cvssv3
4148
- include Google::Apis::Core::Hashable
4149
-
4150
- # This metric describes the conditions beyond the attacker's control that must
4151
- # exist in order to exploit the vulnerability.
4152
- # Corresponds to the JSON property `attackComplexity`
4153
- # @return [String]
4154
- attr_accessor :attack_complexity
4155
-
4156
- # Base Metrics Represents the intrinsic characteristics of a vulnerability that
4157
- # are constant over time and across user environments. This metric reflects the
4158
- # context by which vulnerability exploitation is possible.
4159
- # Corresponds to the JSON property `attackVector`
4160
- # @return [String]
4161
- attr_accessor :attack_vector
4162
-
4163
- # This metric measures the impact to the availability of the impacted component
4164
- # resulting from a successfully exploited vulnerability.
4165
- # Corresponds to the JSON property `availabilityImpact`
4166
- # @return [String]
4167
- attr_accessor :availability_impact
4168
-
4169
- # The base score is a function of the base metric scores.
4170
- # Corresponds to the JSON property `baseScore`
4171
- # @return [Float]
4172
- attr_accessor :base_score
4173
-
4174
- # This metric measures the impact to the confidentiality of the information
4175
- # resources managed by a software component due to a successfully exploited
4176
- # vulnerability.
4177
- # Corresponds to the JSON property `confidentialityImpact`
4178
- # @return [String]
4179
- attr_accessor :confidentiality_impact
4180
-
4181
- # This metric measures the impact to integrity of a successfully exploited
4182
- # vulnerability.
4183
- # Corresponds to the JSON property `integrityImpact`
4184
- # @return [String]
4185
- attr_accessor :integrity_impact
4186
-
4187
- # This metric describes the level of privileges an attacker must possess before
4188
- # successfully exploiting the vulnerability.
4189
- # Corresponds to the JSON property `privilegesRequired`
4190
- # @return [String]
4191
- attr_accessor :privileges_required
4192
-
4193
- # The Scope metric captures whether a vulnerability in one vulnerable component
4194
- # impacts resources in components beyond its security scope.
4195
- # Corresponds to the JSON property `scope`
4196
- # @return [String]
4197
- attr_accessor :scope
4198
-
4199
- # This metric captures the requirement for a human user, other than the attacker,
4200
- # to participate in the successful compromise of the vulnerable component.
4201
- # Corresponds to the JSON property `userInteraction`
4202
- # @return [String]
4203
- attr_accessor :user_interaction
4204
-
4205
- def initialize(**args)
4206
- update!(**args)
4207
- end
4208
-
4209
- # Update properties of this object
4210
- def update!(**args)
4211
- @attack_complexity = args[:attack_complexity] if args.key?(:attack_complexity)
4212
- @attack_vector = args[:attack_vector] if args.key?(:attack_vector)
4213
- @availability_impact = args[:availability_impact] if args.key?(:availability_impact)
4214
- @base_score = args[:base_score] if args.key?(:base_score)
4215
- @confidentiality_impact = args[:confidentiality_impact] if args.key?(:confidentiality_impact)
4216
- @integrity_impact = args[:integrity_impact] if args.key?(:integrity_impact)
4217
- @privileges_required = args[:privileges_required] if args.key?(:privileges_required)
4218
- @scope = args[:scope] if args.key?(:scope)
4219
- @user_interaction = args[:user_interaction] if args.key?(:user_interaction)
4220
- end
4221
- end
4222
-
4223
- # Represents database access information, such as queries. A database may be a
4224
- # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
4225
- # Spanner instances), or the database instance itself. Some database resources
4226
- # might not have the [full resource name](https://google.aip.dev/122#full-
4227
- # resource-names) populated because these resource types, such as Cloud SQL
4228
- # databases, are not yet supported by Cloud Asset Inventory. In these cases only
4229
- # the display name is provided.
4230
- class GoogleCloudSecuritycenterV2Database
4231
- include Google::Apis::Core::Hashable
4232
-
4233
- # The human-readable name of the database that the user connected to.
4234
- # Corresponds to the JSON property `displayName`
4235
- # @return [String]
4236
- attr_accessor :display_name
4237
-
4238
- # The target usernames, roles, or groups of an SQL privilege grant, which is not
4239
- # an IAM policy change.
4240
- # Corresponds to the JSON property `grantees`
4241
- # @return [Array<String>]
4242
- attr_accessor :grantees
4243
-
4244
- # Some database resources may not have the [full resource name](https://google.
4245
- # aip.dev/122#full-resource-names) populated because these resource types are
4246
- # not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In
4247
- # these cases only the display name will be provided. The [full resource name](
4248
- # https://google.aip.dev/122#full-resource-names) of the database that the user
4249
- # connected to, if it is supported by Cloud Asset Inventory.
4250
- # Corresponds to the JSON property `name`
4251
- # @return [String]
4252
- attr_accessor :name
4253
-
4254
- # The SQL statement that is associated with the database access.
4255
- # Corresponds to the JSON property `query`
4256
- # @return [String]
4257
- attr_accessor :query
4258
-
4259
- # The username used to connect to the database. The username might not be an IAM
4260
- # principal and does not have a set format.
4261
- # Corresponds to the JSON property `userName`
4262
- # @return [String]
4263
- attr_accessor :user_name
4264
-
4265
- # The version of the database, for example, POSTGRES_14. See [the complete list](
4266
- # https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
4267
- # Corresponds to the JSON property `version`
4268
- # @return [String]
4269
- attr_accessor :version
4270
-
4271
- def initialize(**args)
4272
- update!(**args)
4273
- end
4274
-
4275
- # Update properties of this object
4276
- def update!(**args)
4277
- @display_name = args[:display_name] if args.key?(:display_name)
4278
- @grantees = args[:grantees] if args.key?(:grantees)
4279
- @name = args[:name] if args.key?(:name)
4280
- @query = args[:query] if args.key?(:query)
4281
- @user_name = args[:user_name] if args.key?(:user_name)
4282
- @version = args[:version] if args.key?(:version)
4283
- end
4284
- end
4285
-
4286
- # Memory hash detection contributing to the binary family match.
4287
- class GoogleCloudSecuritycenterV2Detection
4288
- include Google::Apis::Core::Hashable
4289
-
4290
- # The name of the binary associated with the memory hash signature detection.
4291
- # Corresponds to the JSON property `binary`
4292
- # @return [String]
4293
- attr_accessor :binary
4294
-
4295
- # The percentage of memory page hashes in the signature that were matched.
4296
- # Corresponds to the JSON property `percentPagesMatched`
4297
- # @return [Float]
4298
- attr_accessor :percent_pages_matched
4299
-
4300
- def initialize(**args)
4301
- update!(**args)
4302
- end
4303
-
4304
- # Update properties of this object
4305
- def update!(**args)
4306
- @binary = args[:binary] if args.key?(:binary)
4307
- @percent_pages_matched = args[:percent_pages_matched] if args.key?(:percent_pages_matched)
4308
- end
4309
- end
4310
-
4311
- # A name-value pair representing an environment variable used in an operating
4312
- # system process.
4313
- class GoogleCloudSecuritycenterV2EnvironmentVariable
4314
- include Google::Apis::Core::Hashable
4315
-
4316
- # Environment variable name as a JSON encoded string.
4317
- # Corresponds to the JSON property `name`
4318
- # @return [String]
4319
- attr_accessor :name
4320
-
4321
- # Environment variable value as a JSON encoded string.
4322
- # Corresponds to the JSON property `val`
4323
- # @return [String]
4324
- attr_accessor :val
4325
-
4326
- def initialize(**args)
4327
- update!(**args)
4328
- end
4329
-
4330
- # Update properties of this object
4331
- def update!(**args)
4332
- @name = args[:name] if args.key?(:name)
4333
- @val = args[:val] if args.key?(:val)
4334
- end
4335
- end
4336
-
4337
- # Resource where data was exfiltrated from or exfiltrated to.
4338
- class GoogleCloudSecuritycenterV2ExfilResource
4339
- include Google::Apis::Core::Hashable
4340
-
4341
- # Subcomponents of the asset that was exfiltrated, like URIs used during
4342
- # exfiltration, table names, databases, and filenames. For example, multiple
4343
- # tables might have been exfiltrated from the same Cloud SQL instance, or
4344
- # multiple files might have been exfiltrated from the same Cloud Storage bucket.
4345
- # Corresponds to the JSON property `components`
4346
- # @return [Array<String>]
4347
- attr_accessor :components
4348
-
4349
- # The resource's [full resource name](https://cloud.google.com/apis/design/
4350
- # resource_names#full_resource_name).
4351
- # Corresponds to the JSON property `name`
4352
- # @return [String]
4353
- attr_accessor :name
4354
-
4355
- def initialize(**args)
4356
- update!(**args)
4357
- end
4358
-
4359
- # Update properties of this object
4360
- def update!(**args)
4361
- @components = args[:components] if args.key?(:components)
4362
- @name = args[:name] if args.key?(:name)
4363
- end
4364
- end
4365
-
4366
- # Exfiltration represents a data exfiltration attempt from one or more sources
4367
- # to one or more targets. The `sources` attribute lists the sources of the
4368
- # exfiltrated data. The `targets` attribute lists the destinations the data was
4369
- # copied to.
4370
- class GoogleCloudSecuritycenterV2Exfiltration
4371
- include Google::Apis::Core::Hashable
4372
-
4373
- # If there are multiple sources, then the data is considered "joined" between
4374
- # them. For instance, BigQuery can join multiple tables, and each table would be
4375
- # considered a source.
4376
- # Corresponds to the JSON property `sources`
4377
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ExfilResource>]
4378
- attr_accessor :sources
4379
-
4380
- # If there are multiple targets, each target would get a complete copy of the "
4381
- # joined" source data.
4382
- # Corresponds to the JSON property `targets`
4383
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ExfilResource>]
4384
- attr_accessor :targets
4385
-
4386
- # Total exfiltrated bytes processed for the entire job.
4387
- # Corresponds to the JSON property `totalExfiltratedBytes`
4388
- # @return [Fixnum]
4389
- attr_accessor :total_exfiltrated_bytes
4390
-
4391
- def initialize(**args)
4392
- update!(**args)
4393
- end
4394
-
4395
- # Update properties of this object
4396
- def update!(**args)
4397
- @sources = args[:sources] if args.key?(:sources)
4398
- @targets = args[:targets] if args.key?(:targets)
4399
- @total_exfiltrated_bytes = args[:total_exfiltrated_bytes] if args.key?(:total_exfiltrated_bytes)
4400
- end
4401
- end
4402
-
4403
- # Representation of third party SIEM/SOAR fields within SCC.
4404
- class GoogleCloudSecuritycenterV2ExternalSystem
4405
- include Google::Apis::Core::Hashable
4406
-
4407
- # References primary/secondary etc assignees in the external system.
4408
- # Corresponds to the JSON property `assignees`
4409
- # @return [Array<String>]
4410
- attr_accessor :assignees
4411
-
4412
- # The time when the case was last updated, as reported by the external system.
4413
- # Corresponds to the JSON property `externalSystemUpdateTime`
4414
- # @return [String]
4415
- attr_accessor :external_system_update_time
4416
-
4417
- # The identifier that's used to track the finding's corresponding case in the
4418
- # external system.
4419
- # Corresponds to the JSON property `externalUid`
4420
- # @return [String]
4421
- attr_accessor :external_uid
4422
-
4423
- # Full resource name of the external system. The following list shows some
4424
- # examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/
4425
- # jira` + `organizations/1234/sources/5678/locations/us/findings/123456/
4426
- # externalSystems/jira` + `folders/1234/sources/5678/findings/123456/
4427
- # externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/
4428
- # 123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/
4429
- # externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/
4430
- # 123456/externalSystems/jira`
4431
- # Corresponds to the JSON property `name`
4432
- # @return [String]
4433
- attr_accessor :name
4434
-
4435
- # The most recent status of the finding's corresponding case, as reported by the
4436
- # external system.
4437
- # Corresponds to the JSON property `status`
4438
- # @return [String]
4439
- attr_accessor :status
4440
-
4441
- def initialize(**args)
4442
- update!(**args)
4443
- end
4444
-
4445
- # Update properties of this object
4446
- def update!(**args)
4447
- @assignees = args[:assignees] if args.key?(:assignees)
4448
- @external_system_update_time = args[:external_system_update_time] if args.key?(:external_system_update_time)
4449
- @external_uid = args[:external_uid] if args.key?(:external_uid)
4450
- @name = args[:name] if args.key?(:name)
4451
- @status = args[:status] if args.key?(:status)
4452
- end
4453
- end
4454
-
4455
- # File information about the related binary/library used by an executable, or
4456
- # the script used by a script interpreter
4457
- class GoogleCloudSecuritycenterV2File
4458
- include Google::Apis::Core::Hashable
4459
-
4460
- # Prefix of the file contents as a JSON-encoded string.
4461
- # Corresponds to the JSON property `contents`
4462
- # @return [String]
4463
- attr_accessor :contents
4464
-
4465
- # The length in bytes of the file prefix that was hashed. If hashed_size == size,
4466
- # any hashes reported represent the entire file.
4467
- # Corresponds to the JSON property `hashedSize`
4468
- # @return [Fixnum]
4469
- attr_accessor :hashed_size
4470
-
4471
- # True when the hash covers only a prefix of the file.
4472
- # Corresponds to the JSON property `partiallyHashed`
4473
- # @return [Boolean]
4474
- attr_accessor :partially_hashed
4475
- alias_method :partially_hashed?, :partially_hashed
4476
-
4477
- # Absolute path of the file as a JSON encoded string.
4478
- # Corresponds to the JSON property `path`
4479
- # @return [String]
4480
- attr_accessor :path
4481
-
4482
- # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string.
4483
- # If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
4484
- # Corresponds to the JSON property `sha256`
4485
- # @return [String]
4486
- attr_accessor :sha256
4487
-
4488
- # Size of the file in bytes.
4489
- # Corresponds to the JSON property `size`
4490
- # @return [Fixnum]
4491
- attr_accessor :size
4492
-
4493
- def initialize(**args)
4494
- update!(**args)
4495
- end
4496
-
4497
- # Update properties of this object
4498
- def update!(**args)
4499
- @contents = args[:contents] if args.key?(:contents)
4500
- @hashed_size = args[:hashed_size] if args.key?(:hashed_size)
4501
- @partially_hashed = args[:partially_hashed] if args.key?(:partially_hashed)
4502
- @path = args[:path] if args.key?(:path)
4503
- @sha256 = args[:sha256] if args.key?(:sha256)
4504
- @size = args[:size] if args.key?(:size)
4505
- end
4506
- end
4507
-
4508
- # Security Command Center finding. A finding is a record of assessment data like
4509
- # security, risk, health, or privacy, that is ingested into Security Command
4510
- # Center for presentation, notification, analysis, policy testing, and
4511
- # enforcement. For example, a cross-site scripting (XSS) vulnerability in an App
4512
- # Engine application is a finding.
4513
- class GoogleCloudSecuritycenterV2Finding
4514
- include Google::Apis::Core::Hashable
4515
-
4516
- # Represents an access event.
4517
- # Corresponds to the JSON property `access`
4518
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Access]
4519
- attr_accessor :access
4520
-
4521
- # Represents an application associated with a finding.
4522
- # Corresponds to the JSON property `application`
4523
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Application]
4524
- attr_accessor :application
4525
-
4526
- # An attack exposure contains the results of an attack path simulation run.
4527
- # Corresponds to the JSON property `attackExposure`
4528
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AttackExposure]
4529
- attr_accessor :attack_exposure
4530
-
4531
- # Information related to Google Cloud Backup and DR Service findings.
4532
- # Corresponds to the JSON property `backupDisasterRecovery`
4533
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2BackupDisasterRecovery]
4534
- attr_accessor :backup_disaster_recovery
4535
-
4536
- # Output only. The canonical name of the finding. The following list shows some
4537
- # examples: + `organizations/`organization_id`/sources/`source_id`/findings/`
4538
- # finding_id`` + `organizations/`organization_id`/sources/`source_id`/locations/`
4539
- # location_id`/findings/`finding_id`` + `folders/`folder_id`/sources/`source_id`/
4540
- # findings/`finding_id`` + `folders/`folder_id`/sources/`source_id`/locations/`
4541
- # location_id`/findings/`finding_id`` + `projects/`project_id`/sources/`
4542
- # source_id`/findings/`finding_id`` + `projects/`project_id`/sources/`source_id`/
4543
- # locations/`location_id`/findings/`finding_id`` The prefix is the closest CRM
4544
- # ancestor of the resource associated with the finding.
4545
- # Corresponds to the JSON property `canonicalName`
4546
- # @return [String]
4547
- attr_accessor :canonical_name
4548
-
4549
- # Immutable. The additional taxonomy group within findings from a given source.
4550
- # Example: "XSS_FLASH_INJECTION"
4551
- # Corresponds to the JSON property `category`
4552
- # @return [String]
4553
- attr_accessor :category
4554
-
4555
- # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
4556
- # with the finding.
4557
- # Corresponds to the JSON property `cloudDlpDataProfile`
4558
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2CloudDlpDataProfile]
4559
- attr_accessor :cloud_dlp_data_profile
4560
-
4561
- # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](
4562
- # https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the
4563
- # finding.
4564
- # Corresponds to the JSON property `cloudDlpInspection`
4565
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2CloudDlpInspection]
4566
- attr_accessor :cloud_dlp_inspection
4567
-
4568
- # Contains compliance information for security standards associated to the
4569
- # finding.
4570
- # Corresponds to the JSON property `compliances`
4571
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Compliance>]
4572
- attr_accessor :compliances
4573
-
4574
- # Contains information about the IP connection associated with the finding.
4575
- # Corresponds to the JSON property `connections`
4576
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Connection>]
4577
- attr_accessor :connections
4578
-
4579
- # Output only. Map containing the points of contact for the given finding. The
4580
- # key represents the type of contact, while the value contains a list of all the
4581
- # contacts that pertain. Please refer to: https://cloud.google.com/resource-
4582
- # manager/docs/managing-notification-contacts#notification-categories ` "
4583
- # security": ` "contacts": [ ` "email": "person1@company.com" `, ` "email": "
4584
- # person2@company.com" ` ] ` `
4585
- # Corresponds to the JSON property `contacts`
4586
- # @return [Hash<String,Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ContactDetails>]
4587
- attr_accessor :contacts
4588
-
4589
- # Containers associated with the finding. This field provides information for
4590
- # both Kubernetes and non-Kubernetes containers.
4591
- # Corresponds to the JSON property `containers`
4592
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Container>]
4593
- attr_accessor :containers
4594
-
4595
- # Output only. The time at which the finding was created in Security Command
4596
- # Center.
4597
- # Corresponds to the JSON property `createTime`
4598
- # @return [String]
4599
- attr_accessor :create_time
4600
-
4601
- # Represents database access information, such as queries. A database may be a
4602
- # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
4603
- # Spanner instances), or the database instance itself. Some database resources
4604
- # might not have the [full resource name](https://google.aip.dev/122#full-
4605
- # resource-names) populated because these resource types, such as Cloud SQL
4606
- # databases, are not yet supported by Cloud Asset Inventory. In these cases only
4607
- # the display name is provided.
4608
- # Corresponds to the JSON property `database`
4609
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Database]
4610
- attr_accessor :database
4611
-
4612
- # Contains more details about the finding.
4613
- # Corresponds to the JSON property `description`
4614
- # @return [String]
4615
- attr_accessor :description
4616
-
4617
- # The time the finding was first detected. If an existing finding is updated,
4618
- # then this is the time the update occurred. For example, if the finding
4619
- # represents an open firewall, this property captures the time the detector
4620
- # believes the firewall became open. The accuracy is determined by the detector.
4621
- # If the finding is later resolved, then this time reflects when the finding was
4622
- # resolved. This must not be set to a value greater than the current timestamp.
4623
- # Corresponds to the JSON property `eventTime`
4624
- # @return [String]
4625
- attr_accessor :event_time
4626
-
4627
- # Exfiltration represents a data exfiltration attempt from one or more sources
4628
- # to one or more targets. The `sources` attribute lists the sources of the
4629
- # exfiltrated data. The `targets` attribute lists the destinations the data was
4630
- # copied to.
4631
- # Corresponds to the JSON property `exfiltration`
4632
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Exfiltration]
4633
- attr_accessor :exfiltration
4634
-
4635
- # Output only. Third party SIEM/SOAR fields within SCC, contains external system
4636
- # information and external system finding fields.
4637
- # Corresponds to the JSON property `externalSystems`
4638
- # @return [Hash<String,Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ExternalSystem>]
4639
- attr_accessor :external_systems
4640
-
4641
- # The URI that, if available, points to a web page outside of Security Command
4642
- # Center where additional information about the finding can be found. This field
4643
- # is guaranteed to be either empty or a well formed URL.
4644
- # Corresponds to the JSON property `externalUri`
4645
- # @return [String]
4646
- attr_accessor :external_uri
4647
-
4648
- # File associated with the finding.
4649
- # Corresponds to the JSON property `files`
4650
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2File>]
4651
- attr_accessor :files
4652
-
4653
- # The class of the finding.
4654
- # Corresponds to the JSON property `findingClass`
4655
- # @return [String]
4656
- attr_accessor :finding_class
4657
-
4658
- # Represents IAM bindings associated with the finding.
4659
- # Corresponds to the JSON property `iamBindings`
4660
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2IamBinding>]
4661
- attr_accessor :iam_bindings
4662
-
4663
- # Represents what's commonly known as an _indicator of compromise_ (IoC) in
4664
- # computer forensics. This is an artifact observed on a network or in an
4665
- # operating system that, with high confidence, indicates a computer intrusion.
4666
- # For more information, see [Indicator of compromise](https://en.wikipedia.org/
4667
- # wiki/Indicator_of_compromise).
4668
- # Corresponds to the JSON property `indicator`
4669
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Indicator]
4670
- attr_accessor :indicator
4671
-
4672
- # Kernel mode rootkit signatures.
4673
- # Corresponds to the JSON property `kernelRootkit`
4674
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2KernelRootkit]
4675
- attr_accessor :kernel_rootkit
4676
-
4677
- # Kubernetes-related attributes.
4678
- # Corresponds to the JSON property `kubernetes`
4679
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Kubernetes]
4680
- attr_accessor :kubernetes
4681
-
4682
- # The load balancers associated with the finding.
4683
- # Corresponds to the JSON property `loadBalancers`
4684
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2LoadBalancer>]
4685
- attr_accessor :load_balancers
4686
-
4687
- # Log entries that are relevant to the finding.
4688
- # Corresponds to the JSON property `logEntries`
4689
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2LogEntry>]
4690
- attr_accessor :log_entries
4691
-
4692
- # MITRE ATT&CK tactics and techniques related to this finding. See: https://
4693
- # attack.mitre.org
4694
- # Corresponds to the JSON property `mitreAttack`
4695
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2MitreAttack]
4696
- attr_accessor :mitre_attack
4697
-
4698
- # Unique identifier of the module which generated the finding. Example: folders/
4699
- # 598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
4700
- # Corresponds to the JSON property `moduleName`
4701
- # @return [String]
4702
- attr_accessor :module_name
4703
-
4704
- # Indicates the mute state of a finding (either muted, unmuted or undefined).
4705
- # Unlike other attributes of a finding, a finding provider shouldn't set the
4706
- # value of mute.
4707
- # Corresponds to the JSON property `mute`
4708
- # @return [String]
4709
- attr_accessor :mute
4710
-
4711
- # Records additional information about the mute operation, for example, the [
4712
- # mute configuration](https://cloud.google.com/security-command-center/docs/how-
4713
- # to-mute-findings) that muted the finding and the user who muted the finding.
4714
- # Corresponds to the JSON property `muteInitiator`
4715
- # @return [String]
4716
- attr_accessor :mute_initiator
4717
-
4718
- # Output only. The most recent time this finding was muted or unmuted.
4719
- # Corresponds to the JSON property `muteUpdateTime`
4720
- # @return [String]
4721
- attr_accessor :mute_update_time
4722
-
4723
- # The [relative resource name](https://cloud.google.com/apis/design/
4724
- # resource_names#relative_resource_name) of the finding. The following list
4725
- # shows some examples: + `organizations/`organization_id`/sources/`source_id`/
4726
- # findings/`finding_id`` + `organizations/`organization_id`/sources/`source_id`/
4727
- # locations/`location_id`/findings/`finding_id`` + `folders/`folder_id`/sources/`
4728
- # source_id`/findings/`finding_id`` + `folders/`folder_id`/sources/`source_id`/
4729
- # locations/`location_id`/findings/`finding_id`` + `projects/`project_id`/
4730
- # sources/`source_id`/findings/`finding_id`` + `projects/`project_id`/sources/`
4731
- # source_id`/locations/`location_id`/findings/`finding_id``
4732
- # Corresponds to the JSON property `name`
4733
- # @return [String]
4734
- attr_accessor :name
4735
-
4736
- # Steps to address the finding.
4737
- # Corresponds to the JSON property `nextSteps`
4738
- # @return [String]
4739
- attr_accessor :next_steps
4740
-
4741
- # Contains information about the org policies associated with the finding.
4742
- # Corresponds to the JSON property `orgPolicies`
4743
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2OrgPolicy>]
4744
- attr_accessor :org_policies
4745
-
4746
- # The relative resource name of the source and location the finding belongs to.
4747
- # See: https://cloud.google.com/apis/design/resource_names#
4748
- # relative_resource_name This field is immutable after creation time. The
4749
- # following list shows some examples: + `organizations/`organization_id`/sources/
4750
- # `source_id`` + `folders/`folders_id`/sources/`source_id`` + `projects/`
4751
- # projects_id`/sources/`source_id`` + `organizations/`organization_id`/sources/`
4752
- # source_id`/locations/`location_id`` + `folders/`folders_id`/sources/`source_id`
4753
- # /locations/`location_id`` + `projects/`projects_id`/sources/`source_id`/
4754
- # locations/`location_id``
4755
- # Corresponds to the JSON property `parent`
4756
- # @return [String]
4757
- attr_accessor :parent
4758
-
4759
- # Output only. The human readable display name of the finding source such as "
4760
- # Event Threat Detection" or "Security Health Analytics".
4761
- # Corresponds to the JSON property `parentDisplayName`
4762
- # @return [String]
4763
- attr_accessor :parent_display_name
4764
-
4765
- # Represents operating system processes associated with the Finding.
4766
- # Corresponds to the JSON property `processes`
4767
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Process>]
4768
- attr_accessor :processes
4769
-
4770
- # Immutable. For findings on Google Cloud resources, the full resource name of
4771
- # the Google Cloud resource this finding is for. See: https://cloud.google.com/
4772
- # apis/design/resource_names#full_resource_name When the finding is for a non-
4773
- # Google Cloud resource, the resourceName can be a customer or partner defined
4774
- # string.
4775
- # Corresponds to the JSON property `resourceName`
4776
- # @return [String]
4777
- attr_accessor :resource_name
4778
-
4779
- # User specified security marks that are attached to the parent Security Command
4780
- # Center resource. Security marks are scoped within a Security Command Center
4781
- # organization -- they can be modified and viewed by all users who have proper
4782
- # permissions on the organization.
4783
- # Corresponds to the JSON property `securityMarks`
4784
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2SecurityMarks]
4785
- attr_accessor :security_marks
4786
-
4787
- # Represents a posture that is deployed on Google Cloud by the Security Command
4788
- # Center Posture Management service. A posture contains one or more policy sets.
4789
- # A policy set is a group of policies that enforce a set of security rules on
4790
- # Google Cloud.
4791
- # Corresponds to the JSON property `securityPosture`
4792
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2SecurityPosture]
4793
- attr_accessor :security_posture
4794
-
4795
- # The severity of the finding. This field is managed by the source that writes
4796
- # the finding.
4797
- # Corresponds to the JSON property `severity`
4798
- # @return [String]
4799
- attr_accessor :severity
4800
-
4801
- # Source specific properties. These properties are managed by the source that
4802
- # writes the finding. The key names in the source_properties map must be between
4803
- # 1 and 255 characters, and must start with a letter and contain alphanumeric
4804
- # characters or underscores only.
4805
- # Corresponds to the JSON property `sourceProperties`
4806
- # @return [Hash<String,Object>]
4807
- attr_accessor :source_properties
4808
-
4809
- # Output only. The state of the finding.
4810
- # Corresponds to the JSON property `state`
4811
- # @return [String]
4812
- attr_accessor :state
4813
-
4814
- # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
4815
- # Corresponds to the JSON property `vulnerability`
4816
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Vulnerability]
4817
- attr_accessor :vulnerability
4818
-
4819
- def initialize(**args)
4820
- update!(**args)
4821
- end
4822
-
4823
- # Update properties of this object
4824
- def update!(**args)
4825
- @access = args[:access] if args.key?(:access)
4826
- @application = args[:application] if args.key?(:application)
4827
- @attack_exposure = args[:attack_exposure] if args.key?(:attack_exposure)
4828
- @backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
4829
- @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
4830
- @category = args[:category] if args.key?(:category)
4831
- @cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
4832
- @cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
4833
- @compliances = args[:compliances] if args.key?(:compliances)
4834
- @connections = args[:connections] if args.key?(:connections)
4835
- @contacts = args[:contacts] if args.key?(:contacts)
4836
- @containers = args[:containers] if args.key?(:containers)
4837
- @create_time = args[:create_time] if args.key?(:create_time)
4838
- @database = args[:database] if args.key?(:database)
4839
- @description = args[:description] if args.key?(:description)
4840
- @event_time = args[:event_time] if args.key?(:event_time)
4841
- @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
4842
- @external_systems = args[:external_systems] if args.key?(:external_systems)
4843
- @external_uri = args[:external_uri] if args.key?(:external_uri)
4844
- @files = args[:files] if args.key?(:files)
4845
- @finding_class = args[:finding_class] if args.key?(:finding_class)
4846
- @iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
4847
- @indicator = args[:indicator] if args.key?(:indicator)
4848
- @kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
4849
- @kubernetes = args[:kubernetes] if args.key?(:kubernetes)
4850
- @load_balancers = args[:load_balancers] if args.key?(:load_balancers)
4851
- @log_entries = args[:log_entries] if args.key?(:log_entries)
4852
- @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
4853
- @module_name = args[:module_name] if args.key?(:module_name)
4854
- @mute = args[:mute] if args.key?(:mute)
4855
- @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
4856
- @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
4857
- @name = args[:name] if args.key?(:name)
4858
- @next_steps = args[:next_steps] if args.key?(:next_steps)
4859
- @org_policies = args[:org_policies] if args.key?(:org_policies)
4860
- @parent = args[:parent] if args.key?(:parent)
4861
- @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
4862
- @processes = args[:processes] if args.key?(:processes)
4863
- @resource_name = args[:resource_name] if args.key?(:resource_name)
4864
- @security_marks = args[:security_marks] if args.key?(:security_marks)
4865
- @security_posture = args[:security_posture] if args.key?(:security_posture)
4866
- @severity = args[:severity] if args.key?(:severity)
4867
- @source_properties = args[:source_properties] if args.key?(:source_properties)
4868
- @state = args[:state] if args.key?(:state)
4869
- @vulnerability = args[:vulnerability] if args.key?(:vulnerability)
4870
- end
4871
- end
4872
-
4873
- # Represents a geographical location for a given access.
4874
- class GoogleCloudSecuritycenterV2Geolocation
4875
- include Google::Apis::Core::Hashable
4876
-
4877
- # A CLDR.
4878
- # Corresponds to the JSON property `regionCode`
4879
- # @return [String]
4880
- attr_accessor :region_code
4881
-
4882
- def initialize(**args)
4883
- update!(**args)
4884
- end
4885
-
4886
- # Update properties of this object
4887
- def update!(**args)
4888
- @region_code = args[:region_code] if args.key?(:region_code)
4889
- end
4890
- end
4891
-
4892
- # Represents a particular IAM binding, which captures a member's role addition,
4893
- # removal, or state.
4894
- class GoogleCloudSecuritycenterV2IamBinding
4895
- include Google::Apis::Core::Hashable
4896
-
4897
- # The action that was performed on a Binding.
4898
- # Corresponds to the JSON property `action`
4899
- # @return [String]
4900
- attr_accessor :action
4901
-
4902
- # A single identity requesting access for a Cloud Platform resource, for example,
4903
- # "foo@google.com".
4904
- # Corresponds to the JSON property `member`
4905
- # @return [String]
4906
- attr_accessor :member
4907
-
4908
- # Role that is assigned to "members". For example, "roles/viewer", "roles/editor"
4909
- # , or "roles/owner".
4910
- # Corresponds to the JSON property `role`
4911
- # @return [String]
4912
- attr_accessor :role
4913
-
4914
- def initialize(**args)
4915
- update!(**args)
4916
- end
4917
-
4918
- # Update properties of this object
4919
- def update!(**args)
4920
- @action = args[:action] if args.key?(:action)
4921
- @member = args[:member] if args.key?(:member)
4922
- @role = args[:role] if args.key?(:role)
4923
- end
4924
- end
4925
-
4926
- # Represents what's commonly known as an _indicator of compromise_ (IoC) in
4927
- # computer forensics. This is an artifact observed on a network or in an
4928
- # operating system that, with high confidence, indicates a computer intrusion.
4929
- # For more information, see [Indicator of compromise](https://en.wikipedia.org/
4930
- # wiki/Indicator_of_compromise).
4931
- class GoogleCloudSecuritycenterV2Indicator
4932
- include Google::Apis::Core::Hashable
4933
-
4934
- # List of domains associated to the Finding.
4935
- # Corresponds to the JSON property `domains`
4936
- # @return [Array<String>]
4937
- attr_accessor :domains
4938
-
4939
- # The list of IP addresses that are associated with the finding.
4940
- # Corresponds to the JSON property `ipAddresses`
4941
- # @return [Array<String>]
4942
- attr_accessor :ip_addresses
4943
-
4944
- # The list of matched signatures indicating that the given process is present in
4945
- # the environment.
4946
- # Corresponds to the JSON property `signatures`
4947
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ProcessSignature>]
4948
- attr_accessor :signatures
4949
-
4950
- # The list of URIs associated to the Findings.
4951
- # Corresponds to the JSON property `uris`
4952
- # @return [Array<String>]
4953
- attr_accessor :uris
4954
-
4955
- def initialize(**args)
4956
- update!(**args)
4957
- end
4958
-
4959
- # Update properties of this object
4960
- def update!(**args)
4961
- @domains = args[:domains] if args.key?(:domains)
4962
- @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
4963
- @signatures = args[:signatures] if args.key?(:signatures)
4964
- @uris = args[:uris] if args.key?(:uris)
4965
- end
4966
- end
4967
-
4968
- # Kernel mode rootkit signatures.
4969
- class GoogleCloudSecuritycenterV2KernelRootkit
4970
- include Google::Apis::Core::Hashable
4971
-
4972
- # Rootkit name, when available.
4973
- # Corresponds to the JSON property `name`
4974
- # @return [String]
4975
- attr_accessor :name
4976
-
4977
- # True if unexpected modifications of kernel code memory are present.
4978
- # Corresponds to the JSON property `unexpectedCodeModification`
4979
- # @return [Boolean]
4980
- attr_accessor :unexpected_code_modification
4981
- alias_method :unexpected_code_modification?, :unexpected_code_modification
4982
-
4983
- # True if `ftrace` points are present with callbacks pointing to regions that
4984
- # are not in the expected kernel or module code range.
4985
- # Corresponds to the JSON property `unexpectedFtraceHandler`
4986
- # @return [Boolean]
4987
- attr_accessor :unexpected_ftrace_handler
4988
- alias_method :unexpected_ftrace_handler?, :unexpected_ftrace_handler
4989
-
4990
- # True if interrupt handlers that are are not in the expected kernel or module
4991
- # code regions are present.
4992
- # Corresponds to the JSON property `unexpectedInterruptHandler`
4993
- # @return [Boolean]
4994
- attr_accessor :unexpected_interrupt_handler
4995
- alias_method :unexpected_interrupt_handler?, :unexpected_interrupt_handler
4996
-
4997
- # True if kernel code pages that are not in the expected kernel or module code
4998
- # regions are present.
4999
- # Corresponds to the JSON property `unexpectedKernelCodePages`
5000
- # @return [Boolean]
5001
- attr_accessor :unexpected_kernel_code_pages
5002
- alias_method :unexpected_kernel_code_pages?, :unexpected_kernel_code_pages
5003
-
5004
- # True if `kprobe` points are present with callbacks pointing to regions that
5005
- # are not in the expected kernel or module code range.
5006
- # Corresponds to the JSON property `unexpectedKprobeHandler`
5007
- # @return [Boolean]
5008
- attr_accessor :unexpected_kprobe_handler
5009
- alias_method :unexpected_kprobe_handler?, :unexpected_kprobe_handler
5010
-
5011
- # True if unexpected processes in the scheduler run queue are present. Such
5012
- # processes are in the run queue, but not in the process task list.
5013
- # Corresponds to the JSON property `unexpectedProcessesInRunqueue`
5014
- # @return [Boolean]
5015
- attr_accessor :unexpected_processes_in_runqueue
5016
- alias_method :unexpected_processes_in_runqueue?, :unexpected_processes_in_runqueue
5017
-
5018
- # True if unexpected modifications of kernel read-only data memory are present.
5019
- # Corresponds to the JSON property `unexpectedReadOnlyDataModification`
5020
- # @return [Boolean]
5021
- attr_accessor :unexpected_read_only_data_modification
5022
- alias_method :unexpected_read_only_data_modification?, :unexpected_read_only_data_modification
5023
-
5024
- # True if system call handlers that are are not in the expected kernel or module
5025
- # code regions are present.
5026
- # Corresponds to the JSON property `unexpectedSystemCallHandler`
5027
- # @return [Boolean]
5028
- attr_accessor :unexpected_system_call_handler
5029
- alias_method :unexpected_system_call_handler?, :unexpected_system_call_handler
5030
-
5031
- def initialize(**args)
5032
- update!(**args)
5033
- end
5034
-
5035
- # Update properties of this object
5036
- def update!(**args)
5037
- @name = args[:name] if args.key?(:name)
5038
- @unexpected_code_modification = args[:unexpected_code_modification] if args.key?(:unexpected_code_modification)
5039
- @unexpected_ftrace_handler = args[:unexpected_ftrace_handler] if args.key?(:unexpected_ftrace_handler)
5040
- @unexpected_interrupt_handler = args[:unexpected_interrupt_handler] if args.key?(:unexpected_interrupt_handler)
5041
- @unexpected_kernel_code_pages = args[:unexpected_kernel_code_pages] if args.key?(:unexpected_kernel_code_pages)
5042
- @unexpected_kprobe_handler = args[:unexpected_kprobe_handler] if args.key?(:unexpected_kprobe_handler)
5043
- @unexpected_processes_in_runqueue = args[:unexpected_processes_in_runqueue] if args.key?(:unexpected_processes_in_runqueue)
5044
- @unexpected_read_only_data_modification = args[:unexpected_read_only_data_modification] if args.key?(:unexpected_read_only_data_modification)
5045
- @unexpected_system_call_handler = args[:unexpected_system_call_handler] if args.key?(:unexpected_system_call_handler)
5046
- end
5047
- end
5048
-
5049
- # Kubernetes-related attributes.
5050
- class GoogleCloudSecuritycenterV2Kubernetes
5051
- include Google::Apis::Core::Hashable
5052
-
5053
- # Provides information on any Kubernetes access reviews (privilege checks)
5054
- # relevant to the finding.
5055
- # Corresponds to the JSON property `accessReviews`
5056
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AccessReview>]
5057
- attr_accessor :access_reviews
5058
-
5059
- # Provides Kubernetes role binding information for findings that involve [
5060
- # RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-
5061
- # engine/docs/how-to/role-based-access-control).
5062
- # Corresponds to the JSON property `bindings`
5063
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Binding>]
5064
- attr_accessor :bindings
5065
-
5066
- # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-
5067
- # pools) associated with the finding. This field contains node pool information
5068
- # for each node, when it is available.
5069
- # Corresponds to the JSON property `nodePools`
5070
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2NodePool>]
5071
- attr_accessor :node_pools
5072
-
5073
- # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/
5074
- # concepts/cluster-architecture#nodes) information.
5075
- # Corresponds to the JSON property `nodes`
5076
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Node>]
5077
- attr_accessor :nodes
5078
-
5079
- # Kubernetes objects related to the finding.
5080
- # Corresponds to the JSON property `objects`
5081
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Object>]
5082
- attr_accessor :objects
5083
-
5084
- # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod)
5085
- # associated with the finding. This field contains Pod records for each
5086
- # container that is owned by a Pod.
5087
- # Corresponds to the JSON property `pods`
5088
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Pod>]
5089
- attr_accessor :pods
5090
-
5091
- # Provides Kubernetes role information for findings that involve [Roles or
5092
- # ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-
5093
- # based-access-control).
5094
- # Corresponds to the JSON property `roles`
5095
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Role>]
5096
- attr_accessor :roles
5097
-
5098
- def initialize(**args)
5099
- update!(**args)
5100
- end
5101
-
5102
- # Update properties of this object
5103
- def update!(**args)
5104
- @access_reviews = args[:access_reviews] if args.key?(:access_reviews)
5105
- @bindings = args[:bindings] if args.key?(:bindings)
5106
- @node_pools = args[:node_pools] if args.key?(:node_pools)
5107
- @nodes = args[:nodes] if args.key?(:nodes)
5108
- @objects = args[:objects] if args.key?(:objects)
5109
- @pods = args[:pods] if args.key?(:pods)
5110
- @roles = args[:roles] if args.key?(:roles)
5111
- end
5112
- end
5113
-
5114
- # Represents a generic name-value label. A label has separate name and value
5115
- # fields to support filtering with the `contains()` function. For more
5116
- # information, see [Filtering on array-type fields](https://cloud.google.com/
5117
- # security-command-center/docs/how-to-api-list-findings#array-contains-filtering)
5118
- # .
5119
- class GoogleCloudSecuritycenterV2Label
5120
- include Google::Apis::Core::Hashable
5121
-
5122
- # Name of the label.
5123
- # Corresponds to the JSON property `name`
5124
- # @return [String]
5125
- attr_accessor :name
5126
-
5127
- # Value that corresponds to the label's name.
5128
- # Corresponds to the JSON property `value`
5129
- # @return [String]
5130
- attr_accessor :value
5131
-
5132
- def initialize(**args)
5133
- update!(**args)
5134
- end
5135
-
5136
- # Update properties of this object
5137
- def update!(**args)
5138
- @name = args[:name] if args.key?(:name)
5139
- @value = args[:value] if args.key?(:value)
5140
- end
5141
- end
5142
-
5143
- # Contains information related to the load balancer associated with the finding.
5144
- class GoogleCloudSecuritycenterV2LoadBalancer
5145
- include Google::Apis::Core::Hashable
5146
-
5147
- # The name of the load balancer associated with the finding.
5148
- # Corresponds to the JSON property `name`
5149
- # @return [String]
5150
- attr_accessor :name
5151
-
5152
- def initialize(**args)
5153
- update!(**args)
5154
- end
5155
-
5156
- # Update properties of this object
5157
- def update!(**args)
5158
- @name = args[:name] if args.key?(:name)
5159
- end
5160
- end
5161
-
5162
- # An individual entry in a log.
5163
- class GoogleCloudSecuritycenterV2LogEntry
5164
- include Google::Apis::Core::Hashable
5165
-
5166
- # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/
5167
- # logging/docs/reference/v2/rest/v2/LogEntry)
5168
- # Corresponds to the JSON property `cloudLoggingEntry`
5169
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2CloudLoggingEntry]
5170
- attr_accessor :cloud_logging_entry
5171
-
5172
- def initialize(**args)
5173
- update!(**args)
5174
- end
5175
-
5176
- # Update properties of this object
5177
- def update!(**args)
5178
- @cloud_logging_entry = args[:cloud_logging_entry] if args.key?(:cloud_logging_entry)
5179
- end
5180
- end
5181
-
5182
- # A signature corresponding to memory page hashes.
5183
- class GoogleCloudSecuritycenterV2MemoryHashSignature
5184
- include Google::Apis::Core::Hashable
5185
-
5186
- # The binary family.
5187
- # Corresponds to the JSON property `binaryFamily`
5188
- # @return [String]
5189
- attr_accessor :binary_family
5190
-
5191
- # The list of memory hash detections contributing to the binary family match.
5192
- # Corresponds to the JSON property `detections`
5193
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Detection>]
5194
- attr_accessor :detections
5195
-
5196
- def initialize(**args)
5197
- update!(**args)
5198
- end
5199
-
5200
- # Update properties of this object
5201
- def update!(**args)
5202
- @binary_family = args[:binary_family] if args.key?(:binary_family)
5203
- @detections = args[:detections] if args.key?(:detections)
5204
- end
5205
- end
5206
-
5207
- # MITRE ATT&CK tactics and techniques related to this finding. See: https://
5208
- # attack.mitre.org
5209
- class GoogleCloudSecuritycenterV2MitreAttack
5210
- include Google::Apis::Core::Hashable
5211
-
5212
- # Additional MITRE ATT&CK tactics related to this finding, if any.
5213
- # Corresponds to the JSON property `additionalTactics`
5214
- # @return [Array<String>]
5215
- attr_accessor :additional_tactics
5216
-
5217
- # Additional MITRE ATT&CK techniques related to this finding, if any, along with
5218
- # any of their respective parent techniques.
5219
- # Corresponds to the JSON property `additionalTechniques`
5220
- # @return [Array<String>]
5221
- attr_accessor :additional_techniques
5222
-
5223
- # The MITRE ATT&CK tactic most closely represented by this finding, if any.
5224
- # Corresponds to the JSON property `primaryTactic`
5225
- # @return [String]
5226
- attr_accessor :primary_tactic
5227
-
5228
- # The MITRE ATT&CK technique most closely represented by this finding, if any.
5229
- # primary_techniques is a repeated field because there are multiple levels of
5230
- # MITRE ATT&CK techniques. If the technique most closely represented by this
5231
- # finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique
5232
- # and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `
5233
- # ACTIVE_SCANNING`).
5234
- # Corresponds to the JSON property `primaryTechniques`
5235
- # @return [Array<String>]
5236
- attr_accessor :primary_techniques
5237
-
5238
- # The MITRE ATT&CK version referenced by the above fields. E.g. "8".
5239
- # Corresponds to the JSON property `version`
5240
- # @return [String]
5241
- attr_accessor :version
5242
-
5243
- def initialize(**args)
5244
- update!(**args)
5245
- end
5246
-
5247
- # Update properties of this object
5248
- def update!(**args)
5249
- @additional_tactics = args[:additional_tactics] if args.key?(:additional_tactics)
5250
- @additional_techniques = args[:additional_techniques] if args.key?(:additional_techniques)
5251
- @primary_tactic = args[:primary_tactic] if args.key?(:primary_tactic)
5252
- @primary_techniques = args[:primary_techniques] if args.key?(:primary_techniques)
5253
- @version = args[:version] if args.key?(:version)
5254
- end
5255
- end
5256
-
5257
- # A mute config is a Cloud SCC resource that contains the configuration to mute
5258
- # create/update events of findings.
5259
- class GoogleCloudSecuritycenterV2MuteConfig
5260
- include Google::Apis::Core::Hashable
5261
-
5262
- # Output only. The time at which the mute config was created. This field is set
5263
- # by the server and will be ignored if provided on config creation.
5264
- # Corresponds to the JSON property `createTime`
5265
- # @return [String]
5266
- attr_accessor :create_time
5267
-
5268
- # A description of the mute config.
5269
- # Corresponds to the JSON property `description`
5270
- # @return [String]
5271
- attr_accessor :description
5272
-
5273
- # Required. An expression that defines the filter to apply across create/update
5274
- # events of findings. While creating a filter string, be mindful of the scope in
5275
- # which the mute configuration is being created. E.g., If a filter contains
5276
- # project = X but is created under the project = Y scope, it might not match any
5277
- # findings. The following field and operator combinations are supported: *
5278
- # severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.
5279
- # project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.
5280
- # folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.
5281
- # parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `
5282
- # :` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
5283
- # Corresponds to the JSON property `filter`
5284
- # @return [String]
5285
- attr_accessor :filter
5286
-
5287
- # Output only. Email address of the user who last edited the mute config. This
5288
- # field is set by the server and will be ignored if provided on config creation
5289
- # or update.
5290
- # Corresponds to the JSON property `mostRecentEditor`
5291
- # @return [String]
5292
- attr_accessor :most_recent_editor
5293
-
5294
- # This field will be ignored if provided on config creation. The following list
5295
- # shows some examples of the format: + `organizations/`organization`/muteConfigs/
5296
- # `mute_config`` + `organizations/`organization`locations/`location`//
5297
- # muteConfigs/`mute_config`` + `folders/`folder`/muteConfigs/`mute_config`` + `
5298
- # folders/`folder`/locations/`location`/muteConfigs/`mute_config`` + `projects/`
5299
- # project`/muteConfigs/`mute_config`` + `projects/`project`/locations/`location`/
5300
- # muteConfigs/`mute_config``
5301
- # Corresponds to the JSON property `name`
5302
- # @return [String]
5303
- attr_accessor :name
5304
-
5305
- # Output only. The most recent time at which the mute config was updated. This
5306
- # field is set by the server and will be ignored if provided on config creation
5307
- # or update.
5308
- # Corresponds to the JSON property `updateTime`
5309
- # @return [String]
5310
- attr_accessor :update_time
5311
-
5312
- def initialize(**args)
5313
- update!(**args)
5314
- end
5315
-
5316
- # Update properties of this object
5317
- def update!(**args)
5318
- @create_time = args[:create_time] if args.key?(:create_time)
5319
- @description = args[:description] if args.key?(:description)
5320
- @filter = args[:filter] if args.key?(:filter)
5321
- @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
5322
- @name = args[:name] if args.key?(:name)
5323
- @update_time = args[:update_time] if args.key?(:update_time)
5324
- end
5325
- end
5326
-
5327
- # Kubernetes nodes associated with the finding.
5328
- class GoogleCloudSecuritycenterV2Node
5329
- include Google::Apis::Core::Hashable
5330
-
5331
- # [Full resource name](https://google.aip.dev/122#full-resource-names) of the
5332
- # Compute Engine VM running the cluster node.
5333
- # Corresponds to the JSON property `name`
5334
- # @return [String]
5335
- attr_accessor :name
5336
-
5337
- def initialize(**args)
5338
- update!(**args)
5339
- end
5340
-
5341
- # Update properties of this object
5342
- def update!(**args)
5343
- @name = args[:name] if args.key?(:name)
5344
- end
5345
- end
5346
-
5347
- # Provides GKE node pool information.
5348
- class GoogleCloudSecuritycenterV2NodePool
5349
- include Google::Apis::Core::Hashable
5350
-
5351
- # Kubernetes node pool name.
5352
- # Corresponds to the JSON property `name`
5353
- # @return [String]
5354
- attr_accessor :name
5355
-
5356
- # Nodes associated with the finding.
5357
- # Corresponds to the JSON property `nodes`
5358
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Node>]
5359
- attr_accessor :nodes
5360
-
5361
- def initialize(**args)
5362
- update!(**args)
5363
- end
5364
-
5365
- # Update properties of this object
5366
- def update!(**args)
5367
- @name = args[:name] if args.key?(:name)
5368
- @nodes = args[:nodes] if args.key?(:nodes)
5369
- end
5370
- end
5371
-
5372
- # Cloud SCC's Notification
5373
- class GoogleCloudSecuritycenterV2NotificationMessage
5374
- include Google::Apis::Core::Hashable
5375
-
5376
- # Security Command Center finding. A finding is a record of assessment data like
5377
- # security, risk, health, or privacy, that is ingested into Security Command
5378
- # Center for presentation, notification, analysis, policy testing, and
5379
- # enforcement. For example, a cross-site scripting (XSS) vulnerability in an App
5380
- # Engine application is a finding.
5381
- # Corresponds to the JSON property `finding`
5382
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Finding]
5383
- attr_accessor :finding
5384
-
5385
- # Name of the notification config that generated current notification.
5386
- # Corresponds to the JSON property `notificationConfigName`
5387
- # @return [String]
5388
- attr_accessor :notification_config_name
5389
-
5390
- # Information related to the Google Cloud resource.
5391
- # Corresponds to the JSON property `resource`
5392
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Resource]
5393
- attr_accessor :resource
5394
-
5395
- def initialize(**args)
5396
- update!(**args)
5397
- end
5398
-
5399
- # Update properties of this object
5400
- def update!(**args)
5401
- @finding = args[:finding] if args.key?(:finding)
5402
- @notification_config_name = args[:notification_config_name] if args.key?(:notification_config_name)
5403
- @resource = args[:resource] if args.key?(:resource)
5404
- end
5405
- end
5406
-
5407
- # Kubernetes object related to the finding, uniquely identified by GKNN. Used if
5408
- # the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
5409
- class GoogleCloudSecuritycenterV2Object
5410
- include Google::Apis::Core::Hashable
5411
-
5412
- # Pod containers associated with this finding, if any.
5413
- # Corresponds to the JSON property `containers`
5414
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Container>]
5415
- attr_accessor :containers
5416
-
5417
- # Kubernetes object group, such as "policy.k8s.io/v1".
5418
- # Corresponds to the JSON property `group`
5419
- # @return [String]
5420
- attr_accessor :group
5421
-
5422
- # Kubernetes object kind, such as "Namespace".
5423
- # Corresponds to the JSON property `kind`
5424
- # @return [String]
5425
- attr_accessor :kind
5426
-
5427
- # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/
5428
- # overview/working-with-objects/names/.
5429
- # Corresponds to the JSON property `name`
5430
- # @return [String]
5431
- attr_accessor :name
5432
-
5433
- # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid
5434
- # collision with C++ namespace keyword. For details see https://kubernetes.io/
5435
- # docs/tasks/administer-cluster/namespaces/.
5436
- # Corresponds to the JSON property `ns`
5437
- # @return [String]
5438
- attr_accessor :ns
5439
-
5440
- def initialize(**args)
5441
- update!(**args)
5442
- end
5443
-
5444
- # Update properties of this object
5445
- def update!(**args)
5446
- @containers = args[:containers] if args.key?(:containers)
5447
- @group = args[:group] if args.key?(:group)
5448
- @kind = args[:kind] if args.key?(:kind)
5449
- @name = args[:name] if args.key?(:name)
5450
- @ns = args[:ns] if args.key?(:ns)
5451
- end
5452
- end
5453
-
5454
- # Contains information about the org policies associated with the finding.
5455
- class GoogleCloudSecuritycenterV2OrgPolicy
5456
- include Google::Apis::Core::Hashable
5457
-
5458
- # The resource name of the org policy. Example: "organizations/`organization_id`/
5459
- # policies/`constraint_name`"
5460
- # Corresponds to the JSON property `name`
5461
- # @return [String]
5462
- attr_accessor :name
5463
-
5464
- def initialize(**args)
5465
- update!(**args)
5466
- end
5467
-
5468
- # Update properties of this object
5469
- def update!(**args)
5470
- @name = args[:name] if args.key?(:name)
5471
- end
5472
- end
5473
-
5474
- # A Kubernetes Pod.
5475
- class GoogleCloudSecuritycenterV2Pod
5476
- include Google::Apis::Core::Hashable
5477
-
5478
- # Pod containers associated with this finding, if any.
5479
- # Corresponds to the JSON property `containers`
5480
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Container>]
5481
- attr_accessor :containers
5482
-
5483
- # Pod labels. For Kubernetes containers, these are applied to the container.
5484
- # Corresponds to the JSON property `labels`
5485
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Label>]
5486
- attr_accessor :labels
5487
-
5488
- # Kubernetes Pod name.
5489
- # Corresponds to the JSON property `name`
5490
- # @return [String]
5491
- attr_accessor :name
5492
-
5493
- # Kubernetes Pod namespace.
5494
- # Corresponds to the JSON property `ns`
5495
- # @return [String]
5496
- attr_accessor :ns
5497
-
5498
- def initialize(**args)
5499
- update!(**args)
5500
- end
5501
-
5502
- # Update properties of this object
5503
- def update!(**args)
5504
- @containers = args[:containers] if args.key?(:containers)
5505
- @labels = args[:labels] if args.key?(:labels)
5506
- @name = args[:name] if args.key?(:name)
5507
- @ns = args[:ns] if args.key?(:ns)
5508
- end
5509
- end
5510
-
5511
- # Represents an operating system process.
5512
- class GoogleCloudSecuritycenterV2Process
5513
- include Google::Apis::Core::Hashable
5514
-
5515
- # Process arguments as JSON encoded strings.
5516
- # Corresponds to the JSON property `args`
5517
- # @return [Array<String>]
5518
- attr_accessor :args
5519
-
5520
- # True if `args` is incomplete.
5521
- # Corresponds to the JSON property `argumentsTruncated`
5522
- # @return [Boolean]
5523
- attr_accessor :arguments_truncated
5524
- alias_method :arguments_truncated?, :arguments_truncated
5525
-
5526
- # File information about the related binary/library used by an executable, or
5527
- # the script used by a script interpreter
5528
- # Corresponds to the JSON property `binary`
5529
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2File]
5530
- attr_accessor :binary
5531
-
5532
- # Process environment variables.
5533
- # Corresponds to the JSON property `envVariables`
5534
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2EnvironmentVariable>]
5535
- attr_accessor :env_variables
5536
-
5537
- # True if `env_variables` is incomplete.
5538
- # Corresponds to the JSON property `envVariablesTruncated`
5539
- # @return [Boolean]
5540
- attr_accessor :env_variables_truncated
5541
- alias_method :env_variables_truncated?, :env_variables_truncated
5542
-
5543
- # File information for libraries loaded by the process.
5544
- # Corresponds to the JSON property `libraries`
5545
- # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2File>]
5546
- attr_accessor :libraries
5547
-
5548
- # The process name, as displayed in utilities like `top` and `ps`. This name can
5549
- # be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
5550
- # Corresponds to the JSON property `name`
5551
- # @return [String]
5552
- attr_accessor :name
5553
-
5554
- # The parent process ID.
5555
- # Corresponds to the JSON property `parentPid`
5556
- # @return [Fixnum]
5557
- attr_accessor :parent_pid
5558
-
5559
- # The process ID.
5560
- # Corresponds to the JSON property `pid`
5561
- # @return [Fixnum]
5562
- attr_accessor :pid
5563
-
5564
- # File information about the related binary/library used by an executable, or
5565
- # the script used by a script interpreter
5566
- # Corresponds to the JSON property `script`
5567
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2File]
5568
- attr_accessor :script
5569
-
5570
- def initialize(**args)
5571
- update!(**args)
5572
- end
5573
-
5574
- # Update properties of this object
5575
- def update!(**args)
5576
- @args = args[:args] if args.key?(:args)
5577
- @arguments_truncated = args[:arguments_truncated] if args.key?(:arguments_truncated)
5578
- @binary = args[:binary] if args.key?(:binary)
5579
- @env_variables = args[:env_variables] if args.key?(:env_variables)
5580
- @env_variables_truncated = args[:env_variables_truncated] if args.key?(:env_variables_truncated)
5581
- @libraries = args[:libraries] if args.key?(:libraries)
5582
- @name = args[:name] if args.key?(:name)
5583
- @parent_pid = args[:parent_pid] if args.key?(:parent_pid)
5584
- @pid = args[:pid] if args.key?(:pid)
5585
- @script = args[:script] if args.key?(:script)
5586
- end
5587
- end
5588
-
5589
- # Indicates what signature matched this process.
5590
- class GoogleCloudSecuritycenterV2ProcessSignature
5591
- include Google::Apis::Core::Hashable
5592
-
5593
- # A signature corresponding to memory page hashes.
5594
- # Corresponds to the JSON property `memoryHashSignature`
5595
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2MemoryHashSignature]
5596
- attr_accessor :memory_hash_signature
5597
-
5598
- # A signature corresponding to a YARA rule.
5599
- # Corresponds to the JSON property `yaraRuleSignature`
5600
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2YaraRuleSignature]
5601
- attr_accessor :yara_rule_signature
5602
-
5603
- def initialize(**args)
5604
- update!(**args)
5605
- end
5606
-
5607
- # Update properties of this object
5608
- def update!(**args)
5609
- @memory_hash_signature = args[:memory_hash_signature] if args.key?(:memory_hash_signature)
5610
- @yara_rule_signature = args[:yara_rule_signature] if args.key?(:yara_rule_signature)
5611
- end
5612
- end
5613
-
5614
- # Additional Links
5615
- class GoogleCloudSecuritycenterV2Reference
5616
- include Google::Apis::Core::Hashable
5617
-
5618
- # Source of the reference e.g. NVD
5619
- # Corresponds to the JSON property `source`
5620
- # @return [String]
5621
- attr_accessor :source
5622
-
5623
- # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?
5624
- # name=CVE-2021-34527.
5625
- # Corresponds to the JSON property `uri`
5626
- # @return [String]
5627
- attr_accessor :uri
5628
-
5629
- def initialize(**args)
5630
- update!(**args)
5631
- end
5632
-
5633
- # Update properties of this object
5634
- def update!(**args)
5635
- @source = args[:source] if args.key?(:source)
5636
- @uri = args[:uri] if args.key?(:uri)
5637
- end
5638
- end
5639
-
5640
- # Information related to the Google Cloud resource.
5641
- class GoogleCloudSecuritycenterV2Resource
5642
- include Google::Apis::Core::Hashable
5643
-
5644
- # The human readable name of the resource.
5645
- # Corresponds to the JSON property `displayName`
5646
- # @return [String]
5647
- attr_accessor :display_name
5648
-
5649
- # The full resource name of the resource. See: https://cloud.google.com/apis/
5650
- # design/resource_names#full_resource_name
5651
- # Corresponds to the JSON property `name`
5652
- # @return [String]
5653
- attr_accessor :name
5654
-
5655
- # The full resource type of the resource.
5656
- # Corresponds to the JSON property `type`
5657
- # @return [String]
5658
- attr_accessor :type
5659
-
5660
- def initialize(**args)
5661
- update!(**args)
5662
- end
5663
-
5664
- # Update properties of this object
5665
- def update!(**args)
5666
- @display_name = args[:display_name] if args.key?(:display_name)
5667
- @name = args[:name] if args.key?(:name)
5668
- @type = args[:type] if args.key?(:type)
5669
- end
5670
- end
5671
-
5672
- # A resource value config (RVC) is a mapping configuration of user's resources
5673
- # to resource values. Used in Attack path simulations.
5674
- class GoogleCloudSecuritycenterV2ResourceValueConfig
5675
- include Google::Apis::Core::Hashable
5676
-
5677
- # Output only. Timestamp this resource value config was created.
5678
- # Corresponds to the JSON property `createTime`
5679
- # @return [String]
5680
- attr_accessor :create_time
5681
-
5682
- # Description of the resource value config.
5683
- # Corresponds to the JSON property `description`
5684
- # @return [String]
5685
- attr_accessor :description
5686
-
5687
- # Name for the resource value config
5688
- # Corresponds to the JSON property `name`
5689
- # @return [String]
5690
- attr_accessor :name
5691
-
5692
- # List of resource labels to search for, evaluated with AND. E.g. "
5693
- # resource_labels_selector": `"key": "value", "env": "prod"` will match
5694
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
5695
- # com/resource-manager/docs/creating-managing-labels
5696
- # Corresponds to the JSON property `resourceLabelsSelector`
5697
- # @return [Hash<String,String>]
5698
- attr_accessor :resource_labels_selector
5699
-
5700
- # Apply resource_value only to resources that match resource_type. resource_type
5701
- # will be checked with "AND" of other resources. E.g. "storage.googleapis.com/
5702
- # Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.
5703
- # googleapis.com/Bucket" resources.
5704
- # Corresponds to the JSON property `resourceType`
5705
- # @return [String]
5706
- attr_accessor :resource_type
5707
-
5708
- # Required. Resource value level this expression represents
5709
- # Corresponds to the JSON property `resourceValue`
5710
- # @return [String]
5711
- attr_accessor :resource_value
5712
-
5713
- # Project or folder to scope this config to. For example, "project/456" would
5714
- # apply this config only to resources in "project/456" scope will be checked
5715
- # with "AND" of other resources.
5716
- # Corresponds to the JSON property `scope`
5717
- # @return [String]
5718
- attr_accessor :scope
5719
-
5720
- # Required. Tag values combined with AND to check against. Values in the form "
5721
- # tagValues/123" E.g. [ "tagValues/123", "tagValues/456", "tagValues/789" ]
5722
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
5723
- # Corresponds to the JSON property `tagValues`
5724
- # @return [Array<String>]
5725
- attr_accessor :tag_values
5726
-
5727
- # Output only. Timestamp this resource value config was last updated.
5728
- # Corresponds to the JSON property `updateTime`
5729
- # @return [String]
5730
- attr_accessor :update_time
5731
-
5732
- def initialize(**args)
5733
- update!(**args)
5734
- end
5735
-
5736
- # Update properties of this object
5737
- def update!(**args)
5738
- @create_time = args[:create_time] if args.key?(:create_time)
5739
- @description = args[:description] if args.key?(:description)
5740
- @name = args[:name] if args.key?(:name)
5741
- @resource_labels_selector = args[:resource_labels_selector] if args.key?(:resource_labels_selector)
5742
- @resource_type = args[:resource_type] if args.key?(:resource_type)
5743
- @resource_value = args[:resource_value] if args.key?(:resource_value)
5744
- @scope = args[:scope] if args.key?(:scope)
5745
- @tag_values = args[:tag_values] if args.key?(:tag_values)
5746
- @update_time = args[:update_time] if args.key?(:update_time)
5747
- end
5748
- end
5749
-
5750
- # Kubernetes Role or ClusterRole.
5751
- class GoogleCloudSecuritycenterV2Role
5752
- include Google::Apis::Core::Hashable
5753
-
5754
- # Role type.
5755
- # Corresponds to the JSON property `kind`
5756
- # @return [String]
5757
- attr_accessor :kind
5758
-
5759
- # Role name.
5760
- # Corresponds to the JSON property `name`
5761
- # @return [String]
5762
- attr_accessor :name
5763
-
5764
- # Role namespace.
5765
- # Corresponds to the JSON property `ns`
5766
- # @return [String]
5767
- attr_accessor :ns
5768
-
5769
- def initialize(**args)
5770
- update!(**args)
5771
- end
5772
-
5773
- # Update properties of this object
5774
- def update!(**args)
5775
- @kind = args[:kind] if args.key?(:kind)
5776
- @name = args[:name] if args.key?(:name)
5777
- @ns = args[:ns] if args.key?(:ns)
5778
- end
5779
- end
5780
-
5781
- # User specified security marks that are attached to the parent Security Command
5782
- # Center resource. Security marks are scoped within a Security Command Center
5783
- # organization -- they can be modified and viewed by all users who have proper
5784
- # permissions on the organization.
5785
- class GoogleCloudSecuritycenterV2SecurityMarks
5786
- include Google::Apis::Core::Hashable
5787
-
5788
- # The canonical name of the marks. The following list shows some examples: + `
5789
- # organizations/`organization_id`/assets/`asset_id`/securityMarks" + `
5790
- # organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
5791
- # securityMarks" + `organizations/`organization_id`/sources/`source_id`/
5792
- # locations/`location`/findings/`finding_id`/securityMarks" + `folders/`
5793
- # folder_id`/assets/`asset_id`/securityMarks" + `folders/`folder_id`/sources/`
5794
- # source_id`/findings/`finding_id`/securityMarks" + `folders/`folder_id`/sources/
5795
- # `source_id`/locations/`location`/findings/`finding_id`/securityMarks" + `
5796
- # projects/`project_number`/assets/`asset_id`/securityMarks" + `projects/`
5797
- # project_number`/sources/`source_id`/findings/`finding_id`/securityMarks" + `
5798
- # projects/`project_number`/sources/`source_id`/locations/`location`/findings/`
5799
- # finding_id`/securityMarks"
5800
- # Corresponds to the JSON property `canonicalName`
5801
- # @return [String]
5802
- attr_accessor :canonical_name
5803
-
5804
- # Mutable user specified security marks belonging to the parent resource.
5805
- # Constraints are as follows: * Keys and values are treated as case insensitive *
5806
- # Keys must be between 1 - 256 characters (inclusive) * Keys must be letters,
5807
- # numbers, underscores, or dashes * Values have leading and trailing whitespace
5808
- # trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
5809
- # Corresponds to the JSON property `marks`
5810
- # @return [Hash<String,String>]
5811
- attr_accessor :marks
3123
+ # Source specific properties. These properties are managed by the source that
3124
+ # writes the finding. The key names in the source_properties map must be between
3125
+ # 1 and 255 characters, and must start with a letter and contain alphanumeric
3126
+ # characters or underscores only.
3127
+ # Corresponds to the JSON property `sourceProperties`
3128
+ # @return [Hash<String,Object>]
3129
+ attr_accessor :source_properties
5812
3130
 
5813
- # The relative resource name of the SecurityMarks. See: https://cloud.google.com/
5814
- # apis/design/resource_names#relative_resource_name The following list shows
5815
- # some examples: + `organizations/`organization_id`/assets/`asset_id`/
5816
- # securityMarks` + `organizations/`organization_id`/sources/`source_id`/findings/
5817
- # `finding_id`/securityMarks` + `organizations/`organization_id`/sources/`
5818
- # source_id`/locations/`location`/findings/`finding_id`/securityMarks`
5819
- # Corresponds to the JSON property `name`
3131
+ # The state of the finding.
3132
+ # Corresponds to the JSON property `state`
5820
3133
  # @return [String]
5821
- attr_accessor :name
3134
+ attr_accessor :state
5822
3135
 
5823
3136
  def initialize(**args)
5824
3137
  update!(**args)
@@ -5827,46 +3140,34 @@ module Google
5827
3140
  # Update properties of this object
5828
3141
  def update!(**args)
5829
3142
  @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
5830
- @marks = args[:marks] if args.key?(:marks)
3143
+ @category = args[:category] if args.key?(:category)
3144
+ @create_time = args[:create_time] if args.key?(:create_time)
3145
+ @event_time = args[:event_time] if args.key?(:event_time)
3146
+ @external_uri = args[:external_uri] if args.key?(:external_uri)
5831
3147
  @name = args[:name] if args.key?(:name)
3148
+ @parent = args[:parent] if args.key?(:parent)
3149
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
3150
+ @security_marks = args[:security_marks] if args.key?(:security_marks)
3151
+ @severity = args[:severity] if args.key?(:severity)
3152
+ @source_properties = args[:source_properties] if args.key?(:source_properties)
3153
+ @state = args[:state] if args.key?(:state)
5832
3154
  end
5833
3155
  end
5834
3156
 
5835
- # Represents a posture that is deployed on Google Cloud by the Security Command
5836
- # Center Posture Management service. A posture contains one or more policy sets.
5837
- # A policy set is a group of policies that enforce a set of security rules on
5838
- # Google Cloud.
5839
- class GoogleCloudSecuritycenterV2SecurityPosture
3157
+ # Message that contains the resource name and display name of a folder resource.
3158
+ class GoogleCloudSecuritycenterV1p1beta1Folder
5840
3159
  include Google::Apis::Core::Hashable
5841
3160
 
5842
- # The name of the policy that has been updated, for example, `projects/`
5843
- # project_id`/policies/`constraint_name``.
5844
- # Corresponds to the JSON property `changedPolicy`
5845
- # @return [String]
5846
- attr_accessor :changed_policy
5847
-
5848
- # Name of the posture, for example, `organizations/`org_id`/locations/`location`/
5849
- # postures/`posture_name``.
5850
- # Corresponds to the JSON property `name`
5851
- # @return [String]
5852
- attr_accessor :name
5853
-
5854
- # The name of the posture deployment, for example, `projects/`project_id`/
5855
- # posturedeployments/`posture_deployment_id``.
5856
- # Corresponds to the JSON property `postureDeployment`
5857
- # @return [String]
5858
- attr_accessor :posture_deployment
5859
-
5860
- # The project, folder, or organization on which the posture is deployed, for
5861
- # example, `projects/`project_id``.
5862
- # Corresponds to the JSON property `postureDeploymentResource`
3161
+ # Full resource name of this folder. See: https://cloud.google.com/apis/design/
3162
+ # resource_names#full_resource_name
3163
+ # Corresponds to the JSON property `resourceFolder`
5863
3164
  # @return [String]
5864
- attr_accessor :posture_deployment_resource
3165
+ attr_accessor :resource_folder
5865
3166
 
5866
- # The version of the posture, for example, `c7cfa2a8`.
5867
- # Corresponds to the JSON property `revisionId`
3167
+ # The user defined display name for this folder.
3168
+ # Corresponds to the JSON property `resourceFolderDisplayName`
5868
3169
  # @return [String]
5869
- attr_accessor :revision_id
3170
+ attr_accessor :resource_folder_display_name
5870
3171
 
5871
3172
  def initialize(**args)
5872
3173
  update!(**args)
@@ -5874,33 +3175,32 @@ module Google
5874
3175
 
5875
3176
  # Update properties of this object
5876
3177
  def update!(**args)
5877
- @changed_policy = args[:changed_policy] if args.key?(:changed_policy)
5878
- @name = args[:name] if args.key?(:name)
5879
- @posture_deployment = args[:posture_deployment] if args.key?(:posture_deployment)
5880
- @posture_deployment_resource = args[:posture_deployment_resource] if args.key?(:posture_deployment_resource)
5881
- @revision_id = args[:revision_id] if args.key?(:revision_id)
3178
+ @resource_folder = args[:resource_folder] if args.key?(:resource_folder)
3179
+ @resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name)
5882
3180
  end
5883
3181
  end
5884
3182
 
5885
- # Identity delegation history of an authenticated service account.
5886
- class GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo
3183
+ # Security Command Center's Notification
3184
+ class GoogleCloudSecuritycenterV1p1beta1NotificationMessage
5887
3185
  include Google::Apis::Core::Hashable
5888
3186
 
5889
- # The email address of a Google account.
5890
- # Corresponds to the JSON property `principalEmail`
5891
- # @return [String]
5892
- attr_accessor :principal_email
3187
+ # Security Command Center finding. A finding is a record of assessment data (
3188
+ # security, risk, health or privacy) ingested into Security Command Center for
3189
+ # presentation, notification, analysis, policy testing, and enforcement. For
3190
+ # example, an XSS vulnerability in an App Engine application is a finding.
3191
+ # Corresponds to the JSON property `finding`
3192
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1p1beta1Finding]
3193
+ attr_accessor :finding
5893
3194
 
5894
- # A string representing the principal_subject associated with the identity. As
5895
- # compared to `principal_email`, supports principals that aren't associated with
5896
- # email addresses, such as third party principals. For most identities, the
5897
- # format will be `principal://iam.googleapis.com/`identity pool name`/subjects/`
5898
- # subject`` except for some GKE identities (GKE_WORKLOAD, FREEFORM,
5899
- # GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:`
5900
- # identity pool name`[`subject`]`
5901
- # Corresponds to the JSON property `principalSubject`
3195
+ # Name of the notification config that generated current notification.
3196
+ # Corresponds to the JSON property `notificationConfigName`
5902
3197
  # @return [String]
5903
- attr_accessor :principal_subject
3198
+ attr_accessor :notification_config_name
3199
+
3200
+ # Information related to the Google Cloud resource.
3201
+ # Corresponds to the JSON property `resource`
3202
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1p1beta1Resource]
3203
+ attr_accessor :resource
5904
3204
 
5905
3205
  def initialize(**args)
5906
3206
  update!(**args)
@@ -5908,29 +3208,48 @@ module Google
5908
3208
 
5909
3209
  # Update properties of this object
5910
3210
  def update!(**args)
5911
- @principal_email = args[:principal_email] if args.key?(:principal_email)
5912
- @principal_subject = args[:principal_subject] if args.key?(:principal_subject)
3211
+ @finding = args[:finding] if args.key?(:finding)
3212
+ @notification_config_name = args[:notification_config_name] if args.key?(:notification_config_name)
3213
+ @resource = args[:resource] if args.key?(:resource)
5913
3214
  end
5914
3215
  end
5915
3216
 
5916
- # Represents a Kubernetes subject.
5917
- class GoogleCloudSecuritycenterV2Subject
3217
+ # Information related to the Google Cloud resource.
3218
+ class GoogleCloudSecuritycenterV1p1beta1Resource
5918
3219
  include Google::Apis::Core::Hashable
5919
3220
 
5920
- # Authentication type for the subject.
5921
- # Corresponds to the JSON property `kind`
5922
- # @return [String]
5923
- attr_accessor :kind
3221
+ # Output only. Contains a Folder message for each folder in the assets ancestry.
3222
+ # The first folder is the deepest nested folder, and the last folder is the
3223
+ # folder directly under the Organization.
3224
+ # Corresponds to the JSON property `folders`
3225
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1p1beta1Folder>]
3226
+ attr_accessor :folders
5924
3227
 
5925
- # Name for the subject.
3228
+ # The full resource name of the resource. See: https://cloud.google.com/apis/
3229
+ # design/resource_names#full_resource_name
5926
3230
  # Corresponds to the JSON property `name`
5927
3231
  # @return [String]
5928
3232
  attr_accessor :name
5929
3233
 
5930
- # Namespace for the subject.
5931
- # Corresponds to the JSON property `ns`
3234
+ # The full resource name of resource's parent.
3235
+ # Corresponds to the JSON property `parent`
5932
3236
  # @return [String]
5933
- attr_accessor :ns
3237
+ attr_accessor :parent
3238
+
3239
+ # The human readable name of resource's parent.
3240
+ # Corresponds to the JSON property `parentDisplayName`
3241
+ # @return [String]
3242
+ attr_accessor :parent_display_name
3243
+
3244
+ # The full resource name of project that the resource belongs to.
3245
+ # Corresponds to the JSON property `project`
3246
+ # @return [String]
3247
+ attr_accessor :project
3248
+
3249
+ # The project id that the resource belongs to.
3250
+ # Corresponds to the JSON property `projectDisplayName`
3251
+ # @return [String]
3252
+ attr_accessor :project_display_name
5934
3253
 
5935
3254
  def initialize(**args)
5936
3255
  update!(**args)
@@ -5938,21 +3257,28 @@ module Google
5938
3257
 
5939
3258
  # Update properties of this object
5940
3259
  def update!(**args)
5941
- @kind = args[:kind] if args.key?(:kind)
3260
+ @folders = args[:folders] if args.key?(:folders)
5942
3261
  @name = args[:name] if args.key?(:name)
5943
- @ns = args[:ns] if args.key?(:ns)
3262
+ @parent = args[:parent] if args.key?(:parent)
3263
+ @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
3264
+ @project = args[:project] if args.key?(:project)
3265
+ @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
5944
3266
  end
5945
3267
  end
5946
3268
 
5947
- # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
5948
- class GoogleCloudSecuritycenterV2Vulnerability
3269
+ # Response of asset discovery run
3270
+ class GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse
5949
3271
  include Google::Apis::Core::Hashable
5950
3272
 
5951
- # CVE stands for Common Vulnerabilities and Exposures. More information: https://
5952
- # cve.mitre.org
5953
- # Corresponds to the JSON property `cve`
5954
- # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Cve]
5955
- attr_accessor :cve
3273
+ # The duration between asset discovery run start and end
3274
+ # Corresponds to the JSON property `duration`
3275
+ # @return [String]
3276
+ attr_accessor :duration
3277
+
3278
+ # The state of an asset discovery run.
3279
+ # Corresponds to the JSON property `state`
3280
+ # @return [String]
3281
+ attr_accessor :state
5956
3282
 
5957
3283
  def initialize(**args)
5958
3284
  update!(**args)
@@ -5960,18 +3286,45 @@ module Google
5960
3286
 
5961
3287
  # Update properties of this object
5962
3288
  def update!(**args)
5963
- @cve = args[:cve] if args.key?(:cve)
3289
+ @duration = args[:duration] if args.key?(:duration)
3290
+ @state = args[:state] if args.key?(:state)
5964
3291
  end
5965
3292
  end
5966
3293
 
5967
- # A signature corresponding to a YARA rule.
5968
- class GoogleCloudSecuritycenterV2YaraRuleSignature
3294
+ # User specified security marks that are attached to the parent Security Command
3295
+ # Center resource. Security marks are scoped within a Security Command Center
3296
+ # organization -- they can be modified and viewed by all users who have proper
3297
+ # permissions on the organization.
3298
+ class GoogleCloudSecuritycenterV1p1beta1SecurityMarks
5969
3299
  include Google::Apis::Core::Hashable
5970
3300
 
5971
- # The name of the YARA rule.
5972
- # Corresponds to the JSON property `yaraRule`
3301
+ # The canonical name of the marks. Examples: "organizations/`organization_id`/
3302
+ # assets/`asset_id`/securityMarks" "folders/`folder_id`/assets/`asset_id`/
3303
+ # securityMarks" "projects/`project_number`/assets/`asset_id`/securityMarks" "
3304
+ # organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
3305
+ # securityMarks" "folders/`folder_id`/sources/`source_id`/findings/`finding_id`/
3306
+ # securityMarks" "projects/`project_number`/sources/`source_id`/findings/`
3307
+ # finding_id`/securityMarks"
3308
+ # Corresponds to the JSON property `canonicalName`
5973
3309
  # @return [String]
5974
- attr_accessor :yara_rule
3310
+ attr_accessor :canonical_name
3311
+
3312
+ # Mutable user specified security marks belonging to the parent resource.
3313
+ # Constraints are as follows: * Keys and values are treated as case insensitive *
3314
+ # Keys must be between 1 - 256 characters (inclusive) * Keys must be letters,
3315
+ # numbers, underscores, or dashes * Values have leading and trailing whitespace
3316
+ # trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
3317
+ # Corresponds to the JSON property `marks`
3318
+ # @return [Hash<String,String>]
3319
+ attr_accessor :marks
3320
+
3321
+ # The relative resource name of the SecurityMarks. See: https://cloud.google.com/
3322
+ # apis/design/resource_names#relative_resource_name Examples: "organizations/`
3323
+ # organization_id`/assets/`asset_id`/securityMarks" "organizations/`
3324
+ # organization_id`/sources/`source_id`/findings/`finding_id`/securityMarks".
3325
+ # Corresponds to the JSON property `name`
3326
+ # @return [String]
3327
+ attr_accessor :name
5975
3328
 
5976
3329
  def initialize(**args)
5977
3330
  update!(**args)
@@ -5979,7 +3332,9 @@ module Google
5979
3332
 
5980
3333
  # Update properties of this object
5981
3334
  def update!(**args)
5982
- @yara_rule = args[:yara_rule] if args.key?(:yara_rule)
3335
+ @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
3336
+ @marks = args[:marks] if args.key?(:marks)
3337
+ @name = args[:name] if args.key?(:name)
5983
3338
  end
5984
3339
  end
5985
3340
 
@@ -7462,6 +4817,43 @@ module Google
7462
4817
  end
7463
4818
  end
7464
4819
 
4820
+ # Package is a generic definition of a package.
4821
+ class Package
4822
+ include Google::Apis::Core::Hashable
4823
+
4824
+ # The CPE URI where the vulnerability was detected.
4825
+ # Corresponds to the JSON property `cpeUri`
4826
+ # @return [String]
4827
+ attr_accessor :cpe_uri
4828
+
4829
+ # The name of the package where the vulnerability was detected.
4830
+ # Corresponds to the JSON property `packageName`
4831
+ # @return [String]
4832
+ attr_accessor :package_name
4833
+
4834
+ # Type of package, for example, os, maven, or go.
4835
+ # Corresponds to the JSON property `packageType`
4836
+ # @return [String]
4837
+ attr_accessor :package_type
4838
+
4839
+ # The version of the package.
4840
+ # Corresponds to the JSON property `packageVersion`
4841
+ # @return [String]
4842
+ attr_accessor :package_version
4843
+
4844
+ def initialize(**args)
4845
+ update!(**args)
4846
+ end
4847
+
4848
+ # Update properties of this object
4849
+ def update!(**args)
4850
+ @cpe_uri = args[:cpe_uri] if args.key?(:cpe_uri)
4851
+ @package_name = args[:package_name] if args.key?(:package_name)
4852
+ @package_type = args[:package_type] if args.key?(:package_type)
4853
+ @package_version = args[:package_version] if args.key?(:package_version)
4854
+ end
4855
+ end
4856
+
7465
4857
  # A finding that is associated with this node in the attack path.
7466
4858
  class PathNodeAssociatedFinding
7467
4859
  include Google::Apis::Core::Hashable
@@ -7738,6 +5130,11 @@ module Google
7738
5130
  # @return [Google::Apis::SecuritycenterV1::MemoryHashSignature]
7739
5131
  attr_accessor :memory_hash_signature
7740
5132
 
5133
+ # Describes the type of resource associated with the signature.
5134
+ # Corresponds to the JSON property `signatureType`
5135
+ # @return [String]
5136
+ attr_accessor :signature_type
5137
+
7741
5138
  # A signature corresponding to a YARA rule.
7742
5139
  # Corresponds to the JSON property `yaraRuleSignature`
7743
5140
  # @return [Google::Apis::SecuritycenterV1::YaraRuleSignature]
@@ -7750,6 +5147,7 @@ module Google
7750
5147
  # Update properties of this object
7751
5148
  def update!(**args)
7752
5149
  @memory_hash_signature = args[:memory_hash_signature] if args.key?(:memory_hash_signature)
5150
+ @signature_type = args[:signature_type] if args.key?(:signature_type)
7753
5151
  @yara_rule_signature = args[:yara_rule_signature] if args.key?(:yara_rule_signature)
7754
5152
  end
7755
5153
  end
@@ -7908,6 +5306,38 @@ module Google
7908
5306
  end
7909
5307
  end
7910
5308
 
5309
+ # SecurityBulletin are notifications of vulnerabilities of Google products.
5310
+ class SecurityBulletin
5311
+ include Google::Apis::Core::Hashable
5312
+
5313
+ # ID of the bulletin corresponding to the vulnerability.
5314
+ # Corresponds to the JSON property `bulletinId`
5315
+ # @return [String]
5316
+ attr_accessor :bulletin_id
5317
+
5318
+ # Submission time of this Security Bulletin.
5319
+ # Corresponds to the JSON property `submissionTime`
5320
+ # @return [String]
5321
+ attr_accessor :submission_time
5322
+
5323
+ # This represents a version that the cluster receiving this notification should
5324
+ # be upgraded to, based on its current version. For example, 1.15.0
5325
+ # Corresponds to the JSON property `suggestedUpgradeVersion`
5326
+ # @return [String]
5327
+ attr_accessor :suggested_upgrade_version
5328
+
5329
+ def initialize(**args)
5330
+ update!(**args)
5331
+ end
5332
+
5333
+ # Update properties of this object
5334
+ def update!(**args)
5335
+ @bulletin_id = args[:bulletin_id] if args.key?(:bulletin_id)
5336
+ @submission_time = args[:submission_time] if args.key?(:submission_time)
5337
+ @suggested_upgrade_version = args[:suggested_upgrade_version] if args.key?(:suggested_upgrade_version)
5338
+ end
5339
+ end
5340
+
7911
5341
  # Security Command Center managed properties. These properties are managed by
7912
5342
  # Security Command Center and cannot be modified by the user.
7913
5343
  class SecurityCenterProperties
@@ -8700,6 +6130,21 @@ module Google
8700
6130
  # @return [Google::Apis::SecuritycenterV1::Cve]
8701
6131
  attr_accessor :cve
8702
6132
 
6133
+ # Package is a generic definition of a package.
6134
+ # Corresponds to the JSON property `fixedPackage`
6135
+ # @return [Google::Apis::SecuritycenterV1::Package]
6136
+ attr_accessor :fixed_package
6137
+
6138
+ # Package is a generic definition of a package.
6139
+ # Corresponds to the JSON property `offendingPackage`
6140
+ # @return [Google::Apis::SecuritycenterV1::Package]
6141
+ attr_accessor :offending_package
6142
+
6143
+ # SecurityBulletin are notifications of vulnerabilities of Google products.
6144
+ # Corresponds to the JSON property `securityBulletin`
6145
+ # @return [Google::Apis::SecuritycenterV1::SecurityBulletin]
6146
+ attr_accessor :security_bulletin
6147
+
8703
6148
  def initialize(**args)
8704
6149
  update!(**args)
8705
6150
  end
@@ -8707,6 +6152,9 @@ module Google
8707
6152
  # Update properties of this object
8708
6153
  def update!(**args)
8709
6154
  @cve = args[:cve] if args.key?(:cve)
6155
+ @fixed_package = args[:fixed_package] if args.key?(:fixed_package)
6156
+ @offending_package = args[:offending_package] if args.key?(:offending_package)
6157
+ @security_bulletin = args[:security_bulletin] if args.key?(:security_bulletin)
8710
6158
  end
8711
6159
  end
8712
6160