Service Catalogs comprise of atomic and composite items. During modeling the Service Designer builds these items with the appropriate dialogs and entry points for the state machines.
During deployment of a service the end user might want only specific catalog items from a bundle based on their selections. The Service designer can factor the dynamic nature of the selection process into the model.
The link below has more details on the above use case along with a workaround
Service Item Selection
Allow for a call into Automate Engine to decide if a service item should be included during deployment. When we encounter a service item during provisioning before we create a task for it, we call Automate to run a method defined in /Service/Provisioning/Profile/<> instance to check if the service item should be included.
The Automate Method gets passed in
- The Service Item $evm.root[‘service_template’]
- The Provision Task $evm.root[‘service_template_provision_task’]
- The Parent Service Object $evm.root[‘service’]
If it wants the Service item to be included the method should set the include_service attribute in the root object as true else it should set it to false.
$evm.root[‘include_service’] = true
If it wants the service to be excluded it should set it to false
$evm.root[‘include_service’] = false