code: public TableDescription updateTable(UpdateTableSpec spec) {
          UpdateTableRequest req = spec.getRequest();
          req.setTableName(getTableName());
          UpdateTableResult result = client.updateTable(req);
          return this.tableDescription = result.getTableDescription();
      }
docs: Updates the provisioned throughput for this table. Setting the
  throughput for a table helps you manage performance and is part of the
  provisioned throughput feature of DynamoDB.
  <p>
  The provisioned throughput values can be upgraded or downgraded based
  on the maximums and minimums listed in the
  <a href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html"> Limits </a>
  section in the Amazon DynamoDB Developer Guide.
  <p>
  This table must be in the <code>ACTIVE</code> state for this operation
  to succeed. <i>UpdateTable</i> is an asynchronous operation; while
  executing the operation, the table is in the <code>UPDATING</code>
  state. While the table is in the <code>UPDATING</code> state, the
  table still has the provisioned throughput from before the call. The
  new provisioned throughput setting is in effect only when the table
  returns to the <code>ACTIVE</code> state after the <i>UpdateTable</i>
  operation.
  <p>
  You can create, update or delete indexes using <i>UpdateTable</i>.
  </p>
  
  @param spec used to specify all the detailed parameters
  
  @return the updated table description returned from DynamoDB.