Updates in this version are minor updates per recent contribution comments.
This document was generated on 2020-03-10 by "ONAP Model GenDoc Template" version 4.00
1 Introduction
This document contains the Word presentation of the model generated from the ONAP Eclipse Papyrus UML Information model using gendoc. This format is provided to assist the reader that does not use UML or has no access to UML tools.
2 Diagrams
2.1 Overview
Qualified Name: License::Diagrams
Description:
2.1.1 Diagrams
Figure 2‑1: Business Interaction Hierarchy (License Agreement Inheritance)
Figure 2‑2: Root Entity Hierarchy (Vendor Inheritance)
Figure 2‑3: Diagram License
Figure 2‑4: Diagram Rooting License
Figure 2‑5: Diagram Feature Groups
Figure 2‑6: Diagram License Datatypes
Figure 2‑7: Diagram License Keys
Figure 2‑8: Diagram Entitlements
3 ObjectClasses
3.1 Overview
Qualified Name: License::ObjectClasses
3.1.1 Classes
3.1.1.1 EntitlementPool class
Qualified Name: License::ObjectClasses::EntitlementPool
Description:
An EntitlementPool is created for each type of Entitlement that is required for the VNFs.
An EntitlementPool is not specific to a Feature Group. An Entitlement Pool may be related to multiple Feature Groups containing a VNF or even to multiple VNFs.
Purchased entitlements are inventoried in the Entitlement Pools.
Multiple pools for the same type of entitlement may be created based on the constraints.
An Entitlement Pool is created for each type of Entitlement that is required for the VNFs. Each Entitlement Pool is assigned a Name and Description for modeling purposes and is uniquely identified by a UUID. In addition, a list of characteristics of the Entitlement Pool are defined.
Note: The only fields being used in this class are Name and MRN (manufactureReferenceNumber. The rest are optional.
Note: StateDate and ExpiryDate are covered by the inherited validFor attribute.
Note: description is required according to the inherited attribute, but it presently is optional.
Note: description is required according to the inherited attribute, but it presently is optional.
Parent class: DesignEntity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Table 3‑2 Attributes for Package ObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
_spPoolLimit | PoolLimit | 0..* | Pool limits applied by the service provider | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
_vendorPoolLimit | PoolLimit | 0..* | Pool limits applied by the vendor. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
entitlementManufactureReferenceNumber | String | 0..1 | Reference number for the entitlement as described by the vendor in their price list / catalog /contract. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
entitlementPurchaseIncrements | Integer | 0..1 | This field contains information to tell a Designer how the entitlement must be purchased. For example, if the entitlement must be purchased in blocks of 1000, the increment would be 1000. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
entitlementPoolThresholdValue | Integer | 0..1 | A description of a threshold that will be assessed for some business purpose (e.g. 20% of entitlement pool remains available). (The threshold of interest to DCAE or Capacity Planning, etc.) This may be an absolute value or a percentage. For example: A description of a threshold that will be assessed for some business purpose (e.g. 20% of entitlement pool remains available). (The threshold of interest to DCAE or Capacity Planning, etc.) This may be an absolute value or a percentage. For example: | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
entitlementPoolThresholdUnits | ThresholdUnitType | 0..1 | Specifies the Units for the ThresholdValue. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
invariantId | Identifier | 1 | Identifier that stays the same irrespective of version. Identifier that stays the same irrespective of version. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
Version | String | 1 | The version of this entity. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
poolType | LicenseGroupType | 1 | The license key may be 'universal' or 'unique' or 'one-time'. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
validFor | TimePeriod | 0..1 | The period during which the design entity is valid. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
status | String | 1 | The condition of the specification, such s active, inactive, or planned. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object). | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
description | String | 1 | Defines a textual free-form description of the object. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
id | Identifier | 1 | Identifier of this information element. This attribute shall be globally unique. Unambiguously distinguishes different object instances. It is the naming attribute of the object. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
3.1.1.3 FeatureGroup class
Qualified Name: License::ObjectClasses::FeatureGroup
Description:
Feature groups represent a set of the VNFs. Feature groups may be defined by the vendor and/or by the service provider. VNFs may be related to multiple feature groups. At least one feature group will be related to a VNF. If no sub-sets are needed, a single feature group will be defined that represents the base or core capabilities of the VNF.
If an Entitlement Pool or License Key Group is associated with a particular Feature Group, the Feature Group becomes a "constraint" for the pool/group.
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Table 3‑3 Attributes for Package ObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
featureGroupName | String | 1 | Name of the feature group | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
featureGroupDescription | String | 0..1 | Description of the feature group. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
featureGroupPartNumber | String | 1 | The featureGroupPartNumber specifies the Vnf that this FeatureGroup is related to. The featureGroupPartNumber specifies the SKU or reference number that the Vendor has for the Vnf that this FeatureGroup is related to. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
3.1.1.4 LicenceKeyPool class
Qualified Name: License::ObjectClasses::LicenceKeyPool
Description:
A License Key Group is created for each type of License Key that is required for the VNF. Each License Key Group is assigned a Name and Description for modeling purposes and is uniquely identified by a UUID. In addition, a list of characteristics of the License Key Group are defined.
The license key group model provides a description to systems such as Asset Inventory for the license keys that are provided by a vendor. The Asset Inventory system will create a "group" and purchasing systems will send the inventory of license keys/files to be held by Asset Inventory in the appropriate group.
Controllers will request license keys from Asset Inventory using the UUID of the group, as directed by the SDC models for the VNFs.
A license key group is not specific to a feature group. A license key group may be related to multiple feature groups containing a VNF or even to multiple VNFs .
Parent class: DesignEntity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Table 3‑4 Attributes for Package ObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
_spPooLlimit | PoolLimit | 0..* | Pool limits applied by the service provider | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
_vendorPoollimit | PoolLimit | 0..* | Pool limits applied by the vendor. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
poolType | LicenseGroupType | 1 | The license key may be 'universal' or 'unique' or 'one-time'. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
thresholdUnits | ThresholdUnitType | 0..1 | Units can be either absolute or a percentage (%). | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
thresholdValue | Integer | 0..1 | Specified threshold value for the license key pool. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
keyPurchaseIncrements | String | 0..1 | Specifies how the key must be purchased. If in blocks of 1000, the increment would be 1000. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
invariantId | Identifier | 1 | Identifier that stays the same irrespective of version. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
Version | String | 1 | The version of this entity. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
licenseManufactureReferenceNumber | String | 1 | Identifier for the entitlement as described by the vendor in their price list / catalog /contract. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
validFor | TimePeriod | 0..1 | The period during which the design entity is valid. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
status | String | 1 | The condition of the specification, such s active, inactive, or planned. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object). | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
description | String | 1 | Defines a textual free-form description of the object. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
id | Identifier | 1 | Identifier of this information element. This attribute shall be globally unique. Unambiguously distinguishes different object instances. It is the naming attribute of the object. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
3.1.1.5 LicenseAgreement class
Qualified Name: License::ObjectClasses::LicenseAgreement
Description:
An agreement between the service provider and a given vendor granting the service provider to use the vendor's products. Generally the license agreement is specific to a family of vendor products and/or to some service provider's project/product or product family.
Parent class: Agreement
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Table 3‑5 Attributes for Package ObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
requirementsAndConstraints | String | 1..* | Free form text. Includes information such as operating system or hypervisor required for the software. This may also contain factors to be considered in deployment/placement of the software instances. These requirements and constraints may need to be abstracted as policies or other business rules. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
licenseTerm | LicenseTerm | 1 | Term of the license: | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
documentNumber | String | 1 | A reference number assigned to an Agreement that follows a prescribed numbering system. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
statementOfIntent | String | 1 | An overview and goals of the Agreement. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
StartDate | DateTime | 1 | Date interaction initiated | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
endDate | DateTime | 1 | The date on which an interaction is closed or completed. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
Status | String | 0..1 | The current condition of an interaction, such as open, in research, closed, and so forth | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
name | String | 0..1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object). | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
description | String | 0..1 | Defines a textual free-form description of the object. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
id | Identifier | 1 | Identifier of this information element. This attribute shall be globally unique. Unambiguously distinguishes different object instances. It is the naming attribute of the object. | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY Preliminary |
3.1.1.7 PoolLimit class
Qualified Name: License::ObjectClasses::PoolLimit
Description:
A variable set of values that identify the limits that may be imposed by an entitlement instance in the pool. Multiple constraints may be applicable for an instance of entitlement in the pool. For example, an entitlement based on GB and number of sessions. Increments, aggregation function, time scope, threshold value may repeat for each metric in the list.
Limits can be applied by the vendor or the service provider.
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Table 3‑7 Attributes for Package ObjectClasses
Attribute Name | Type | Mult. | Description | Stereotypes |
limitMetricType | EPMetricType | 1 | Specifies if this pool holds entitlements based on usage of the software (number of users), number of sessions, country, line of business, etc. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
limitMetricValue | Integer | 1 | The value of some limit being applied. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
aggregationFunction | AggregationTypes | 0..1 | Type of aggregation being performed (Peak or Average) | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
limitUnits | LimitUnits | 1 | The units of the limit (Trunks, Users, Subscribers, Sessions, tentants, Tokens, Seats, TB, GB, MB, ...) | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
time | DateTime | 0..1 | Units time is specified in (day, month, hour, minute, second, millisecond. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
poolMetricTypeOther | String | 0..1 | LimitMetricType if Other enumeration is selected. | Experimental OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
4 SequenceFlows
4.1 Overview
Qualified Name: License::SequenceFlows
4.1.1 Classes
4.1.1.1 License Setup class
Qualified Name: License::SequenceFlows::License Setup
Description:
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
Table 4‑1 Attributes for Package SequenceFlows
Attribute Name | Type | Mult. | Description | Stereotypes |
License Setup | 1 | OpenModelAttribute · partOfObjectKey: 0 · uniqueSet: · isInvariant: false · unsigned: false · counter: NA · support: MANDATORY |
4.1.1.2 SimpleOrderFlow class
Qualified Name: License::SequenceFlows::SimpleOrderFlow
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
5 TypeDefinitions
5.1 Overview
Qualified Name: License::TypeDefinitions
5.1.1 Datatypes
5.1.2 Enumerations
5.1.2.1 AggregationTypes enumeration
Qualified Name: License::TypeDefinitions::AggregationTypes
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- PEAK
- AVERAGE
5.1.2.2 EPMetricType enumeration
Qualified Name: License::TypeDefinitions::EPMetricType
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- BWTH
- COUNTRY
- SESSION
- LOB
- SITE
- USAGE
- OTHER
5.1.2.3 LicenseDuration enumeration
Qualified Name: License::TypeDefinitions::LicenseDuration
Description:
Units of the entitlement/license term. Valid values: year, quarter, month, day.
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- YEAR
- QUARTER
- MONTH
- DAY
5.1.2.4 LicenseGroupType enumeration
Qualified Name: License::TypeDefinitions::LicenseGroupType
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- UNIVERSAL
- UNIQUE
- ONE_TIME
5.1.2.5 LicenseTerm enumeration
Qualified Name: License::TypeDefinitions::LicenseTerm
Description:
Valid values:
year, quarter, month, day.
Not applicable when license type is Perpetual.
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- FIXED_TERM
- PERPETUAL
- UNLIMITED
- OTHER
- TRIAL
- SUBSCRIPTION
5.1.2.6 LimitUnits enumeration
Qualified Name: License::TypeDefinitions::LimitUnits
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- TRUNKS
- USERS
- SUBSCRIBERS
- SESSIONS
- TENANTS
- TOKENS
- SEATS
- TB
- GB
- MB
- OTHER
5.1.2.7 ThresholdUnitType enumeration
Qualified Name: License::TypeDefinitions::ThresholdUnitType
Applied Stereotypes:
- Experimental
- Reference
- reference: As Built in SDC; Not related to any release usecase.
Contains Enumeration Literals:
- ABSOLUTE
- %