lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.7.0 vs lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.8.0

- old
+ new

@@ -98,10 +98,120 @@ @service_enablement_state = args[:service_enablement_state] if args.key?(:service_enablement_state) @update_time = args[:update_time] if args.key?(:update_time) end end + # CVE stands for Common Vulnerabilities and Exposures. More information: https:// + # cve.mitre.org + class Cve + include Google::Apis::Core::Hashable + + # Common Vulnerability Scoring System version 3. + # Corresponds to the JSON property `cvssv3` + # @return [Google::Apis::SecuritycenterV1beta2::Cvssv3] + attr_accessor :cvssv3 + + # The unique identifier for the vulnerability. e.g. CVE-2021-34527 + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/ + # cvename.cgi?name=CVE-2021-34527 + # Corresponds to the JSON property `references` + # @return [Array<Google::Apis::SecuritycenterV1beta2::Reference>] + attr_accessor :references + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cvssv3 = args[:cvssv3] if args.key?(:cvssv3) + @id = args[:id] if args.key?(:id) + @references = args[:references] if args.key?(:references) + end + end + + # Common Vulnerability Scoring System version 3. + class Cvssv3 + include Google::Apis::Core::Hashable + + # This metric describes the conditions beyond the attacker's control that must + # exist in order to exploit the vulnerability. + # Corresponds to the JSON property `attackComplexity` + # @return [String] + attr_accessor :attack_complexity + + # Base Metrics Represents the intrinsic characteristics of a vulnerability that + # are constant over time and across user environments. This metric reflects the + # context by which vulnerability exploitation is possible. + # Corresponds to the JSON property `attackVector` + # @return [String] + attr_accessor :attack_vector + + # This metric measures the impact to the availability of the impacted component + # resulting from a successfully exploited vulnerability. + # Corresponds to the JSON property `availabilityImpact` + # @return [String] + attr_accessor :availability_impact + + # The base score is a function of the base metric scores. + # Corresponds to the JSON property `baseScore` + # @return [Float] + attr_accessor :base_score + + # This metric measures the impact to the confidentiality of the information + # resources managed by a software component due to a successfully exploited + # vulnerability. + # Corresponds to the JSON property `confidentialityImpact` + # @return [String] + attr_accessor :confidentiality_impact + + # This metric measures the impact to integrity of a successfully exploited + # vulnerability. + # Corresponds to the JSON property `integrityImpact` + # @return [String] + attr_accessor :integrity_impact + + # This metric describes the level of privileges an attacker must possess before + # successfully exploiting the vulnerability. + # Corresponds to the JSON property `privilegesRequired` + # @return [String] + attr_accessor :privileges_required + + # The Scope metric captures whether a vulnerability in one vulnerable component + # impacts resources in components beyond its security scope. + # Corresponds to the JSON property `scope` + # @return [String] + attr_accessor :scope + + # This metric captures the requirement for a human user, other than the attacker, + # to participate in the successful compromise of the vulnerable component. + # Corresponds to the JSON property `userInteraction` + # @return [String] + attr_accessor :user_interaction + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @attack_complexity = args[:attack_complexity] if args.key?(:attack_complexity) + @attack_vector = args[:attack_vector] if args.key?(:attack_vector) + @availability_impact = args[:availability_impact] if args.key?(:availability_impact) + @base_score = args[:base_score] if args.key?(:base_score) + @confidentiality_impact = args[:confidentiality_impact] if args.key?(:confidentiality_impact) + @integrity_impact = args[:integrity_impact] if args.key?(:integrity_impact) + @privileges_required = args[:privileges_required] if args.key?(:privileges_required) + @scope = args[:scope] if args.key?(:scope) + @user_interaction = args[:user_interaction] if args.key?(:user_interaction) + end + end + # Details of a subscription. class Details include Google::Apis::Core::Hashable # The time the subscription has or will end. @@ -280,10 +390,15 @@ # The state of the finding. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state + # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. + # Corresponds to the JSON property `vulnerability` + # @return [Google::Apis::SecuritycenterV1beta2::Vulnerability] + attr_accessor :vulnerability + def initialize(**args) update!(**args) end # Update properties of this object @@ -300,10 +415,11 @@ @resource_name = args[:resource_name] if args.key?(:resource_name) @security_marks = args[:security_marks] if args.key?(:security_marks) @severity = args[:severity] if args.key?(:severity) @source_properties = args[:source_properties] if args.key?(:source_properties) @state = args[:state] if args.key?(:state) + @vulnerability = args[:vulnerability] if args.key?(:vulnerability) end end # Message that contains the resource name and display name of a folder resource. class Folder @@ -401,10 +517,15 @@ # The human readable name of project that the resource belongs to. # Corresponds to the JSON property `projectDisplayName` # @return [String] attr_accessor :project_display_name + # The full resource type of the resource. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + def initialize(**args) update!(**args) end # Update properties of this object @@ -413,10 +534,11 @@ @name = args[:name] if args.key?(:name) @parent = args[:parent] if args.key?(:parent) @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name) @project = args[:project] if args.key?(:project) @project_display_name = args[:project_display_name] if args.key?(:project_display_name) + @type = args[:type] if args.key?(:type) end end # Response of asset discovery run class GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse @@ -794,10 +916,36 @@ @domains = args[:domains] if args.key?(:domains) @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses) end end + # Additional Links + class Reference + include Google::Apis::Core::Hashable + + # Source of the reference e.g. NVD + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi? + # name=CVE-2021-34527. + # Corresponds to the JSON property `uri` + # @return [String] + attr_accessor :uri + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @source = args[:source] if args.key?(:source) + @uri = args[:uri] if args.key?(:uri) + end + end + # Resource capturing the settings for Security Center. class SecurityCenterSettings include Google::Apis::Core::Hashable # The resource name of the project to send logs to. This project must be part of @@ -956,9 +1104,29 @@ # Update properties of this object def update!(**args) @details = args[:details] if args.key?(:details) @name = args[:name] if args.key?(:name) @tier = args[:tier] if args.key?(:tier) + end + end + + # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. + class Vulnerability + include Google::Apis::Core::Hashable + + # CVE stands for Common Vulnerabilities and Exposures. More information: https:// + # cve.mitre.org + # Corresponds to the JSON property `cve` + # @return [Google::Apis::SecuritycenterV1beta2::Cve] + attr_accessor :cve + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cve = args[:cve] if args.key?(:cve) end end # Resource capturing the settings for the Web Security Scanner service. class WebSecurityScannerSettings