uaa/uaa.go
func (m *DefaultUAAManager) CreateExternalUser(userName, userEmail, externalID, origin string) (string, error) {
	if userName == "" || userEmail == "" || externalID == "" {
		return "", fmt.Errorf("skipping user as missing name[%s], email[%s] or externalID[%s]", userName, userEmail, externalID)
	}
	if m.Peek {
		lo.G.Infof("[dry-run]: successfully added user [%s]", userName)
		return fmt.Sprintf("dry-run-%s-%s-guid", userName, origin), nil
	}

	createdUser, err := m.Client.CreateUser(uaaclient.User{
		Username:   userName,
		ExternalID: externalID,
		Origin:     origin,
		Emails: []uaaclient.Email{
			uaaclient.Email{
				Value: userEmail,
			},
		},
	})
	if err != nil {
		return "", err
	}
	lo.G.Infof("successfully added user [%s]", userName)
	return createdUser.ID, nil
}
func (m *DefaultUAAManager) CreateExternalUser(userName, userEmail, externalID, origin string) (string, error) {
	if userName == "" || userEmail == "" || externalID == "" {
		return "", fmt.Errorf("skipping user as missing name[%s], email[%s] or externalID[%s]", userName, userEmail, externalID)
	}
	if m.Peek {
		lo.G.Infof("[dry-run]: successfully added user [%s]", userName)
		return fmt.Sprintf("dry-run-%s-%s-guid", userName, origin), nil
	}

	createdUser, err := m.Client.CreateUser(uaaclient.User{
		Username:   userName,
		ExternalID: externalID,
		Origin:     origin,
		Emails: []uaaclient.Email{
			uaaclient.Email{
				Value: userEmail,
			},
		},
	})
	if err != nil {
		return "", err
	}
	lo.G.Infof("successfully added user [%s]", userName)
	return createdUser.ID, nil
}
//CreateExternalUser -