AWS solutions documentation change
Summary
Added a new troubleshooting section for 'CLI and Configuration Errors' related to duplicate account-level modules during deployment.
Security assessment
This adds documentation for a deployment configuration error (DuplicateAccountLevelModulesException). It explains how to resolve duplicate module conflicts. There is no mention of security vulnerabilities, exploits, or security features.
Diff
diff --git a/solutions/latest/modern-data-architecture-accelerator/troubleshooting.md b/solutions/latest/modern-data-architecture-accelerator/troubleshooting.md index e5cf24dad..30bfa545d 100644 --- a//solutions/latest/modern-data-architecture-accelerator/troubleshooting.md +++ b//solutions/latest/modern-data-architecture-accelerator/troubleshooting.md @@ -201,0 +202,31 @@ Error Message: +### CLI and Configuration Errors + +**Issue:** MDAA fails during synth or deploy with error: + + + DuplicateAccountLevelModulesException { + duplicates: [ [ 'default/default', 'qs-account' ] ], + message: 'Found account-level modules that will be deployed more than once' + } + +**Reason:** Certain MDAA modules (such as `qs-account`, `data-catalog`) are designated as "account-level modules" - they should only be deployed once per AWS account/region combination. This error occurs when the same account-level module is configured in multiple environments that target the same AWS account. + +**Resolution:** + + 1. Review your `mdaa.yaml` to identify which environments share the same AWS account + + 2. Ensure account-level modules only appear once per account/region: + + * Define the module in only ONE environment per account, OR + + * Use different AWS accounts for different domains/environments + + 3. If you need the same functionality in multiple environments on the same account, the module only needs to be deployed once - other environments can reference the shared resources + + + + +**Important Note:** + +The `-e` (environment) and `-d` (domain) CLI flags do NOT bypass this validation. MDAA validates the entire configuration file for consistency before any synthesis or deployment begins, regardless of which subset you intend to deploy. This is by design to prevent configuration conflicts. +