def set_default_field()

in scripts/generators/beats.py [0:0]


def set_default_field(fields, df_allowlist, df=False, path=''):
    for fld in fields:
        fld_df = fld.get('default_field', df)
        fld_path = fld['name']
        if path != '' and not fld.get('root', False):
            fld_path = path + '.' + fld_path
        fld_type = fld.get('type', 'keyword')
        expected = fld_path in df_allowlist or (fld_path == fld['name'] and fld_type == 'group')
        if fld_df != expected:
            ecs_helpers.ordered_dict_insert(fld, 'default_field', expected, before_key='fields')
        if fld_type == 'group':
            set_default_field(fld['fields'], df_allowlist, df=expected, path=fld_path)
        elif 'multi_fields' in fld:
            set_default_field(fld['multi_fields'], df_allowlist, df=expected, path=fld_path)