def get_compaction_options(model):
if not model.__compaction__:<EOL><INDENT>return {}<EOL><DEDENT>result = {'<STR_LIT:class>':model.__compaction__}<EOL>def setter(key, limited_to_strategy = None):<EOL><INDENT>"""<STR_LIT>"""<EOL>mkey = "<STR_LIT>".format(key)<EOL>tmp = getattr(model, mkey)<EOL>if tmp and limited_to_strategy and limited_to_strategy != model.__compaction__:<EOL><INDENT>raise CQLEngineException("<STR_LIT>".format(key, limited_to_strategy))<EOL><DEDENT>if tmp:<EOL><INDENT>result[key] = str(tmp)<EOL><DEDENT><DEDENT>setter('<STR_LIT>')<EOL>setter('<STR_LIT>')<EOL>setter('<STR_LIT>', SizeTieredCompactionStrategy)<EOL>setter('<STR_LIT>', SizeTieredCompactionStrategy)<EOL>setter('<STR_LIT>', SizeTieredCompactionStrategy)<EOL>setter('<STR_LIT>', SizeTieredCompactionStrategy)<EOL>setter('<STR_LIT>', SizeTieredCompactionStrategy)<EOL>setter('<STR_LIT>', LeveledCompactionStrategy)<EOL>return result<EOL>
Generates dictionary (later converted to a string) for creating and altering
tables with compaction strategy

:param model:
:return: