def datacenter(self, name):
<EOL>if name not in self.known_locations and '<STR_LIT:.>' not in name:<EOL><INDENT>self.datacenters()<EOL><DEDENT>dc = DataCenter(location=name, headers=self.default_headers, <EOL>login=self.login, verbose=self.verbose, <EOL>verify=self.verify, known_locations=self.known_locations)<EOL>dc.auth = self.auth<EOL>return dc<EOL>
: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.