java.lang.Object
software.amazon.awssdk.services.securityhub.model.Vulnerability
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Vulnerability.Builder,Vulnerability>

@Generated("software.amazon.awssdk:codegen") public final class Vulnerability extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Vulnerability.Builder,Vulnerability>

A vulnerability associated with a finding.

See Also:
  • Method Details

    • id

      public final String id()

      The identifier of the vulnerability.

      Returns:
      The identifier of the vulnerability.
    • hasVulnerablePackages

      public final boolean hasVulnerablePackages()
      For responses, this returns true if the service returned a value for the VulnerablePackages property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • vulnerablePackages

      public final List<SoftwarePackage> vulnerablePackages()

      List of software packages that have the vulnerability.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasVulnerablePackages() method.

      Returns:
      List of software packages that have the vulnerability.
    • hasCvss

      public final boolean hasCvss()
      For responses, this returns true if the service returned a value for the Cvss property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • cvss

      public final List<Cvss> cvss()

      CVSS scores from the advisory related to the vulnerability.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasCvss() method.

      Returns:
      CVSS scores from the advisory related to the vulnerability.
    • hasRelatedVulnerabilities

      public final boolean hasRelatedVulnerabilities()
      For responses, this returns true if the service returned a value for the RelatedVulnerabilities property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • relatedVulnerabilities

      public final List<String> relatedVulnerabilities()

      List of vulnerabilities that are related to this vulnerability.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasRelatedVulnerabilities() method.

      Returns:
      List of vulnerabilities that are related to this vulnerability.
    • vendor

      public final VulnerabilityVendor vendor()

      Information about the vendor that generates the vulnerability report.

      Returns:
      Information about the vendor that generates the vulnerability report.
    • hasReferenceUrls

      public final boolean hasReferenceUrls()
      For responses, this returns true if the service returned a value for the ReferenceUrls property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • referenceUrls

      public final List<String> referenceUrls()

      A list of URLs that provide additional information about the vulnerability.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasReferenceUrls() method.

      Returns:
      A list of URLs that provide additional information about the vulnerability.
    • fixAvailable

      public final VulnerabilityFixAvailable fixAvailable()

      Specifies if all vulnerable packages in a finding have a value for FixedInVersion and Remediation. This field is evaluated for each vulnerability Id based on the number of vulnerable packages that have a value for both FixedInVersion and Remediation. Valid values are as follows:

      • YES if all vulnerable packages have a value for both FixedInVersion and Remediation

      • NO if no vulnerable packages have a value for FixedInVersion and Remediation

      • PARTIAL otherwise

      If the service returns an enum value that is not available in the current SDK version, fixAvailable will return VulnerabilityFixAvailable.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from fixAvailableAsString().

      Returns:
      Specifies if all vulnerable packages in a finding have a value for FixedInVersion and Remediation. This field is evaluated for each vulnerability Id based on the number of vulnerable packages that have a value for both FixedInVersion and Remediation. Valid values are as follows:

      • YES if all vulnerable packages have a value for both FixedInVersion and Remediation

      • NO if no vulnerable packages have a value for FixedInVersion and Remediation

      • PARTIAL otherwise

      See Also:
    • fixAvailableAsString

      public final String fixAvailableAsString()

      Specifies if all vulnerable packages in a finding have a value for FixedInVersion and Remediation. This field is evaluated for each vulnerability Id based on the number of vulnerable packages that have a value for both FixedInVersion and Remediation. Valid values are as follows:

      • YES if all vulnerable packages have a value for both FixedInVersion and Remediation

      • NO if no vulnerable packages have a value for FixedInVersion and Remediation

      • PARTIAL otherwise

      If the service returns an enum value that is not available in the current SDK version, fixAvailable will return VulnerabilityFixAvailable.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from fixAvailableAsString().

      Returns:
      Specifies if all vulnerable packages in a finding have a value for FixedInVersion and Remediation. This field is evaluated for each vulnerability Id based on the number of vulnerable packages that have a value for both FixedInVersion and Remediation. Valid values are as follows:

      • YES if all vulnerable packages have a value for both FixedInVersion and Remediation

      • NO if no vulnerable packages have a value for FixedInVersion and Remediation

      • PARTIAL otherwise

      See Also:
    • epssScore

      public final Double epssScore()

      The Exploit Prediction Scoring System (EPSS) score for a finding.

      Returns:
      The Exploit Prediction Scoring System (EPSS) score for a finding.
    • exploitAvailable

      public final VulnerabilityExploitAvailable exploitAvailable()

      Whether an exploit is available for a finding.

      If the service returns an enum value that is not available in the current SDK version, exploitAvailable will return VulnerabilityExploitAvailable.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from exploitAvailableAsString().

      Returns:
      Whether an exploit is available for a finding.
      See Also:
    • exploitAvailableAsString

      public final String exploitAvailableAsString()

      Whether an exploit is available for a finding.

      If the service returns an enum value that is not available in the current SDK version, exploitAvailable will return VulnerabilityExploitAvailable.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from exploitAvailableAsString().

      Returns:
      Whether an exploit is available for a finding.
      See Also:
    • lastKnownExploitAt

      public final String lastKnownExploitAt()

      The date and time of the last exploit associated with a finding discovered in your environment.

      Returns:
      The date and time of the last exploit associated with a finding discovered in your environment.
    • hasCodeVulnerabilities

      public final boolean hasCodeVulnerabilities()
      For responses, this returns true if the service returned a value for the CodeVulnerabilities property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • codeVulnerabilities

      public final List<VulnerabilityCodeVulnerabilities> codeVulnerabilities()

      The vulnerabilities found in your Lambda function code. This field pertains to findings that Security Hub receives from Amazon Inspector.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasCodeVulnerabilities() method.

      Returns:
      The vulnerabilities found in your Lambda function code. This field pertains to findings that Security Hub receives from Amazon Inspector.
    • toBuilder

      public Vulnerability.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Vulnerability.Builder,Vulnerability>
      Returns:
      a builder for type T
    • builder

      public static Vulnerability.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Vulnerability.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.