forked from vmware/govmomi
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Finder: support automatic Folder recursion (vmware#663)
Prior to this change, the Finder behaved like the 'ls' command and as such required a Folder name or wildcard in the path argument to find resources within folders. The original "list" mode of the Finder is maintained, but will now switch to "find" mode if the path argument does not contain a "/". See find/doc.go for details. The public Finder method signatures remain the same, with the exception of ManagedObjectListChildren which now takes an optional (variadic) list of types. No new public methods or types have been added. The 'list.Recurser' type is no longer exported and has moved to an unexported type within the find package. This part of the change assumes that 'list.Recurser' was not used directly outside of the govmomi repo. The tests depend on the Go based vCenter simulator, which currently lives in the vmware/vic repo, but will be moving to the govmomi repo at some point. Fixes vmware#190 Fixes vmware#519 Fixes vmware#540 Closes vmware#507 Closes vmware#593
- Loading branch information
Showing
12 changed files
with
427 additions
and
178 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/* | ||
Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
/* | ||
Package find implements inventory listing and searching. | ||
The Finder is an alternative to the object.SearchIndex FindByInventoryPath() and FindChild() methods. | ||
SearchIndex.FindByInventoryPath requires an absolute path, whereas the Finder also supports relative paths | ||
and patterns via filepath.Match. | ||
SearchIndex.FindChild requires a parent to find the child, whereas the Finder also supports an ancestor via | ||
recursive object traversal. | ||
The various Finder methods accept a "path" argument, which can absolute or relative to the Folder for the object type. | ||
The Finder supports two modes, "list" and "find". The "list" mode behaves like the "ls" command, only searching within | ||
the immediate path. The "find" mode behaves like the "find" command, with the search starting at the immediate path but | ||
also recursing into sub Folders relative to the Datacenter. The default mode is "list" if the given path contains a "/", | ||
otherwise "find" mode is used. | ||
See also: https://github.com/vmware/govmomi/blob/master/govc/README.md#usage | ||
*/ | ||
package find |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.