def create_source_import(self, vcs, vcs_url, vcs_username=github.GithubObject.NotSet, vcs_password=github.GithubObject.NotSet):
        """
        :calls: `PUT /repos/:owner/:repo/import <https://developer.github.com/v3/migration/source_imports/#start-an-import>`_
        :param vcs: string
        :param vcs_url: string
        :param vcs_username: string
        :param vcs_password: string
        :rtype: :class:`github.SourceImport.SourceImport`
        """
        assert isinstance(vcs, (str, unicode)), vcs
        assert isinstance(vcs_url, (str, unicode)), vcs_url
        assert vcs_username is github.GithubObject.NotSet or isinstance(vcs_username, (str, unicode)), vcs_username
        assert vcs_password is github.GithubObject.NotSet or isinstance(vcs_password, (str, unicode)), vcs_password
        put_parameters = {
            "vcs": vcs,
            "vcs_url": vcs_url
        }

        if vcs_username is not github.GithubObject.NotSet:
            put_parameters["vcs_username"] = vcs_username

        if vcs_password is not github.GithubObject.NotSet:
            put_parameters["vcs_password"] = vcs_password

        import_header = {"Accept": Consts.mediaTypeImportPreview}

        headers, data = self._requester.requestJsonAndCheck(
            "PUT",
            self.url + "/import",
            headers=import_header,
            input=put_parameters
        )

        return github.SourceImport.SourceImport(self._requester, headers, data, completed=False)
def create_source_import ( self , vcs , vcs_url , vcs_username = github . GithubObject . NotSet , vcs_password = github . GithubObject . NotSet ) : assert isinstance ( vcs , ( str , unicode ) ) , vcs assert isinstance ( vcs_url , ( str , unicode ) ) , vcs_url assert vcs_username is github . GithubObject . NotSet or isinstance ( vcs_username , ( str , unicode ) ) , vcs_username assert vcs_password is github . GithubObject . NotSet or isinstance ( vcs_password , ( str , unicode ) ) , vcs_password put_parameters = { "vcs" : vcs , "vcs_url" : vcs_url } if vcs_username is not github . GithubObject . NotSet : put_parameters [ "vcs_username" ] = vcs_username if vcs_password is not github . GithubObject . NotSet : put_parameters [ "vcs_password" ] = vcs_password import_header = { "Accept" : Consts . mediaTypeImportPreview } headers , data = self . _requester . requestJsonAndCheck ( "PUT" , self . url + "/import" , headers = import_header , input = put_parameters ) return github . SourceImport . SourceImport ( self . _requester , headers , data , completed = False )
:calls: `PUT /repos/:owner/:repo/import <https://developer.github.com/v3/migration/source_imports/#start-an-import>`_
        :param vcs: string
        :param vcs_url: string
        :param vcs_username: string
        :param vcs_password: string
        :rtype: :class:`github.SourceImport.SourceImport`