Perform product services is executed as a sub-process to perform product install services. It is only ever called from other steps, never from the UI. The purpose of this step is to simplify the overall design by allowing previous steps to determine what services are required, and then for this step to perform the services and perform the required credential switching.
The step is passed the following parameters:
|services||A string that list the required services. The format of this string is as created by the product service calculator. This contains everything that is required to perform the services, except for the product keys.|
|servicesHash||A hash that can only be calculated by the account authority which ensures that the services were generated by the account authority. This prevents rogue processes from using this to get the account authority to do things they should not.|
The step is passed in the services parameter a string that lists the required services.
Some changes are made to the service calls. The nodeVersionReferenceInstance value of the CreateInstance service is stored, and passed to the subsequent call of RegisterInstance if this does not have a nodeVersionReferenceInstance parameter. The permitted services and how they are handled are listed below.
|CreateInstance||Account holder||Output nodeVersionReferenceInstance saved|
|RegisterInstance||Account authority||If not already set, the nodeVersionReferenceInstance parameter is set to the most recent return from CreateInstance.|
The list of services must be created previously by the account authority. The field servicesHash contains a hash of the services that can only be created by the account authority, and thus "signs" that the services were previously created by them.
The step returns in nodeVersionReferenceInstance the reference from the last CreateInstance call.
Member Type List