/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.dynamodbv2.model; import javax.annotation.Generated; /** *
* The entire transaction request was canceled. *
*
* DynamoDB cancels a TransactWriteItems
request under the following circumstances:
*
* A condition in one of the condition expressions is not met. *
*
* A table in the TransactWriteItems
request is in a different account or region.
*
* More than one action in the TransactWriteItems
operation targets the same item.
*
* There is insufficient provisioned capacity for the transaction to be completed. *
** An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar * validation error occurs because of changes made by the transaction. *
** There is a user error, such as an invalid data format. *
*
* DynamoDB cancels a TransactGetItems
request under the following circumstances:
*
* There is an ongoing TransactGetItems
operation that conflicts with a concurrent PutItem
,
* UpdateItem
, DeleteItem
or TransactWriteItems
request. In this case the
* TransactGetItems
operation fails with a TransactionCanceledException
.
*
* A table in the TransactGetItems
request is in a different account or region.
*
* There is insufficient provisioned capacity for the transaction to be completed. *
** There is a user error, such as an invalid data format. *
*
* If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons
property. This
* property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested
* items, if an item has no error it will have None
code and Null
message.
*
* Cancellation reason codes and possible error messages: *
** No Errors: *
*
* Code: None
*
* Message: null
*
* Conditional Check Failed: *
*
* Code: ConditionalCheckFailed
*
* Message: The conditional request failed. *
** Item Collection Size Limit Exceeded: *
*
* Code: ItemCollectionSizeLimitExceeded
*
* Message: Collection size exceeded. *
** Transaction Conflict: *
*
* Code: TransactionConflict
*
* Message: Transaction is ongoing for the item. *
** Provisioned Throughput Exceeded: *
*
* Code: ProvisionedThroughputExceeded
*
* Messages: *
** The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning * level with the UpdateTable API. *
** This Message is received when provisioned throughput is exceeded is on a provisioned DynamoDB table. *
** The level of configured provisioned throughput for one or more global secondary indexes of the table was exceeded. * Consider increasing your provisioning level for the under-provisioned global secondary indexes with the UpdateTable * API. *
** This message is returned when provisioned throughput is exceeded is on a provisioned GSI. *
** Throttling Error: *
*
* Code: ThrottlingError
*
* Messages: *
** Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index * so please try again shortly. If exceptions persist, check if you have a hot key: * https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. *
** This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the * table. *
** Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling * your index so please try again shortly. *
** This message is returned when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI. *
** Validation Error: *
*
* Code: ValidationError
*
* Messages: *
** One or more parameter values were invalid. *
** The update expression attempted to update the secondary index key beyond allowed size limits. *
** The update expression attempted to update the secondary index key to unsupported type. *
** An operand in the update expression has an incorrect data type. *
** Item size to update has exceeded the maximum allowed size. *
** Number overflow. Attempting to store a number with magnitude larger than supported range. *
** Type mismatch for attribute to update. *
** Nesting Levels have exceeded supported limits. *
** The document path provided in the update expression is invalid for update. *
** The provided expression refers to an attribute that does not exist in the item. *
** A list of cancellation reasons. *
*/ private java.util.List* A list of cancellation reasons. *
* * @return A list of cancellation reasons. */ @com.fasterxml.jackson.annotation.JsonProperty("CancellationReasons") public java.util.List* A list of cancellation reasons. *
* * @param cancellationReasons * A list of cancellation reasons. */ @com.fasterxml.jackson.annotation.JsonProperty("CancellationReasons") public void setCancellationReasons(java.util.Collection* A list of cancellation reasons. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setCancellationReasons(java.util.Collection)} or {@link #withCancellationReasons(java.util.Collection)} * if you want to override the existing values. *
* * @param cancellationReasons * A list of cancellation reasons. * @return Returns a reference to this object so that method calls can be chained together. */ public TransactionCanceledException withCancellationReasons(CancellationReason... cancellationReasons) { if (this.cancellationReasons == null) { setCancellationReasons(new java.util.ArrayList* A list of cancellation reasons. *
* * @param cancellationReasons * A list of cancellation reasons. * @return Returns a reference to this object so that method calls can be chained together. */ public TransactionCanceledException withCancellationReasons(java.util.Collection