77from generators import ecs_helpers
88
99
10- ### Composable Template
10+ # Composable Template
1111
1212def generate (ecs_nested , ecs_version , out_dir , template_settings_file , mapping_settings_file ):
13+ """This generates all artifacts for the composable template approach"""
1314 all_component_templates (ecs_nested , ecs_version , out_dir )
1415
15- # Main template
1616
17- # Component templates
17+ def composable_template (ecs_version , out_dir , template_settings_file , mapping_settings_file ):
18+ """Generate the master sample composable template"""
19+
1820
1921def all_component_templates (ecs_nested , ecs_version , out_dir ):
22+ """Generate one component template per field set"""
2023 component_dir = join (out_dir , 'elasticsearch/component' )
2124 ecs_helpers .make_dirs (component_dir )
2225
@@ -35,10 +38,11 @@ def component_template(template_name, ecs_version, out_dir, field_mappings):
3538 template = { 'template' : { 'mappings' : { 'properties' : field_mappings }}}
3639 save_json (filename , template )
3740
38- ### Legacy template
41+ # Legacy template
3942
4043
4144def generate_legacy (ecs_flat , ecs_version , out_dir , template_settings_file , mapping_settings_file ):
45+ """Generate the legacy index template"""
4246 field_mappings = {}
4347 for flat_name in sorted (ecs_flat ):
4448 field = ecs_flat [flat_name ]
@@ -53,10 +57,27 @@ def generate_legacy(ecs_flat, ecs_version, out_dir, template_settings_file, mapp
5357
5458 mappings_section ['properties' ] = field_mappings
5559
56- generate_template_version (6 , mappings_section , out_dir , template_settings_file )
57- generate_template_version (7 , mappings_section , out_dir , template_settings_file )
60+ generate_legacy_template_version (6 , mappings_section , out_dir , template_settings_file )
61+ generate_legacy_template_version (7 , mappings_section , out_dir , template_settings_file )
62+
63+
64+ def generate_legacy_template_version (elasticsearch_version , mappings_section , out_dir , template_settings_file ):
65+ ecs_helpers .make_dirs (join (out_dir , 'elasticsearch' , str (elasticsearch_version )))
66+ if template_settings_file :
67+ with open (template_settings_file ) as f :
68+ template = json .load (f )
69+ else :
70+ template = default_template_settings ()
71+ if elasticsearch_version == 6 :
72+ template ['mappings' ] = {'_doc' : mappings_section }
73+ else :
74+ template ['mappings' ] = mappings_section
75+
76+ filename = join (out_dir , "elasticsearch/{}/template.json" .format (elasticsearch_version ))
77+ save_json (filename , template )
78+
5879
59- ### Field mappings
80+ # Common helpers
6081
6182
6283def dict_add_nested (dct , name_parts , value ):
@@ -117,22 +138,6 @@ def entry_for(field):
117138# Generated files
118139
119140
120- def generate_template_version (elasticsearch_version , mappings_section , out_dir , template_settings_file ):
121- ecs_helpers .make_dirs (join (out_dir , 'elasticsearch' , str (elasticsearch_version )))
122- if template_settings_file :
123- with open (template_settings_file ) as f :
124- template = json .load (f )
125- else :
126- template = default_template_settings ()
127- if elasticsearch_version == 6 :
128- template ['mappings' ] = {'_doc' : mappings_section }
129- else :
130- template ['mappings' ] = mappings_section
131-
132- filename = join (out_dir , "elasticsearch/{}/template.json" .format (elasticsearch_version ))
133- save_json (filename , template )
134-
135-
136141def save_json (file , data ):
137142 open_mode = "wb"
138143 if sys .version_info >= (3 , 0 ):
0 commit comments