Service Management API has been designed by having in mind that provisioning actions are based on the resources that need to be set each time to 3rd party system.
Resources and the amount of them that need to be set for provisioning, are extracted from subscriptions and addon characteristics.
Also, these resources are supposed to be enforced to 3rd party system and not to be increased/decreased separately in order always to have alignment between the interworks.cloud platform and 3rd party system.
All these characteristics are provided to all related Service Manager API calls (Subscription Create, Subscription Update, Addon Create, Addon Update, Addon Cancel), every time a provisioning action is triggered by the interworks.cloud platform.
The way these characteristics should be used is up to the Service Manager API implementation that tries to translate the characteristics from subscription and addons to measured resources for the 3rd party system.
A boolean characteristic allows us to enable a feature or not. This characteristic could be enabled directly to a subscription or could be enabled later through an addon purchase.
In order to decide whether a resource should be on or off, Service Manager API implementation should check the AttributeList on both subscription and addons in order to decide whether a feature is enabled or disabled for the 3rd party system.
For example, the following details should set the "Extra Feature" resource as enabled for provisioning to 3rd party system because the Addons-collection contains an Addon that has "Extra Feature" attribute with Value: "1".
Numeric characteristics allow us to determine the amount of a resource. The amount of a resource for this kind of characteristics is determined by summarizing the amount of resources delivered by the subscription and all the related addons.
In order to decide the total amount of a resource to be provisioned, Service Manager API implementation should check the AttributeList on both subscription and addons and summarize the amount of resources provided by each one.
Quantity Linked characteristics should also be considered here. A characteristic that is "QuantityLinked=true" should be multiplied by the subscriptions/addon quantity prior to summarizing with the rest resources of a subscription.
For example, let us assume that the input for Addon Create endpoint has the following details: