private computeModuleEffectiveConfig()

in packages/cli/lib/mdaa-cli.ts [815:843]


  private computeModuleEffectiveConfig(
    mdaaModuleName: string,
    mdaaModule: MdaaModuleConfig,
    envEffectiveConfig: EnvEffectiveConfig,
  ): ModuleEffectiveConfig {
    const modulePath = mdaaModule.module_path ? mdaaModule.module_path : mdaaModule.cdk_app; //NOSONAR
    if (!modulePath) {
      throw new Error('One of cdp_app or module_path must be defined');
    }
    return {
      ...envEffectiveConfig,
      moduleName: mdaaModuleName,
      useBootstrap:
        envEffectiveConfig.useBootstrap && (mdaaModule.use_bootstrap == undefined || mdaaModule.use_bootstrap),
      moduleConfigFiles: [...(mdaaModule.app_configs || []), ...(mdaaModule.module_configs || [])], //NOSONAR
      effectiveModuleConfig: { ...(mdaaModule.app_config_data || {}), ...(mdaaModule.module_config_data || {}) }, //NOSONAR
      moduleType: mdaaModule.module_type ?? 'cdk',
      modulePath: modulePath,
      additionalAccounts: mdaaModule.additional_accounts,
      mdaaCompliant: mdaaModule.mdaa_compliant,
      effectiveContext: this.computeEffectiveContext(envEffectiveConfig, mdaaModule.context),
      effectiveTagConfig: this.computeEffectiveTagConfig(envEffectiveConfig, mdaaModule.tag_config_data),
      effectiveMdaaVersion: this.computeEffectiveMdaaVersion(envEffectiveConfig, mdaaModule.mdaa_version),
      tagConfigFiles: this.computeEffectiveTagConfigFiles(envEffectiveConfig, mdaaModule.tag_configs),
      customAspects: this.computeEffectiveCustomAspects(envEffectiveConfig, mdaaModule.custom_aspects),
      customNaming: this.computeEffectiveCustomNaming(envEffectiveConfig, mdaaModule.custom_naming),
      terraform: this.computeEffectiveTerraformConfig(envEffectiveConfig, mdaaModule.terraform),
    };
  }