d. User Inputs: comprises values input from the user during task execution. Place Holders Network $InventoryInput$ Inventory Network $NEInput$ Element Users $UserInput$ Task Template Types of Data Input Figure 11.8 Types of input to a task template. OSS for Telecom Networks The input type is chosen depending on the requirements of the particular situ- ation. For example, to achieve an automated environment, it would not make sense to require user input. "Data source" forms the repository that supplies data to a task template. The data source defines the nature of input given to the template, inventory input, NE input or user input. The class DataSourceGenerator provides methods which can be used to create the data source. The setDataSourceName and setDescription methods set the name of the data source and description. The setAssociatedTasks method sets the tasks asso- ciated with the data source. Only the tasks specified using this method can use the data source. Once the details regarding the data source are specified, the various types of input must be added - inventory input, NE input or user input - and each type has its own method. After specifying the details, the data source XML must be created and stored. Once the template and associated data source are created, the template is associ- ated with the data source and the set of devices over which it must be executed. This enables the template to take the values from the data source and configure the devices. Once the data source is associated with the task template, the task can be executed. Template-based configuration allows task reuse. A data source can be defined which will hold the values for the attributes and supply them to the template. Once a template is populated with the values provided by the data source, it is used to con- figure the devices in the network. Flexibility is provided to modify the values passed from the data source to the template before it is filled. The InventoryHandler API is used to manage the inven- tory input to the template