code: 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
  }
docs: //CreateExternalUser -