Class Source

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

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

Provides the CustomPolicyDetails, the rule owner (Amazon Web Services for managed rules, CUSTOM_POLICY for Custom Policy rules, and CUSTOM_LAMBDA for Custom Lambda rules), the rule identifier, and the events that cause the evaluation of your Amazon Web Services resources.

See Also:
  • Method Details

    • owner

      public final Owner owner()

      Indicates whether Amazon Web Services or the customer owns and manages the Config rule.

      Config Managed Rules are predefined rules owned by Amazon Web Services. For more information, see Config Managed Rules in the Config developer guide.

      Config Custom Rules are rules that you can develop either with Guard (CUSTOM_POLICY) or Lambda ( CUSTOM_LAMBDA). For more information, see Config Custom Rules in the Config developer guide.

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

      Returns:
      Indicates whether Amazon Web Services or the customer owns and manages the Config rule.

      Config Managed Rules are predefined rules owned by Amazon Web Services. For more information, see Config Managed Rules in the Config developer guide.

      Config Custom Rules are rules that you can develop either with Guard (CUSTOM_POLICY) or Lambda (CUSTOM_LAMBDA). For more information, see Config Custom Rules in the Config developer guide.

      See Also:
    • ownerAsString

      public final String ownerAsString()

      Indicates whether Amazon Web Services or the customer owns and manages the Config rule.

      Config Managed Rules are predefined rules owned by Amazon Web Services. For more information, see Config Managed Rules in the Config developer guide.

      Config Custom Rules are rules that you can develop either with Guard (CUSTOM_POLICY) or Lambda ( CUSTOM_LAMBDA). For more information, see Config Custom Rules in the Config developer guide.

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

      Returns:
      Indicates whether Amazon Web Services or the customer owns and manages the Config rule.

      Config Managed Rules are predefined rules owned by Amazon Web Services. For more information, see Config Managed Rules in the Config developer guide.

      Config Custom Rules are rules that you can develop either with Guard (CUSTOM_POLICY) or Lambda (CUSTOM_LAMBDA). For more information, see Config Custom Rules in the Config developer guide.

      See Also:
    • sourceIdentifier

      public final String sourceIdentifier()

      For Config Managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see List of Config Managed Rules.

      For Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

      For Config Custom Policy rules, this field will be ignored.

      Returns:
      For Config Managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see List of Config Managed Rules.

      For Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

      For Config Custom Policy rules, this field will be ignored.

    • hasSourceDetails

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

      public final List<SourceDetail> sourceDetails()

      Provides the source and the message types that cause 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.

      If the owner is set to CUSTOM_POLICY, the only acceptable values for the Config rule trigger message type are ConfigurationItemChangeNotification and OversizedConfigurationItemChangeNotification.

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

      Returns:
      Provides the source and the message types that cause 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.

      If the owner is set to CUSTOM_POLICY, the only acceptable values for the Config rule trigger message type are ConfigurationItemChangeNotification and OversizedConfigurationItemChangeNotification.

    • customPolicyDetails

      public final CustomPolicyDetails customPolicyDetails()

      Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to CUSTOM_POLICY.

      Returns:
      Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to CUSTOM_POLICY.
    • toBuilder

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

      public static Source.Builder builder()
    • serializableBuilderClass

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