def __init__(self, location=None, key_id=None, secret='<STR_LIT>', <EOL>headers=None, login=None, known_locations=None,<EOL>allow_agent=False, verify=True, verbose=None):
self.location = location or DEFAULT_LOCATION<EOL>self.known_locations = known_locations or KNOWN_LOCATIONS<EOL>self.verbose = verbose and sys.stderr<EOL>self.verify = verify<EOL>if key_id and secret:<EOL><INDENT>self.auth = HTTPSignatureAuth(key_id=key_id, secret=secret,<EOL>allow_agent=allow_agent)<EOL><DEDENT>else:<EOL><INDENT>self.auth = None<EOL><DEDENT>self.default_headers = DEFAULT_HEADERS<EOL>self.default_headers['<STR_LIT>'] = self.API_VERSION<EOL>if headers:<EOL><INDENT>self.default_headers.update(headers)<EOL><DEDENT>if login:<EOL><INDENT>self.login = login<EOL><DEDENT>else:<EOL><INDENT>self.login = '<STR_LIT>'<EOL><DEDENT>
A :py:class:`smartdc.datacenter.DataCenter` object may be instantiated 
without any parameters, but practically speaking, the `key_id` and 
`secret` parameters are necessary before any meaningful requests may 
be made. 

:param location: SmartDC API's hostname
:type location: :py:class:`basestring`

:param key_id: SmartDC identifier for the ssh key
:type key_id: :py:class:`basestring`

:param secret: path to private rsa key (default: '~/.ssh/id_rsa')
:type secret: :py:class:`str`

:param headers: headers inserted upon every request
:type headers: :py:class:`dict`

:param login: user path in SmartDC
:type login: :py:class:`basestring`

:param known_locations: keys-to-URLs mapping used by `location` 
:type known_locations: :py:class:`dict`

:param allow_agent: whether or not to try ssh-agent
:type allow_agent: :py:class:`bool`

:param verify: whether or not to verify server SSL certificates
:type verify: :py:class:`bool`

:param verbose: whether or not to print request URLs to stderr, overrides config
:type verbose: :py:class:`bool`

The `location` is notionally a hostname, but it may be 
expressed as an FQDN, one of the keys to the `known_locations` dict, 
or, as a fallback, a bare hostname as prefix to the API_HOST_SUFFIX.
The default location is 'us-west-1', because that is where 
'api.joyentcloud.com' redirects to at the time of writing.

The `known_locations` dict allows for custom access to a private 
cloud.

Attributes:

:var location: location of the machine
:var known_locations: :py:class:`dict` of known locations for this 
    cluster of datacenters
:var login: user path in the SmartDC