:param name: location key
        :type name: :py:class:`basestring`
        
        :Returns: a new DataCenter object
        
        This method treats the 'name' argument as a location key (on the 
        `known_locations` attribute dict) or FQDN, and keeps existing 
        authentication and other configuration from this object.

def datacenter(self, name):
        """
        :param name: location key
        :type name: :py:class:`basestring`
        
        :Returns: a new DataCenter object
        
        This method treats the 'name' argument as a location key (on the 
        `known_locations` attribute dict) or FQDN, and keeps existing 
        authentication and other configuration from this object.
        """
        # The base form of this, as below, simply sets up a redirect. 
        # j, _ = self.request('GET', 'datacenters/' + str(name))
        if name not in self.known_locations and '.' not in name:
            self.datacenters()
        dc = DataCenter(location=name, headers=self.default_headers, 
                login=self.login, verbose=self.verbose, 
                verify=self.verify, known_locations=self.known_locations)
        dc.auth = self.auth
        return dc