# 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 ClassVar
from typing import NoReturn
from typing import Optional

from pyVmomi.VmomiSupport import Enum

from pyVmomi.vim import Task

from pyVmomi.vim.host import DirectoryStore

class ActiveDirectoryAuthentication(DirectoryStore):
   class CertificateDigest(Enum):
      SHA1: ClassVar['CertificateDigest'] = 'SHA1'

   def JoinDomain(self, domainName: str, userName: str, password: str) -> Task: ...
   def JoinDomainWithCAM(self, domainName: str, camServer: str) -> Task: ...
   def ImportCertificateForCAM(self, certPath: str, camServer: str) -> Task: ...
   def LeaveCurrentDomain(self, force: bool) -> Task: ...
   def EnableSmartCardAuthentication(self) -> NoReturn: ...
   def InstallSmartCardTrustAnchor(self, cert: str) -> NoReturn: ...
   def ReplaceSmartCardTrustAnchors(self, certs: list[str]) -> NoReturn: ...
   def RemoveSmartCardTrustAnchor(self, issuer: str, serial: str) -> NoReturn: ...
   def RemoveSmartCardTrustAnchorByFingerprint(self, fingerprint: str, digest: str) -> NoReturn: ...
   def RemoveSmartCardTrustAnchorCertificate(self, certificate: str) -> NoReturn: ...
   def ListSmartCardTrustAnchors(self) -> list[str]: ...
   def DisableSmartCardAuthentication(self) -> NoReturn: ...
