docs: def update_table(self, tablename, throughput=None, global_indexes=None,
                       index_updates=None):
          """
          Update the throughput of a table and/or global indexes
  
          Parameters
          ----------
          tablename : str
              Name of the table to update
          throughput : :class:`~dynamo3.fields.Throughput`, optional
              The new throughput of the table
          global_indexes : dict, optional
              DEPRECATED. Use index_updates now.
              Map of index name to :class:`~dynamo3.fields.Throughput`
          index_updates : list of :class:`~dynamo3.fields.IndexUpdate`, optional
              List of IndexUpdates to perform
  
          """
          kwargs = {
              'TableName': tablename
          }
          all_attrs = set()
          if throughput is not None:
              kwargs['ProvisionedThroughput'] = throughput.schema()
          if index_updates is not None:
              updates = []
              for update in index_updates:
                  all_attrs.update(update.get_attrs())
                  updates.append(update.serialize())
              kwargs['GlobalSecondaryIndexUpdates'] = updates
          elif global_indexes is not None:
              kwargs['GlobalSecondaryIndexUpdates'] = [
                  {
                      'Update': {
                          'IndexName': key,
                          'ProvisionedThroughput': value.schema(),
                      }
                  }
                  for key, value in six.iteritems(global_indexes)
              ]
          if all_attrs:
              attr_definitions = [attr.definition() for attr in all_attrs]
              kwargs['AttributeDefinitions'] = attr_definitions
          return self.call('update_table', **kwargs)