recon_gen.common.deploy

Deploy generated QuickSight JSON to AWS — delete-then-create semantics.

Python port of the original deploy.sh. Uses boto3 directly with a tight poll loop for the async CREATE_ANALYSIS / CREATE_DASHBOARD workflows. Deletes any existing resource for each ID before creating a new one so schema drift never causes update-parameter mismatches.

Functions

deploy(cfg, out_dir, app_names)

Deploy one or more apps from out_dir.

Classes

AppFiles(name, analysis_path, dashboard_path)

Paths to the analysis/dashboard JSON for a single app.

class recon_gen.common.deploy.AppFiles(name, analysis_path, dashboard_path)[source]

Bases: object

Paths to the analysis/dashboard JSON for a single app.

Parameters:
  • name (str)

  • analysis_path (Path)

  • dashboard_path (Path)

analysis_path: Path
dashboard_path: Path
name: str
recon_gen.common.deploy.deploy(cfg, out_dir, app_names)[source]

Deploy one or more apps from out_dir. Returns 0 on success.

app_names is a list of kebab-case app keys (e.g. ["payment-recon"]) that maps to {app}-analysis.json / {app}-dashboard.json. Theme / datasets / datasource are shared across apps and deployed from whatever is present in out_dir.

Return type:

int

Parameters:
  • cfg (Config)

  • out_dir (Path)

  • app_names (list[str])