Class Threat

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

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

Represents a threat identified during threat modeling.

See Also:
  • Method Details

    • threatId

      public final String threatId()

      The unique identifier of the threat.

      Returns:
      The unique identifier of the threat.
    • threatJobId

      public final String threatJobId()

      The unique identifier of the threat model job that produced the threat.

      Returns:
      The unique identifier of the threat model job that produced the threat.
    • title

      public final String title()

      A short title summarizing the threat.

      Returns:
      A short title summarizing the threat.
    • statement

      public final String statement()

      The natural-language threat statement.

      Returns:
      The natural-language threat statement.
    • severity

      public final ThreatSeverity severity()

      The severity level of the threat.

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

      Returns:
      The severity level of the threat.
      See Also:
    • severityAsString

      public final String severityAsString()

      The severity level of the threat.

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

      Returns:
      The severity level of the threat.
      See Also:
    • status

      public final ThreatStatus status()

      The current status of the threat.

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

      Returns:
      The current status of the threat.
      See Also:
    • statusAsString

      public final String statusAsString()

      The current status of the threat.

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

      Returns:
      The current status of the threat.
      See Also:
    • comments

      public final String comments()

      Optional customer comment on the threat.

      Returns:
      Optional customer comment on the threat.
    • threatSource

      public final String threatSource()

      The actor or origin of the threat.

      Returns:
      The actor or origin of the threat.
    • prerequisites

      public final String prerequisites()

      The conditions required for the threat to be exploitable.

      Returns:
      The conditions required for the threat to be exploitable.
    • threatAction

      public final String threatAction()

      What the threat source can do.

      Returns:
      What the threat source can do.
    • threatImpact

      public final String threatImpact()

      The direct consequence of the threat action.

      Returns:
      The direct consequence of the threat action.
    • hasImpactedGoal

      public final boolean hasImpactedGoal()
      For responses, this returns true if the service returned a value for the ImpactedGoal 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.
    • impactedGoal

      public final List<String> impactedGoal()

      The security goals affected by the threat.

      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 hasImpactedGoal() method.

      Returns:
      The security goals affected by the threat.
    • hasImpactedAssets

      public final boolean hasImpactedAssets()
      For responses, this returns true if the service returned a value for the ImpactedAssets 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.
    • impactedAssets

      public final List<String> impactedAssets()

      The specific assets affected by the threat.

      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 hasImpactedAssets() method.

      Returns:
      The specific assets affected by the threat.
    • anchor

      public final ThreatAnchorShape anchor()

      The DFD element this threat is anchored to.

      Returns:
      The DFD element this threat is anchored to.
    • hasEvidence

      public final boolean hasEvidence()
      For responses, this returns true if the service returned a value for the Evidence 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.
    • evidence

      public final List<ThreatEvidenceShape> evidence()

      The source code files supporting the threat.

      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 hasEvidence() method.

      Returns:
      The source code files supporting the threat.
    • stride

      public final List<StrideCategory> stride()

      The STRIDE categories applicable to this threat.

      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 hasStride() method.

      Returns:
      The STRIDE categories applicable to this threat.
    • hasStride

      public final boolean hasStride()
      For responses, this returns true if the service returned a value for the Stride 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.
    • strideAsStrings

      public final List<String> strideAsStrings()

      The STRIDE categories applicable to this threat.

      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 hasStride() method.

      Returns:
      The STRIDE categories applicable to this threat.
    • recommendation

      public final String recommendation()

      The recommended mitigation guidance for this threat.

      Returns:
      The recommended mitigation guidance for this threat.
    • createdBy

      public final ThreatActor createdBy()

      Who created this threat.

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

      Returns:
      Who created this threat.
      See Also:
    • createdByAsString

      public final String createdByAsString()

      Who created this threat.

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

      Returns:
      Who created this threat.
      See Also:
    • updatedBy

      public final ThreatActor updatedBy()

      Who last updated this threat.

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

      Returns:
      Who last updated this threat.
      See Also:
    • updatedByAsString

      public final String updatedByAsString()

      Who last updated this threat.

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

      Returns:
      Who last updated this threat.
      See Also:
    • createdAt

      public final Instant createdAt()

      The date and time the threat was created, in UTC format.

      Returns:
      The date and time the threat was created, in UTC format.
    • updatedAt

      public final Instant updatedAt()

      The date and time the threat was last updated, in UTC format.

      Returns:
      The date and time the threat was last updated, in UTC format.
    • toBuilder

      public Threat.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<Threat.Builder,Threat>
      Returns:
      a builder for type T
    • builder

      public static Threat.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Threat.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.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.