Class SourceDetail

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

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

Provides the source and the message types that trigger Config to evaluate your Amazon Web Services resources against a rule. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for SourceDetail only for custom rules.

See Also:
  • Method Details

    • eventSource

      public final EventSource eventSource()

      The source of the event, such as an Amazon Web Services service, that triggers Config to evaluate your Amazon Web Services resources.

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

      Returns:
      The source of the event, such as an Amazon Web Services service, that triggers Config to evaluate your Amazon Web Services resources.
      See Also:
    • eventSourceAsString

      public final String eventSourceAsString()

      The source of the event, such as an Amazon Web Services service, that triggers Config to evaluate your Amazon Web Services resources.

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

      Returns:
      The source of the event, such as an Amazon Web Services service, that triggers Config to evaluate your Amazon Web Services resources.
      See Also:
    • messageType

      public final MessageType messageType()

      The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:

      • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.

      • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

      • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

      • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when Config delivers a configuration snapshot.

      If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

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

      Returns:
      The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:

      • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.

      • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

      • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

      • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when Config delivers a configuration snapshot.

      If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

      See Also:
    • messageTypeAsString

      public final String messageTypeAsString()

      The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:

      • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.

      • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

      • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

      • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when Config delivers a configuration snapshot.

      If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

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

      Returns:
      The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:

      • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.

      • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

      • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

      • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when Config delivers a configuration snapshot.

      If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

      See Also:
    • maximumExecutionFrequency

      public final MaximumExecutionFrequency maximumExecutionFrequency()

      The frequency at which you want Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

      By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

      Based on the valid value you choose, Config runs evaluations once for each valid value. For example, if you choose Three_Hours, Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

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

      Returns:
      The frequency at which you want Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

      By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

      Based on the valid value you choose, Config runs evaluations once for each valid value. For example, if you choose Three_Hours, Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

      See Also:
    • maximumExecutionFrequencyAsString

      public final String maximumExecutionFrequencyAsString()

      The frequency at which you want Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

      By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

      Based on the valid value you choose, Config runs evaluations once for each valid value. For example, if you choose Three_Hours, Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

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

      Returns:
      The frequency at which you want Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

      By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

      Based on the valid value you choose, Config runs evaluations once for each valid value. For example, if you choose Three_Hours, Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

      See Also:
    • toBuilder

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

      public static SourceDetail.Builder builder()
    • serializableBuilderClass

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