Class 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:
    Serialized Form
    • Method Detail

      • 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.
      • 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.
      • 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
      • 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)