def _generate_configs_data()

in backend/bms_app/services/ansible/wave.py [0:0]


    def _generate_configs_data(self):
        """Generate all needed ansible configuration data."""
        provision_inventory_hosts = {}  # hosts by host-provision inventory
        main_inventory_hosts = {}  # hosts used by all other playbooks
        asm_js_configs = {}  # asm json config per host
        data_js_mounts_configs = {}  # data_mounts json config per host

        for db_map_dto in self.db_mappings_objects:
            config = db_map_dto.db.config
            mappings = db_map_dto.mappings

            # generate main inventory hosts
            main_inventory_hosts.update(
                self._generate_main_inventory_hosts(db_map_dto)
            )

            # generate other configs and provision inventory hosts
            for mapping in mappings:
                bms = mapping.bms

                provision_inventory_hosts.update(
                    self._generate_single_inventory_host(bms)
                )

                asm_js_configs[bms.name] = config.asm_config_values
                data_js_mounts_configs[bms.name] = config.data_mounts_values

        main_inventory_data = self._generate_inventory_file_data(
            main_inventory_hosts
        )
        provision_inventory_data = self._generate_inventory_file_data(
            provision_inventory_hosts
        )

        return (
            main_inventory_data,
            provision_inventory_data,
            asm_js_configs,
            data_js_mounts_configs
        )