1/*
2Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8    http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17/*
18Package find implements inventory listing and searching.
19
20The Finder is an alternative to the object.SearchIndex FindByInventoryPath() and FindChild() methods.
21SearchIndex.FindByInventoryPath requires an absolute path, whereas the Finder also supports relative paths
22and patterns via path.Match.
23SearchIndex.FindChild requires a parent to find the child, whereas the Finder also supports an ancestor via
24recursive object traversal.
25
26The various Finder methods accept a "path" argument, which can absolute or relative to the Folder for the object type.
27The Finder supports two modes, "list" and "find".  The "list" mode behaves like the "ls" command, only searching within
28the immediate path.  The "find" mode behaves like the "find" command, with the search starting at the immediate path but
29also recursing into sub Folders relative to the Datacenter.  The default mode is "list" if the given path contains a "/",
30otherwise "find" mode is used.
31
32The exception is to use a "..." wildcard with a path to find all objects recursively underneath any root object.
33For example: VirtualMachineList("/DC1/...")
34
35See also: https://github.com/vmware/govmomi/blob/master/govc/README.md#usage
36*/
37package find
38