code: public TableDescription updateGSI(
              ProvisionedThroughput provisionedThroughput) {
          return table.updateTable(new UpdateTableSpec()
              .withGlobalSecondaryIndexUpdates(
                  new GlobalSecondaryIndexUpdate().withUpdate(
                      new UpdateGlobalSecondaryIndexAction()
                      .withIndexName(indexName)
                      .withProvisionedThroughput(provisionedThroughput))));
      }
docs: Updates the provisioned throughput for this global secondary index (GSI).
  Setting the throughput for an index 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 index must be a global secondary index and in the
  <code>ACTIVE</code> state for this operation to succeed. Updating a GSI
  is an asynchronous operation; while executing the operation, the index is
  in the <code>UPDATING</code> state. While the index is in the
  <code>UPDATING</code> state, the index still has the provisioned
  throughput from before the call. The new provisioned throughput setting
  is in effect only when the index returns to the <code>ACTIVE</code> state
  after the update is complete.
  
  @param provisionedThroughput
  target provisioned throughput
  
  @return the updated table description returned from DynamoDB.