API Modules

This page is rendered directly from the module’s Python source using Sphinx autodoc.

dxaws_website.manager

class dxaws_website.manager.ApplyOptions(*, emit_events: bool = True)[source]

Bases: object

Options controlling a single executor apply run.

emit_events: bool
class dxaws_website.manager.ExecuteOptions(*, apply_options: ApplyOptions | None = None, emit_events: bool = True)[source]

Bases: object

Options for execute() (plan + apply).

apply_options: ApplyOptions | None
emit_events: bool
class dxaws_website.manager.WebsiteManager(*, runtime: ExecutionRuntime, o11y: O11y = <factory>)[source]

Bases: object

Thin orchestration surface for dxaws-website.

The manager owns the public website API. Planner decides what to do, executor follows the plan, and adapters are the only boundary to primitive modules.

apply(plan: WebsitePlan, *, options: ApplyOptions | None = None) WebsiteOutputs[source]
execute(desired: WebsiteDesired, *, options: ExecuteOptions | None = None) WebsiteResult[source]
get_component_statuses(desired: WebsiteDesired) dict[str, Any][source]

Collect normalized website-layer status from the execution runtime.

Manager should not know which adapters exist or how their status is gathered. That is an execution/runtime concern.

get_current(desired: WebsiteDesired) WebsiteCurrent[source]

Get current website state from the execution runtime.

Manager should not assemble component state itself. Runtime/executor-side code owns the adapter interactions needed to produce website current state.

o11y: O11y
plan(desired: WebsiteDesired, current: WebsiteCurrent | None = None) WebsitePlan[source]
runtime: ExecutionRuntime

dxaws_website.models

class dxaws_website.models.WebsiteCurrent(bucket_name: 'str | None' = None, certificate_arn: 'str | None' = None, certificate_status: 'str | None' = None, distribution_id: 'str | None' = None, distribution_status: 'str | None' = None, dns_records_ready: 'bool | None' = None)[source]

Bases: object

bucket_name: str | None
certificate_arn: str | None
certificate_status: str | None
distribution_id: str | None
distribution_status: str | None
dns_records_ready: bool | None
class dxaws_website.models.WebsiteDesired(url: 'str', origin_region: 'str | None' = None, origin_domain_name: 'str | None' = None, bucket_name: 'str | None' = None, certificate_region: 'str' = 'us-east-1', zone_name: 'str | None' = None, hosted_zone_id: 'str | None' = None, aliases: 'tuple[str, ...]' = (), tags: 'dict[str, str] | None' = None)[source]

Bases: object

aliases: tuple[str, ...]
all_aliases() tuple[str, ...][source]
bucket_name: str | None
certificate_region: str
hosted_zone_id: str | None
origin_domain_name: str | None
origin_region: str | None
primary_hostname() str[source]
tags: dict[str, str] | None
url: str
zone_name: str | None
class dxaws_website.models.WebsiteOutputs(bucket_name: 'str | None' = None, bucket_arn: 'str | None' = None, certificate_arn: 'str | None' = None, distribution_id: 'str | None' = None, distribution_arn: 'str | None' = None, distribution_domain: 'str | None' = None, distribution_hosted_zone_id: 'str | None' = None, dns_record_fqdns: 'tuple[str, ...]' = (), origin_domain_name: 'str | None' = None)[source]

Bases: object

bucket_arn: str | None
bucket_name: str | None
certificate_arn: str | None
distribution_arn: str | None
distribution_domain: str | None
distribution_hosted_zone_id: str | None
distribution_id: str | None
dns_record_fqdns: tuple[str, ...]
origin_domain_name: str | None
class dxaws_website.models.WebsitePlan(desired: 'WebsiteDesired', action: 'PlanAction', reason: 'str | None' = None, steps: 'tuple[str, ...]' = ())[source]

Bases: object

action: Literal['noop', 'create', 'update', 'wait']
desired: WebsiteDesired
reason: str | None
steps: tuple[str, ...]
class dxaws_website.models.WebsiteResult(desired: 'WebsiteDesired', current: 'WebsiteCurrent', plan: 'WebsitePlan', outputs: 'WebsiteOutputs | None', outcome: 'str')[source]

Bases: object

current: WebsiteCurrent
desired: WebsiteDesired
outcome: str
outputs: WebsiteOutputs | None
plan: WebsitePlan

dxaws_website.constants

dxaws_website.exceptions

Module-specific exceptions.

Keep exceptions stable once published. Callers may rely on these names for control flow and error handling.

exception dxaws_website.exceptions.ApplyError(message: str, *, stage: str | None = None, action: str | None = None)[source]

Bases: DxAwsError

Raised when plan application fails.

exception dxaws_website.exceptions.DxAwsError[source]

Bases: Exception

Base error for dxaws-website.

dxaws_website.exceptions.DxAwsWebsiteError

alias of DxAwsError

exception dxaws_website.exceptions.PlanError[source]

Bases: DxAwsError

Raised when planning fails (e.g., inconsistent current state or diffing failure).

exception dxaws_website.exceptions.ProviderError[source]

Bases: DxAwsError

Raised when the provider encounters an unexpected or unrecoverable error.

exception dxaws_website.exceptions.ValidationError[source]

Bases: DxAwsError

Raised when caller-provided desired state or arguments are invalid.

dxaws_website.exceptions.WebsiteApplyError

alias of ApplyError

dxaws_website.exceptions.WebsitePlanError

alias of PlanError

dxaws_website.providers.base

dxaws_website.providers.stub