summaryrefslogtreecommitdiffstats
path: root/asdcApi/model/src/main/yang/asdc-license-model.yang
diff options
context:
space:
mode:
Diffstat (limited to 'asdcApi/model/src/main/yang/asdc-license-model.yang')
-rwxr-xr-xasdcApi/model/src/main/yang/asdc-license-model.yang369
1 files changed, 369 insertions, 0 deletions
diff --git a/asdcApi/model/src/main/yang/asdc-license-model.yang b/asdcApi/model/src/main/yang/asdc-license-model.yang
new file mode 100755
index 000000000..37ae869bd
--- /dev/null
+++ b/asdcApi/model/src/main/yang/asdc-license-model.yang
@@ -0,0 +1,369 @@
+module asdc-license-model {
+
+ namespace "http://xmlns.openecomp.org/asdc/license-model/1.0";
+ prefix le;
+ organization "openecomp";
+ contact "asdc";
+ description "schema for both vendor license and VF license models";
+ revision 2016-04-27 {
+ description "xxxx";
+ reference "xxxx";
+ }
+
+ container vendor-license-model {
+ description "xxxx";
+ leaf vendor-name {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ uses entitlement-pools;
+ uses license-key-groups;
+ }
+
+ grouping entitlement-pools {
+ description "xxxx";
+ container entitlement-pool-list {
+ description "xxxx";
+ uses entitlement-pool;
+ }
+ }
+
+ grouping entitlement-pool {
+ description "xxxx";
+ list entitlement-pool {
+ description "xxxx";
+ leaf entitlement-pool-uuid {
+ type string;
+ description "xxxx";
+ }
+ leaf name {
+ type string{
+ length "1..120";
+ }
+ description "xxxx";
+ }
+ leaf description {
+ type string{
+ length "1..1000";
+ }
+ description "xxxx";
+ }
+ leaf manufacturer-reference-number {
+ type string{
+ length "1..100";
+ }
+ description "xxxx";
+ }
+ uses operational-scope;
+ uses threshold-value;
+ uses entitlement-metric;
+ leaf increments {
+ type string{
+ length "1..120";
+ }
+ description "xxxx";
+ }
+ uses aggregation-function;
+ uses time;
+ }
+ }
+
+ grouping operational-scope {
+ description "xxxx";
+ container operational-scope {
+ description "xxxx";
+ leaf value {
+ type enumeration {
+ enum "Network_Wide"{
+ description "xxxx";
+ }
+ enum "Availability_Zone"{
+ description "xxxx";
+ }
+ enum "Data_Center"{
+ description "xxxx";
+ }
+ enum "Tenant"{
+ description "xxxx";
+ }
+ enum "VM"{
+ description "xxxx";
+ }
+ enum "CPU"{
+ description "xxxx";
+ }
+ enum "Core"{
+ description "xxxx";
+ }
+ enum "Other"{
+ description "xxxx";
+ }
+ }
+ description "xxxx";
+ }
+ leaf other {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ }
+ }
+
+ grouping threshold-value {
+ description "xxxx";
+ container threshold-value {
+ description "xxxx";
+ leaf value {
+ type uint32{
+ range "0..9999999";
+ } //TBD Change to type number
+ description "xxxx";
+ }
+ leaf unit {
+ type enumeration {
+ enum "Absolute"{
+ description "xxxx";
+ }
+ enum "Percentage"{
+ description "xxxx";
+ }
+ }
+ description "xxxx";
+ }
+ }
+ }
+
+ grouping entitlement-metric {
+ description "xxxx";
+ container entitlement-metric {
+ description "xxxx";
+ leaf value {
+ type enumeration {
+ enum "Software_Instances_Count"{
+ description "xxxx";
+ }
+ enum "CPU"{
+ description "xxxx";
+ }
+ enum "Core"{
+ description "xxxx";
+ }
+ enum "Trunks"{
+ description "xxxx";
+ }
+ enum "User"{
+ description "xxxx";
+ }
+ enum "Subscribers"{
+ description "xxxx";
+ }
+ enum "Tenants"{
+ description "xxxx";
+ }
+ enum "Tokens"{
+ description "xxxx";
+ }
+ enum "Seats"{
+ description "xxxx";
+ }
+ enum "Units_TB"{
+ description "xxxx";
+ }
+ enum "Units_GB"{
+ description "xxxx";
+ }
+ enum "Units_MB"{
+ description "xxxx";
+ }
+ enum "Other"{
+ description "xxxx";
+ }
+ }
+ description "xxxx";
+ }
+ leaf other {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ }
+ }
+
+ grouping aggregation-function {
+ description "xxxx";
+ container aggregation-function {
+ description "xxxx";
+ leaf value {
+ type enumeration {
+ enum "Peak"{
+ description "xxxx";
+ }
+ enum "Average"{
+ description "xxxx";
+ }
+ enum "Other"{
+ description "xxxx";
+ }
+ }
+ description "xxxx";
+ }
+ leaf other {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ }
+ }
+
+ grouping time {
+ description "xxxx";
+ container time {
+ description "xxxx";
+ leaf value {
+ type enumeration {
+ enum "Hour"{
+ description "xxxx";
+ }
+ enum "Day"{
+ description "xxxx";
+ }
+ enum "Month"{
+ description "xxxx";
+ }
+ enum "Quarter"{
+ description "xxxx";
+ }
+ enum "Year"{
+ description "xxxx";
+ }
+ enum "Other"{
+ description "xxxx";
+ }
+ }
+ description "xxxx";
+ }
+ leaf other {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ }
+ }
+
+
+
+ grouping license-key-groups {
+ description "xxxx";
+ container license-key-group-list {
+ description "xxxx";
+ leaf name {
+ type string;
+ description "xxxx";
+ }
+ uses license-key-group;
+ }
+ }
+
+ grouping license-key-group {
+ description "xxxx";
+ list license-key-group {
+ description "xxxx";
+ leaf license-key-group-uuid {
+ type string;
+ description "xxxx";
+ }
+ leaf name {
+ type string{
+ length "1..120";
+ }
+ description "xxxx";
+ }
+ leaf description {
+ type string{
+ length "1..1000";
+ }
+ description "xxxx";
+ }
+ uses operational-scope;
+ leaf type {
+ type enumeration {
+ enum "Universal"{
+ description "xxxx";
+ }
+ enum "Unique"{
+ description "xxxx";
+ }
+ enum "One_Time"{
+ description "xxxx";
+ }
+ }
+ description "xxxx";
+ }
+ }
+ }
+
+ grouping vf-license-model-grouping {
+ description "xxxx";
+ container vf-license-model {
+ description "xxxx";
+ leaf vf-id {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ leaf vendor-name {
+ type string{
+ length "1..200";
+ }
+ description "xxxx";
+ }
+ uses feature-groups;
+ }
+ }
+
+ grouping feature-groups {
+ description "xxxx";
+ container feature-group-list {
+ description "xxxx";
+ uses feature-group-grouping;
+ }
+ }
+
+ grouping feature-group-grouping {
+ description "xxxx";
+ list feature-group {
+ description "xxxx";
+ leaf name{
+ type string{
+ length "1..120";
+ }
+ description "xxxx";
+ }
+ leaf feature-group-uuid{
+ type string;
+ description "xxxx";
+ }
+ leaf description {
+ type string{
+ length "1..1000";
+ }
+ description "xxxx";
+ }
+ leaf att-part-number {
+ type string{
+ length "1..100";
+ }
+ description "xxxx";
+ }
+ uses entitlement-pools;
+ uses license-key-groups;
+ }
+ }
+}