Class Signal

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

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

Contains information about the signals involved in an Amazon GuardDuty Extended Threat Detection attack sequence. An attack sequence is a type of threat detected by GuardDuty. GuardDuty generates an attack sequence finding when multiple events, or signals, align to a potentially suspicious activity. When GuardDuty and Security Hub are integrated, GuardDuty sends attack sequence findings to Security Hub.

A signal can be an API activity or a finding that GuardDuty uses to detect an attack sequence finding.

See Also:
  • Method Details

    • type

      public final String type()

      The type of the signal used to identify an attack sequence.

      Signals can be GuardDuty findings or activities observed in data sources that GuardDuty monitors. For more information, see GuardDuty foundational data sources in the Amazon GuardDuty User Guide.

      A signal type can be one of the following values. Here are the related descriptions:

      • FINDING - Individually generated GuardDuty finding.

      • CLOUD_TRAIL - Activity observed from CloudTrail logs

      • S3_DATA_EVENTS - Activity observed from CloudTrail data events for Amazon Simple Storage Service (S3). Activities associated with this type will show up only when you have enabled GuardDuty S3 Protection feature in your account. For more information about S3 Protection and the steps to enable it, see S3 Protection in the Amazon GuardDuty User Guide.

      Returns:
      The type of the signal used to identify an attack sequence.

      Signals can be GuardDuty findings or activities observed in data sources that GuardDuty monitors. For more information, see GuardDuty foundational data sources in the Amazon GuardDuty User Guide.

      A signal type can be one of the following values. Here are the related descriptions:

      • FINDING - Individually generated GuardDuty finding.

      • CLOUD_TRAIL - Activity observed from CloudTrail logs

      • S3_DATA_EVENTS - Activity observed from CloudTrail data events for Amazon Simple Storage Service (S3). Activities associated with this type will show up only when you have enabled GuardDuty S3 Protection feature in your account. For more information about S3 Protection and the steps to enable it, see S3 Protection in the Amazon GuardDuty User Guide.

    • id

      public final String id()

      The identifier of the signal.

      Returns:
      The identifier of the signal.
    • title

      public final String title()

      The description of the GuardDuty finding.

      Returns:
      The description of the GuardDuty finding.
    • productArn

      public final String productArn()

      The Amazon Resource Name (ARN) of the product that generated the signal.

      Returns:
      The Amazon Resource Name (ARN) of the product that generated the signal.
    • hasResourceIds

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

      public final List<String> resourceIds()

      The ARN or ID of the Amazon Web Services resource associated with the signal.

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

      Returns:
      The ARN or ID of the Amazon Web Services resource associated with the signal.
    • hasSignalIndicators

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

      public final List<Indicator> signalIndicators()

      Contains information about the indicators associated with the signals in this attack sequence finding. The values for SignalIndicators are a subset of the values for SequenceIndicators, but the values for these fields don't always match 1:1.

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

      Returns:
      Contains information about the indicators associated with the signals in this attack sequence finding. The values for SignalIndicators are a subset of the values for SequenceIndicators, but the values for these fields don't always match 1:1.
    • name

      public final String name()

      The name of the GuardDuty signal. For example, when signal type is FINDING, the signal name is the name of the finding.

      Returns:
      The name of the GuardDuty signal. For example, when signal type is FINDING, the signal name is the name of the finding.
    • createdAt

      public final Long createdAt()

      The timestamp when the first finding or activity related to this signal was observed.

      Returns:
      The timestamp when the first finding or activity related to this signal was observed.
    • updatedAt

      public final Long updatedAt()

      The timestamp when this signal was last observed.

      Returns:
      The timestamp when this signal was last observed.
    • firstSeenAt

      public final Long firstSeenAt()

      The timestamp when the first finding or activity related to this signal was observed.

      Returns:
      The timestamp when the first finding or activity related to this signal was observed.
    • lastSeenAt

      public final Long lastSeenAt()

      The timestamp when the last finding or activity related to this signal was observed.

      Returns:
      The timestamp when the last finding or activity related to this signal was observed.
    • severity

      public final Double severity()

      The severity associated with the signal. For more information about severity, see Severity levels for GuardDuty findings in the Amazon GuardDuty User Guide.

      Returns:
      The severity associated with the signal. For more information about severity, see Severity levels for GuardDuty findings in the Amazon GuardDuty User Guide.
    • count

      public final Integer count()

      The number of times this signal was observed.

      Returns:
      The number of times this signal was observed.
    • hasActorIds

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

      public final List<String> actorIds()

      The IDs of the threat actors involved in the signal.

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

      Returns:
      The IDs of the threat actors involved in the signal.
    • hasEndpointIds

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

      public final List<String> endpointIds()

      Information about the endpoint IDs associated with this signal.

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

      Returns:
      Information about the endpoint IDs associated with this signal.
    • toBuilder

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

      public static Signal.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Signal.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.