Class ValidationException

All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ValidationException.Builder,ValidationException>

@Generated("software.amazon.awssdk:codegen") public final class ValidationException extends VerifiedPermissionsException implements ToCopyableBuilder<ValidationException.Builder,ValidationException>

The request failed because one or more input parameters don't satisfy their constraint requirements. The output is provided as a list of fields and a reason for each field that isn't valid.

The possible reasons include the following:

  • UnrecognizedEntityType

    The policy includes an entity type that isn't found in the schema.

  • UnrecognizedActionId

    The policy includes an action id that isn't found in the schema.

  • InvalidActionApplication

    The policy includes an action that, according to the schema, doesn't support the specified principal and resource.

  • UnexpectedType

    The policy included an operand that isn't a valid type for the specified operation.

  • IncompatibleTypes

    The types of elements included in a set, or the types of expressions used in an if...then...else clause aren't compatible in this context.

  • MissingAttribute

    The policy attempts to access a record or entity attribute that isn't specified in the schema. Test for the existence of the attribute first before attempting to access its value. For more information, see the has (presence of attribute test) operator in the Cedar Policy Language Guide.

  • UnsafeOptionalAttributeAccess

    The policy attempts to access a record or entity attribute that is optional and isn't guaranteed to be present. Test for the existence of the attribute first before attempting to access its value. For more information, see the has (presence of attribute test) operator in the Cedar Policy Language Guide.

  • ImpossiblePolicy

    Cedar has determined that a policy condition always evaluates to false. If the policy is always false, it can never apply to any query, and so it can never affect an authorization decision.

  • WrongNumberArguments

    The policy references an extension type with the wrong number of arguments.

  • FunctionArgumentValidationError

    Cedar couldn't parse the argument passed to an extension type. For example, a string that is to be parsed as an IPv4 address can contain only digits and the period character.

See Also:
  • Method Details

    • toBuilder

      public ValidationException.Builder toBuilder()
      Description copied from class: AwsServiceException
      Create a AwsServiceException.Builder initialized with the properties of this AwsServiceException.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ValidationException.Builder,ValidationException>
      Overrides:
      toBuilder in class VerifiedPermissionsException
      Returns:
      A new builder initialized with this config's properties.
    • builder

      public static ValidationException.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ValidationException.Builder> serializableBuilderClass()
    • hasFieldList

      public boolean hasFieldList()
      For responses, this returns true if the service returned a value for the FieldList 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.
    • fieldList

      public List<ValidationExceptionField> fieldList()

      The list of fields that aren't valid.

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

      Returns:
      The list of fields that aren't valid.
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Overrides:
      sdkFields in class SdkServiceException
      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.