def _update_source_entity()

in source/lambda/quicksight-custom-resources/util/source_entity.py [0:0]


    def _update_source_entity(self, obj):
        """Update DataSetArn values in SourceEntity"""
        # TODO:ERROR_HANDLING: assert, handle, raise, passthrough
        source_object = obj.get(self.source_entity_type, None)
        assert source_object
        logger.debug(f"Initial value of sourceEntity.sourceTemplate.arn: {source_object['Arn']}")
        source_object["Arn"] = self.source_obj_arn
        logger.debug(f"Updated value of sourceEntity.sourceTemplate.arn: {source_object['Arn']}")
        data_set_references = source_object.get("DataSetReferences", None)
        assert source_object

        for ds_ref in data_set_references:
            dsr_placeholder = ds_ref.get("DataSetPlaceholder", None)
            dsr_arn = ds_ref.get("DataSetArn", None)
            logger.debug(
                f"Initial value of DataSetReferences, " f"DataSetPlaceholder: {dsr_placeholder}, DataSetArn: {dsr_arn}"
            )
            data_set = self.data_sets.get(dsr_placeholder, None)
            assert data_set
            ds_ref["DataSetArn"] = data_set.arn
            logger.debug(
                f"Updated value of DataSetReferences, "
                f"DataSetPlaceholder: {ds_ref['DataSetPlaceholder']}, DataSetArn: {ds_ref['DataSetArn']}"
            )