The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
{
   "errors" : [
      {
         "cause" : "General authentication failure. The client did not correctly sign the request. Consult the signing documentation",
         "exception" : "AccessDeniedException",
         "http_code" : "400",
         "message" : "Access denied",
         "retry" : false
      },
      {
         "cause" : "Example: The expected value did not match what was stored in the system",
         "exception" : "ConditionalCheckFailedException",
         "http_code" : "400",
         "message" : "The conditional request failed",
         "retry" : false
      },
      {
         "cause" : "The signature in the request did not include all of the required components. See HTTP Header Contents",
         "exception" : "IncompleteSignatureException",
         "http_code" : "400",
         "message" : "The request signature does not conform to AWS standards",
         "retry" : false
      },
      {
         "cause" : "For a table with a local secondary index, a group of items with the same hash key has exceeded the maximum size limit of 10 GB. For more information on item collections, see Item Collections",
         "exception" : "ItemCollectionSizeLimitExceededException",
         "http_code" : "400",
         "message" : "Collection size exceeded",
         "retry" : true
      },
      {
         "cause" : "Example: The number of concurrent table requests (cumulative number of tables in the CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. The total limit of tables (currently in the ACTIVE state) is 250",
         "exception" : "LimitExceededException",
         "http_code" : "400",
         "message" : "Too many operations for a given subscriber",
         "retry" : false
      },
      {
         "cause" : "The request did not include the required x-amz-security-token. See Making HTTP Requests to DynamoDB",
         "exception" : "MissingAuthenticationTokenException",
         "http_code" : "400",
         "message" : "Request must contain a valid (registered) AWS Access Key ID",
         "retry" : false
      },
      {
         "cause" : "Example: Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests, using Error Retries and Exponential Backoff. Or, see Specifying Read and Write Requirements for Tables for other strategies",
         "exception" : "ProvisionedThroughputExceededException",
         "http_code" : "400",
         "message" : "You exceeded your maximum allowed provisioned throughput for a table or for one or more global secondary indexes. To view performance metrics for provisioned throughput vs. consumed throughput, go to the Amazon CloudWatch console",
         "retry" : true
      },
      {
         "cause" : "Example: You tried to recreate an existing table, or delete a table currently in the CREATING state",
         "exception" : "ResourceInUseException",
         "http_code" : "400",
         "message" : "The resource which you are attempting to change is in use",
         "retry" : false
      },
      {
         "cause" : "Example: Table which is being requested does not exist, or is too early in the CREATING state",
         "exception" : "ResourceNotFoundException",
         "http_code" : "400",
         "message" : "Requested resource not found",
         "retry" : false
      },
      {
         "cause" : "This can be returned by the control plane API (CreateTable, DescribeTable, etc) when they are requested too rapidly",
         "exception" : "ThrottlingException",
         "http_code" : "400",
         "message" : "Rate of requests exceeds the allowed throughput",
         "retry" : true
      },
      {
         "cause" : "The request signature is incorrect. The most likely cause is an invalid AWS access key ID or secret key",
         "exception" : "UnrecognizedClientException",
         "http_code" : "400",
         "message" : "The Access Key ID or security token is invalid",
         "retry" : true
      },
      {
         "cause" : "This error can occur for several reasons, such as a required parameter that is missing, a value that is out range, or mismatched data types. The error message contains details about the specific part of the request that caused the error",
         "exception" : "ValidationException",
         "http_code" : "400",
         "message" : "The request could not be processed",
         "retry" : false
      },
      {
         "cause" : "Maximum request size of 1 MB exceeded",
         "exception" : "(n/a)",
         "http_code" : "413",
         "message" : "Request Entity Too Large",
         "retry" : false
      },
      {
         "cause" : "The server encountered an error while processing your request",
         "exception" : "InternalFailure",
         "http_code" : "500",
         "message" : "The server encountered an internal error trying to fulfill the request",
         "retry" : true
      },
      {
         "cause" : "The server encountered an error while processing your request",
         "exception" : "InternalServerError",
         "http_code" : "500",
         "message" : "The server encountered an internal error trying to fulfill the request",
         "retry" : true
      },
      {
         "cause" : "There was an unexpected error on the server while processing your request",
         "exception" : "ServiceUnavailableException",
         "http_code" : "503",
         "message" : "The service is currently unavailable or busy",
         "retry" : true
      }
   ]
}