lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.72.0 vs lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.73.0
- old
+ new
@@ -1388,10 +1388,63 @@
@principal_email = args[:principal_email] if args.key?(:principal_email)
@violated_location = args[:violated_location] if args.key?(:violated_location)
end
end
+ # Details about data retention deletion violations, in which the data is non-
+ # compliant based on their retention or deletion time, as defined in the
+ # applicable data security policy. The Data Retention Deletion (DRD) control is
+ # a control of the DSPM (Data Security Posture Management) suite that enables
+ # organizations to manage data retention and deletion policies in compliance
+ # with regulations, such as GDPR and CRPA. DRD supports two primary policy types:
+ # maximum storage length (max TTL) and minimum storage length (min TTL). Both
+ # are aimed at helping organizations meet regulatory and data management
+ # commitments.
+ class DataRetentionDeletionEvent
+ include Google::Apis::Core::Hashable
+
+ # Number of objects that violated the policy for this resource. If the number is
+ # less than 1,000, then the value of this field is the exact number. If the
+ # number of objects that violated the policy is greater than or equal to 1,000,
+ # then the value of this field is 1000.
+ # Corresponds to the JSON property `dataObjectCount`
+ # @return [Fixnum]
+ attr_accessor :data_object_count
+
+ # Timestamp indicating when the event was detected.
+ # Corresponds to the JSON property `eventDetectionTime`
+ # @return [String]
+ attr_accessor :event_detection_time
+
+ # Type of the DRD event.
+ # Corresponds to the JSON property `eventType`
+ # @return [String]
+ attr_accessor :event_type
+
+ # Maximum duration of retention allowed from the DRD control. This comes from
+ # the DRD control where users set a max TTL for their data. For example, suppose
+ # that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an
+ # object in that bucket is 100 days old. In this case, a
+ # DataRetentionDeletionEvent will be generated for that Cloud Storage bucket,
+ # and the max_retention_allowed is 90 days.
+ # Corresponds to the JSON property `maxRetentionAllowed`
+ # @return [String]
+ attr_accessor :max_retention_allowed
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @data_object_count = args[:data_object_count] if args.key?(:data_object_count)
+ @event_detection_time = args[:event_detection_time] if args.key?(:event_detection_time)
+ @event_type = args[:event_type] if args.key?(:event_type)
+ @max_retention_allowed = args[:max_retention_allowed] if args.key?(:max_retention_allowed)
+ end
+ end
+
# Represents database access information, such as queries. A database may be a
# sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
# Spanner instances), or the database instance itself. Some database resources
# might not have the [full resource name](https://google.aip.dev/122#full-
# resource-names) populated because these resource types, such as Cloud SQL
@@ -1931,10 +1984,15 @@
# Data flow events associated with the finding.
# Corresponds to the JSON property `dataFlowEvents`
# @return [Array<Google::Apis::SecuritycenterV1beta2::DataFlowEvent>]
attr_accessor :data_flow_events
+ # Data retention deletion events associated with the finding.
+ # Corresponds to the JSON property `dataRetentionDeletionEvents`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DataRetentionDeletionEvent>]
+ attr_accessor :data_retention_deletion_events
+
# Represents database access information, such as queries. A database may be a
# sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
# Spanner instances), or the database instance itself. Some database resources
# might not have the [full resource name](https://google.aip.dev/122#full-
# resource-names) populated because these resource types, such as Cloud SQL
@@ -2194,10 +2252,11 @@
@contacts = args[:contacts] if args.key?(:contacts)
@containers = args[:containers] if args.key?(:containers)
@create_time = args[:create_time] if args.key?(:create_time)
@data_access_events = args[:data_access_events] if args.key?(:data_access_events)
@data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
+ @data_retention_deletion_events = args[:data_retention_deletion_events] if args.key?(:data_retention_deletion_events)
@database = args[:database] if args.key?(:database)
@description = args[:description] if args.key?(:description)
@disk = args[:disk] if args.key?(:disk)
@event_time = args[:event_time] if args.key?(:event_time)
@exfiltration = args[:exfiltration] if args.key?(:exfiltration)
@@ -4930,10 +4989,63 @@
@principal_email = args[:principal_email] if args.key?(:principal_email)
@violated_location = args[:violated_location] if args.key?(:violated_location)
end
end
+ # Details about data retention deletion violations, in which the data is non-
+ # compliant based on their retention or deletion time, as defined in the
+ # applicable data security policy. The Data Retention Deletion (DRD) control is
+ # a control of the DSPM (Data Security Posture Management) suite that enables
+ # organizations to manage data retention and deletion policies in compliance
+ # with regulations, such as GDPR and CRPA. DRD supports two primary policy types:
+ # maximum storage length (max TTL) and minimum storage length (min TTL). Both
+ # are aimed at helping organizations meet regulatory and data management
+ # commitments.
+ class GoogleCloudSecuritycenterV2DataRetentionDeletionEvent
+ include Google::Apis::Core::Hashable
+
+ # Number of objects that violated the policy for this resource. If the number is
+ # less than 1,000, then the value of this field is the exact number. If the
+ # number of objects that violated the policy is greater than or equal to 1,000,
+ # then the value of this field is 1000.
+ # Corresponds to the JSON property `dataObjectCount`
+ # @return [Fixnum]
+ attr_accessor :data_object_count
+
+ # Timestamp indicating when the event was detected.
+ # Corresponds to the JSON property `eventDetectionTime`
+ # @return [String]
+ attr_accessor :event_detection_time
+
+ # Type of the DRD event.
+ # Corresponds to the JSON property `eventType`
+ # @return [String]
+ attr_accessor :event_type
+
+ # Maximum duration of retention allowed from the DRD control. This comes from
+ # the DRD control where users set a max TTL for their data. For example, suppose
+ # that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an
+ # object in that bucket is 100 days old. In this case, a
+ # DataRetentionDeletionEvent will be generated for that Cloud Storage bucket,
+ # and the max_retention_allowed is 90 days.
+ # Corresponds to the JSON property `maxRetentionAllowed`
+ # @return [String]
+ attr_accessor :max_retention_allowed
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @data_object_count = args[:data_object_count] if args.key?(:data_object_count)
+ @event_detection_time = args[:event_detection_time] if args.key?(:event_detection_time)
+ @event_type = args[:event_type] if args.key?(:event_type)
+ @max_retention_allowed = args[:max_retention_allowed] if args.key?(:max_retention_allowed)
+ end
+ end
+
# Represents database access information, such as queries. A database may be a
# sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
# Spanner instances), or the database instance itself. Some database resources
# might not have the [full resource name](https://google.aip.dev/122#full-
# resource-names) populated because these resource types, such as Cloud SQL
@@ -5440,10 +5552,15 @@
# Data flow events associated with the finding.
# Corresponds to the JSON property `dataFlowEvents`
# @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DataFlowEvent>]
attr_accessor :data_flow_events
+ # Data retention deletion events associated with the finding.
+ # Corresponds to the JSON property `dataRetentionDeletionEvents`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DataRetentionDeletionEvent>]
+ attr_accessor :data_retention_deletion_events
+
# Represents database access information, such as queries. A database may be a
# sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
# Spanner instances), or the database instance itself. Some database resources
# might not have the [full resource name](https://google.aip.dev/122#full-
# resource-names) populated because these resource types, such as Cloud SQL
@@ -5712,10 +5829,11 @@
@contacts = args[:contacts] if args.key?(:contacts)
@containers = args[:containers] if args.key?(:containers)
@create_time = args[:create_time] if args.key?(:create_time)
@data_access_events = args[:data_access_events] if args.key?(:data_access_events)
@data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
+ @data_retention_deletion_events = args[:data_retention_deletion_events] if args.key?(:data_retention_deletion_events)
@database = args[:database] if args.key?(:database)
@description = args[:description] if args.key?(:description)
@disk = args[:disk] if args.key?(:disk)
@event_time = args[:event_time] if args.key?(:event_time)
@exfiltration = args[:exfiltration] if args.key?(:exfiltration)
@@ -5896,9 +6014,488 @@
def update!(**args)
@domains = args[:domains] if args.key?(:domains)
@ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
@signatures = args[:signatures] if args.key?(:signatures)
@uris = args[:uris] if args.key?(:uris)
+ end
+ end
+
+ # Security Command Center Issue.
+ class GoogleCloudSecuritycenterV2Issue
+ include Google::Apis::Core::Hashable
+
+ # Output only. The time the issue was created.
+ # Corresponds to the JSON property `createTime`
+ # @return [String]
+ attr_accessor :create_time
+
+ # The description of the issue in Markdown format.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # The finding category or rule name that generated the issue.
+ # Corresponds to the JSON property `detection`
+ # @return [String]
+ attr_accessor :detection
+
+ # The domains of the issue.
+ # Corresponds to the JSON property `domains`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueDomain>]
+ attr_accessor :domains
+
+ # The exposure score of the issue.
+ # Corresponds to the JSON property `exposureScore`
+ # @return [Float]
+ attr_accessor :exposure_score
+
+ # The type of the issue.
+ # Corresponds to the JSON property `issueType`
+ # @return [String]
+ attr_accessor :issue_type
+
+ # The time the issue was last observed.
+ # Corresponds to the JSON property `lastObservationTime`
+ # @return [String]
+ attr_accessor :last_observation_time
+
+ # The mute information of the issue.
+ # Corresponds to the JSON property `mute`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueMute]
+ attr_accessor :mute
+
+ # Identifier. The name of the issue. Format: organizations/`organization`/
+ # locations/`location`/issues/`issue`
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # A resource associated with the an issue.
+ # Corresponds to the JSON property `primaryResource`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResource]
+ attr_accessor :primary_resource
+
+ # The findings related to the issue.
+ # Corresponds to the JSON property `relatedFindings`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueFinding>]
+ attr_accessor :related_findings
+
+ # Approaches to remediate the issue in Markdown format.
+ # Corresponds to the JSON property `remediations`
+ # @return [Array<String>]
+ attr_accessor :remediations
+
+ # Additional resources associated with the issue.
+ # Corresponds to the JSON property `secondaryResources`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResource>]
+ attr_accessor :secondary_resources
+
+ # The security context of the issue.
+ # Corresponds to the JSON property `securityContexts`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueSecurityContext>]
+ attr_accessor :security_contexts
+
+ # The severity of the issue.
+ # Corresponds to the JSON property `severity`
+ # @return [String]
+ attr_accessor :severity
+
+ # Output only. The state of the issue.
+ # Corresponds to the JSON property `state`
+ # @return [String]
+ attr_accessor :state
+
+ # Output only. The time the issue was last updated.
+ # Corresponds to the JSON property `updateTime`
+ # @return [String]
+ attr_accessor :update_time
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @create_time = args[:create_time] if args.key?(:create_time)
+ @description = args[:description] if args.key?(:description)
+ @detection = args[:detection] if args.key?(:detection)
+ @domains = args[:domains] if args.key?(:domains)
+ @exposure_score = args[:exposure_score] if args.key?(:exposure_score)
+ @issue_type = args[:issue_type] if args.key?(:issue_type)
+ @last_observation_time = args[:last_observation_time] if args.key?(:last_observation_time)
+ @mute = args[:mute] if args.key?(:mute)
+ @name = args[:name] if args.key?(:name)
+ @primary_resource = args[:primary_resource] if args.key?(:primary_resource)
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
+ @remediations = args[:remediations] if args.key?(:remediations)
+ @secondary_resources = args[:secondary_resources] if args.key?(:secondary_resources)
+ @security_contexts = args[:security_contexts] if args.key?(:security_contexts)
+ @severity = args[:severity] if args.key?(:severity)
+ @state = args[:state] if args.key?(:state)
+ @update_time = args[:update_time] if args.key?(:update_time)
+ end
+ end
+
+ # The domains of an issue.
+ class GoogleCloudSecuritycenterV2IssueDomain
+ include Google::Apis::Core::Hashable
+
+ # The domain category of the issue.
+ # Corresponds to the JSON property `domainCategory`
+ # @return [String]
+ attr_accessor :domain_category
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @domain_category = args[:domain_category] if args.key?(:domain_category)
+ end
+ end
+
+ # Finding related to an issue.
+ class GoogleCloudSecuritycenterV2IssueFinding
+ include Google::Apis::Core::Hashable
+
+ # The CVE of the finding.
+ # Corresponds to the JSON property `cve`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueFindingCve]
+ attr_accessor :cve
+
+ # The name of the finding.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The security bulletin of the finding.
+ # Corresponds to the JSON property `securityBulletin`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin]
+ attr_accessor :security_bulletin
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @cve = args[:cve] if args.key?(:cve)
+ @name = args[:name] if args.key?(:name)
+ @security_bulletin = args[:security_bulletin] if args.key?(:security_bulletin)
+ end
+ end
+
+ # The CVE of the finding.
+ class GoogleCloudSecuritycenterV2IssueFindingCve
+ include Google::Apis::Core::Hashable
+
+ # The CVE name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # The security bulletin of the finding.
+ class GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin
+ include Google::Apis::Core::Hashable
+
+ # The security bulletin name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # The mute information of the issue.
+ class GoogleCloudSecuritycenterV2IssueMute
+ include Google::Apis::Core::Hashable
+
+ # The email address of the user who last changed the mute state of the issue.
+ # Corresponds to the JSON property `muteInitiator`
+ # @return [String]
+ attr_accessor :mute_initiator
+
+ # The user-provided reason for muting the issue.
+ # Corresponds to the JSON property `muteReason`
+ # @return [String]
+ attr_accessor :mute_reason
+
+ # Output only. The mute state of the issue.
+ # Corresponds to the JSON property `muteState`
+ # @return [String]
+ attr_accessor :mute_state
+
+ # The time the issue was muted.
+ # Corresponds to the JSON property `muteUpdateTime`
+ # @return [String]
+ attr_accessor :mute_update_time
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
+ @mute_reason = args[:mute_reason] if args.key?(:mute_reason)
+ @mute_state = args[:mute_state] if args.key?(:mute_state)
+ @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
+ end
+ end
+
+ # A resource associated with the an issue.
+ class GoogleCloudSecuritycenterV2IssueResource
+ include Google::Apis::Core::Hashable
+
+ # The AWS metadata of a resource associated with an issue.
+ # Corresponds to the JSON property `awsMetadata`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResourceAwsMetadata]
+ attr_accessor :aws_metadata
+
+ # The Azure metadata of a resource associated with an issue.
+ # Corresponds to the JSON property `azureMetadata`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResourceAzureMetadata]
+ attr_accessor :azure_metadata
+
+ # The cloud provider of the resource associated with the issue.
+ # Corresponds to the JSON property `cloudProvider`
+ # @return [String]
+ attr_accessor :cloud_provider
+
+ # The resource-type specific display name of the resource associated with the
+ # issue.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # Google Cloud metadata of a resource associated with an issue.
+ # Corresponds to the JSON property `googleCloudMetadata`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata]
+ attr_accessor :google_cloud_metadata
+
+ # The full resource name of the resource associated with the issue.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The type of the resource associated with the issue.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @google_cloud_metadata = args[:google_cloud_metadata] if args.key?(:google_cloud_metadata)
+ @name = args[:name] if args.key?(:name)
+ @type = args[:type] if args.key?(:type)
+ end
+ end
+
+ # The AWS metadata of a resource associated with an issue.
+ class GoogleCloudSecuritycenterV2IssueResourceAwsMetadata
+ include Google::Apis::Core::Hashable
+
+ # The AWS account of the resource associated with the issue.
+ # Corresponds to the JSON property `account`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount]
+ attr_accessor :account
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @account = args[:account] if args.key?(:account)
+ end
+ end
+
+ # The AWS account of the resource associated with the issue.
+ class GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount
+ include Google::Apis::Core::Hashable
+
+ # The AWS account ID of the resource associated with the issue.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # The AWS account name of the resource associated with the issue.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] if args.key?(:id)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # The Azure metadata of a resource associated with an issue.
+ class GoogleCloudSecuritycenterV2IssueResourceAzureMetadata
+ include Google::Apis::Core::Hashable
+
+ # The Azure subscription of the resource associated with the issue.
+ # Corresponds to the JSON property `subscription`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription]
+ attr_accessor :subscription
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @subscription = args[:subscription] if args.key?(:subscription)
+ end
+ end
+
+ # The Azure subscription of the resource associated with the issue.
+ class GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription
+ include Google::Apis::Core::Hashable
+
+ # The Azure subscription display name of the resource associated with the issue.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # The Azure subscription ID of the resource associated with the issue.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
+ # Google Cloud metadata of a resource associated with an issue.
+ class GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata
+ include Google::Apis::Core::Hashable
+
+ # The project ID that the resource associated with the issue belongs to.
+ # Corresponds to the JSON property `projectId`
+ # @return [String]
+ attr_accessor :project_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @project_id = args[:project_id] if args.key?(:project_id)
+ end
+ end
+
+ # Security context associated with an issue.
+ class GoogleCloudSecuritycenterV2IssueSecurityContext
+ include Google::Apis::Core::Hashable
+
+ # Aggregated count of a security context.
+ # Corresponds to the JSON property `aggregatedCount`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount]
+ attr_accessor :aggregated_count
+
+ # Context of a security context.
+ # Corresponds to the JSON property `context`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IssueSecurityContextContext]
+ attr_accessor :context
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @aggregated_count = args[:aggregated_count] if args.key?(:aggregated_count)
+ @context = args[:context] if args.key?(:context)
+ end
+ end
+
+ # Aggregated count of a security context.
+ class GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount
+ include Google::Apis::Core::Hashable
+
+ # Aggregation key.
+ # Corresponds to the JSON property `key`
+ # @return [String]
+ attr_accessor :key
+
+ # Aggregation value.
+ # Corresponds to the JSON property `value`
+ # @return [Fixnum]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @key = args[:key] if args.key?(:key)
+ @value = args[:value] if args.key?(:value)
+ end
+ end
+
+ # Context of a security context.
+ class GoogleCloudSecuritycenterV2IssueSecurityContextContext
+ include Google::Apis::Core::Hashable
+
+ # Context type.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # Context values.
+ # Corresponds to the JSON property `values`
+ # @return [Array<String>]
+ attr_accessor :values
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @type = args[:type] if args.key?(:type)
+ @values = args[:values] if args.key?(:values)
end
end
# Kernel mode rootkit signatures.
class GoogleCloudSecuritycenterV2KernelRootkit