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)."""