docs: def ensure_provisioning(
          table_name, key_name,
          num_consec_read_checks,
          num_consec_write_checks):
      """ Ensure that provisioning is correct
  
      :type table_name: str
      :param table_name: Name of the DynamoDB table
      :type key_name: str
      :param key_name: Configuration option key name
      :type num_consec_read_checks: int
      :param num_consec_read_checks: How many consecutive checks have we had
      :type num_consec_write_checks: int
      :param num_consec_write_checks: How many consecutive checks have we had
      :returns: (int, int) -- num_consec_read_checks, num_consec_write_checks
      """
  
      if get_global_option('circuit_breaker_url') or get_table_option(
              key_name, 'circuit_breaker_url'):
          if circuit_breaker.is_open(table_name, key_name):
              logger.warning('Circuit breaker is OPEN!')
              return (0, 0)
  
      # Handle throughput alarm checks
      __ensure_provisioning_alarm(table_name, key_name)
  
      try:
          read_update_needed, updated_read_units, num_consec_read_checks = \
              __ensure_provisioning_reads(
                  table_name,
                  key_name,
                  num_consec_read_checks)
          write_update_needed, updated_write_units, num_consec_write_checks = \
              __ensure_provisioning_writes(
                  table_name,
                  key_name,
                  num_consec_write_checks)
  
          if read_update_needed:
              num_consec_read_checks = 0
  
          if write_update_needed:
              num_consec_write_checks = 0
  
          # Handle throughput updates
          if read_update_needed or write_update_needed:
              logger.info(
                  '{0} - Changing provisioning to {1:d} '
                  'read units and {2:d} write units'.format(
                      table_name,
                      int(updated_read_units),
                      int(updated_write_units)))
              __update_throughput(
                  table_name,
                  key_name,
                  updated_read_units,
                  updated_write_units)
          else:
              logger.info('{0} - No need to change provisioning'.format(
                  table_name))
      except JSONResponseError:
          raise
      except BotoServerError:
          raise
  
      return num_consec_read_checks, num_consec_write_checks