# # Web Server Package Snapon # # This snapon adds snapons appropirate to a web server # web_server_package = { label = "$lang_admin.snapons.web_server_package.label" comment = "$lang_admin.snapons.web_server_package.comment" config_snapon_category = "" parameters = { user_agent_field = { parameter_value = "user_agent" validation_type = "string" form_element_label = "$lang_admin.snapons.web_server_package.parameters.user_agent_field.form_element_label" form_element_type = "select" select_options_source = "log_fields" description = "" } # user_agent_field } # parameters parameters_form = { group_1 = { description = "$lang_admin.snapons.web_server_package.parameters_form.group_1.description" parameters = { user_agent_field = true } # parameters } # group 1 } # parameters_form attach_operations = { # Attach the device_type snapon add_device_type_snapon = { type = "add_snapons" snapons = { device_type = { snapon = "device_type" name = "device_type" label = "$lang_admin.snapons.device_type.label" parameters = { user_agent_field.parameter_value = "{= @parameters{'user_agent_field'}{'parameter_value'} =}" device_type_field_name = { parameter_value = "$lang_admin.field_labels.device_type" final_node_name = "device_type" } } # parameters # Don't attached this snapon if the user agent field doesn't exist add_in_snapon = `{= node profile = "profiles." . volatile.new_profile_name; bool log_field_exists = profile{"log"}{"fields"}?{ @parameters{'user_agent_field'}{'parameter_value'} }; log_field_exists; =}` } # device_type } # snapons } # add_device_type_snapon } # attach_operations } # web_server_package