# Copyright (c) 2006-2025 Broadcom. All Rights Reserved.
# Broadcom Confidential. The term "Broadcom" refers to Broadcom Inc.
# and/or its subsidiaries.

# ******* WARNING - AUTO GENERATED CODE - DO NOT EDIT *******

from typing import Optional

from pyVmomi.VmomiSupport import ManagedObject

from pyVmomi.vim import Datacenter
from pyVmomi.vim import ManagedEntity
from pyVmomi.vim import VirtualMachine

class SearchIndex(ManagedObject):
   def FindByUuid(self, datacenter: Optional[Datacenter], uuid: str, vmSearch: bool, instanceUuid: Optional[bool]) -> Optional[ManagedEntity]: ...
   def FindByDatastorePath(self, datacenter: Datacenter, path: str) -> Optional[VirtualMachine]: ...
   def FindByDnsName(self, datacenter: Optional[Datacenter], dnsName: str, vmSearch: bool) -> Optional[ManagedEntity]: ...
   def FindByIp(self, datacenter: Optional[Datacenter], ip: str, vmSearch: bool) -> Optional[ManagedEntity]: ...
   def FindByInventoryPath(self, inventoryPath: str) -> Optional[ManagedEntity]: ...
   def FindChild(self, entity: ManagedEntity, name: str) -> Optional[ManagedEntity]: ...
   def FindAllByUuid(self, datacenter: Optional[Datacenter], uuid: str, vmSearch: bool, instanceUuid: Optional[bool]) -> list[ManagedEntity]: ...
   def FindAllByDnsName(self, datacenter: Optional[Datacenter], dnsName: str, vmSearch: bool) -> list[ManagedEntity]: ...
   def FindAllByIp(self, datacenter: Optional[Datacenter], ip: str, vmSearch: bool) -> list[ManagedEntity]: ...
