code: def _connect(self):
          
          # ensure only one thread runs the authentication process, if needed
          with GoogleCloudProvider.__gce_lock:
              # check for existing connection
              if not self._gce:
                  version = pkg_resources.get_distribution("elasticluster").version
                  http = googleapiclient.http.set_user_agent(httplib2.Http(), "elasticluster/%s" % version)
                  credentials = self._get_credentials()
                  self._auth_http = credentials.authorize(http)
  
                  self._gce = build(GCE_API_NAME, GCE_API_VERSION, http=http)
  
          return self._gce
docs: Connects to the cloud web services. If this is the first
          authentication, a web browser will be started to authenticate
          against google and provide access to elasticluster.
  
          :return: A Resource object with methods for interacting with the
                   service.