code: func (ds *Datastore) CreateDirectory(ctx context.Context, directoryPath string, createParents bool) error {
  	fileManager := object.NewFileManager(ds.Client())
  	err := fileManager.MakeDirectory(ctx, directoryPath, ds.Datacenter.Datacenter, createParents)
  	if err != nil {
  		if soap.IsSoapFault(err) {
  			soapFault := soap.ToSoapFault(err)
  			if _, ok := soapFault.VimFault().(types.FileAlreadyExists); ok {
  				return ErrFileAlreadyExist
  			}
  		}
  		return err
  	}
  	klog.V(LogLevel).Infof("Created dir with path as %+q", directoryPath)
  	return nil
  }
docs: // CreateDirectory creates the directory at location specified by directoryPath.
  // If the intermediate level folders do not exist, and the parameter createParents is true, all the non-existent folders are created.
  // directoryPath must be in the format "[vsanDatastore] kubevols"