Class AdvancedEventSelector

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<AdvancedEventSelector.Builder,​AdvancedEventSelector>

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

    Advanced event selectors let you create fine-grained selectors for CloudTrail management, data, and network activity events. They help you control costs by logging only those events that are important to you. For more information about configuring advanced event selectors, see the Logging data events, Logging network activity events, and Logging management events topics in the CloudTrail User Guide.

    You cannot apply both event selectors and advanced event selectors to a trail.

    Supported CloudTrail event record fields for management events

    • eventCategory (required)

    • eventSource

    • readOnly

    Supported CloudTrail event record fields for data events

    • eventCategory (required)

    • resources.type (required)

    • readOnly

    • eventName

    • resources.ARN

    Supported CloudTrail event record fields for network activity events

    Network activity events is in preview release for CloudTrail and is subject to change.

    • eventCategory (required)

    • eventSource (required)

    • eventName

    • errorCode - The only valid value for errorCode is VpceAccessDenied.

    • vpcEndpointId

    For event data stores for CloudTrail Insights events, Config configuration items, Audit Manager evidence, or events outside of Amazon Web Services, the only supported field is eventCategory.

    See Also:
    Serialized Form
    • Method Detail

      • name

        public final String name()

        An optional, descriptive name for an advanced event selector, such as "Log data events for only two S3 buckets".

        Returns:
        An optional, descriptive name for an advanced event selector, such as "Log data events for only two S3 buckets".
      • hasFieldSelectors

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

        public final List<AdvancedFieldSelector> fieldSelectors()

        Contains all selector statements in an advanced event selector.

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

        Returns:
        Contains all selector statements in an advanced event selector.
      • 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)