Login method authenticates and connects to UCS.

        - name specifies the IP Address IMC Server.
        - username specifies the username credential.
        - password specifies the password credential.
        - noSsl specifies if the connection is made via http(True) or https(False). Default is False.
        - port specifies the port. Default is 80(http) or 443(https).
        - proxy specifies if the is made via proxy.
        - autoRefresh specifes to True to keep the cookie alive.Default is False.

def Login(self, name, username=None, password=None, noSsl=False, port=None, dumpXml=None, proxy=None,
			  autoRefresh=YesOrNo.FALSE):
		"""
        Login method authenticates and connects to UCS.

        - name specifies the IP Address IMC Server.
        - username specifies the username credential.
        - password specifies the password credential.
        - noSsl specifies if the connection is made via http(True) or https(False). Default is False.
        - port specifies the port. Default is 80(http) or 443(https).
        - proxy specifies if the is made via proxy.
        - autoRefresh specifes to True to keep the cookie alive.Default is False.
        """
		from UcsBase import ManagedObject, UcsUtils, WriteUcsWarning, UcsException, UcsValidationException
		from Mos import FirmwareRunning
		import getpass

		if (name == None):
			# raise Exception('[Error]: Hostname/IP was not specified')
			raise UcsValidationException('Hostname/IP was not specified')

		if (username == None):
			username = raw_input("Username: ")

		if (password == None):
			password = getpass.getpass()

		if (self._cookie != None):
			self.Logout(dumpXml)

		ucs = name
		self._name = name
		self._username = username
		self._password = password
		self._noSsl = noSsl
		if (port != None):
			self._port = port
		elif (noSsl == True):
			self._port = 80
		else:
			self._port = 443

		if (proxy != None):
			self._proxy = proxy

		self._cookie = ""
		response = self.AaaLogin(username, password, dumpXml)

		if (response == None):
			return False
		if (response.errorCode != 0):
			ucs = None
			virtualIpv4Address = None
			self._name = None
			self._username = None
			self._password = None
			self._noSsl = False
			self._port = 443
			# raise Exception('[Error]: Login : Connection to <%s> Failed' %(name))
			raise UcsException(response.errorCode, response.errorDescr)

		self._cookie = response.OutCookie
		self._lastUpdateTime = str(time.asctime())
		self._domains = response.OutDomains
		self._priv = response.OutPriv.split(',')
		self._refreshPeriod = int(response.OutRefreshPeriod)
		self._sessionId = response.OutSessionId
		self._version = UcsVersion(response.OutVersion)

		crDn = self.ConfigResolveDn(ManagedObject(NamingId.TOP_SYSTEM).MakeRn(), False, dumpXml)
		if (crDn.errorCode == 0):
			for ts in crDn.OutConfig.GetChild():
				self._ucs = ts.Name
				self._virtualIpv4Address = ts.Address

		if ((response.OutVersion == "") or (response.OutVersion == None)):
			firmwareObj = ManagedObject(NamingId.FIRMWARE_RUNNING)
			firmwareObj.Deployment = FirmwareRunning.CONST_DEPLOYMENT_SYSTEM
			rnArray = [ManagedObject(NamingId.TOP_SYSTEM).MakeRn(), ManagedObject(NamingId.MGMT_CONTROLLER).MakeRn(),
					   firmwareObj.MakeRn()]
			crDn = self.ConfigResolveDn(UcsUtils.MakeDn(rnArray), False, dumpXml)
			if (crDn.errorCode == 0):
				for fr in crDn.OutConfig.GetChild():
					self._version = UcsVersion(fr.Version)

		if autoRefresh in _AffirmativeList:
			self._Start_refresh_timer()

		if self._ucs not in defaultUcs:
			defaultUcs[self._ucs] = self
		return True