Source code for dxaws_acm.providers.base

from __future__ import annotations

from typing import Optional, Protocol

from .aws import CertificateInfo, CertificateSummary, ValidationRecord


[docs] class ProviderBase(Protocol): """Provider interface for dxaws-acm. Keep this small and stable; manager/planner logic relies on it for tests. """
[docs] def list_certificates( self, *, statuses: Optional[list[str]] = None, include_status: bool = False, ) -> list[CertificateSummary]: ...
[docs] def describe_certificate(self, *, certificate_arn: str) -> CertificateInfo: ...
[docs] def request_dns_validated_certificate( self, *, primary_domain: str, sans: list[str], tags: dict[str, str], ) -> str: ...
[docs] def get_dns_validation_records(self, *, certificate_arn: str) -> list[ValidationRecord]: """Return validation records for a certificate ARN."""
[docs] def delete_certificate(self, *, certificate_arn: str) -> None: """Delete a certificate by ARN (used by acceptance cleanup)."""