title: DynamoDB UpdateItem with ReturnValues parameter returns nothing on failed ConditionExpression
body: <p>Using aws/aws-sdk-php 3.21.6. I must be misunderstanding how ReturnValues works when a ConditionExpression meets the ConditionalCheckFailedException error.</p>
  
  <p>What I'm hoping is that if the ConditionExpression fails, which in turn triggers the ConditionalCheckFailedException, that I can catch this exception and then get access via ReturnValues to the new Attributes from DD.</p>
  
  <p>The docs <a href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LowLevelPHPItemOperationsExample.html" rel="nofollow noreferrer">Attributes I'm expecting from ReturnValues</a> seem to imply this. </p>
  
  <p>From testing, however, ReturnValues only returns Attributes if the ConditionExpression is true, not when it fails.</p>
  
  <pre><code>$response = $client-&gt;updateItem([
      'TableName' =&gt; 'MyTable',
      'Key' =&gt; [
          'customer_url' =&gt; [
              'S' =&gt; 'someurl.com'
          ],
          'customer_platform' =&gt; [
              'S' =&gt; 'some_platform'
          ]
      ],
      'ExpressionAttributeNames' =&gt; [
          '#C' =&gt; 'createdAt'
      ],
      'ExpressionAttributeValues' =&gt;  [
          ':val1' =&gt; [
              'S' =&gt; '2017-01-24T14:15:32'
          ],
          ':val2' =&gt; [
              'S' =&gt; '2017-01-24T14:15:30'
          ]
      ],
      'UpdateExpression' =&gt; 'set #C = :val1',
      'ConditionExpression' =&gt; '#C = :val2', // :val2 originally was 2017-01-24T14:15:30, before attempting to update to 2017-01-24T14:15:32. If I change the field to 2017-01-24T14:15:31, before running this update it will throw the ConditionalCheckFailedException
      'ReturnValues' =&gt; 'ALL_NEW'
  ]);
  </code></pre>