"description":"This type represents a subscription related to notifications about VNF package management.\n",
"type":"object",
"required":["id","callbackUri","_links"],
"required":[
"id",
"callbackUri",
"_links"
],
"properties":{
"id":{
"description":"An identifier with the intention of being globally unique.\n",
@@ -14,13 +18,19 @@
{
"oneOf":[
{
"required":["vnfProductsFromProviders"]
"required":[
"vnfProductsFromProviders"
]
},
{
"required":["vnfdId"]
"required":[
"vnfdId"
]
},
{
"required":["vnfPkgId"]
"required":[
"vnfPkgId"
]
}
]
}
@@ -42,7 +52,9 @@
"type":"array",
"items":{
"type":"object",
"required":["vnfProvider"],
"required":[
"vnfProvider"
],
"properties":{
"vnfProvider":{
"description":"A string defined in IETF RFC 8259.\n",
@@ -53,7 +65,9 @@
"type":"array",
"items":{
"type":"object",
"required":["vnfProductName"],
"required":[
"vnfProductName"
],
"properties":{
"vnfProductName":{
"description":"A string defined in IETF RFC 8259.\n",
@@ -64,7 +78,9 @@
"type":"array",
"items":{
"type":"object",
"required":["vnfSoftwareVersion"],
"required":[
"vnfSoftwareVersion"
],
"properties":{
"vnfSoftwareVersion":{
"description":"A version.\n",
@@ -106,12 +122,18 @@
"operationalState":{
"description":"- ENABLED: The VNF package is enabled, i.e. it can be used for\n the creation of new \"Individual VNF instance\" resources.\n- DISABLED: The VNF package is disabled, i.e. it shall not be used for\n the creation of further \"Individual VNF instance\" resources\n (unless and until the VNF package is re-enabled).\n",
"type":"string",
"enum":["ENABLED","DISABLED"]
"enum":[
"ENABLED",
"DISABLED"
]
},
"usageState":{
"description":"- IN_USE: \"Individual VNF instance\" resources created from this VNF package exist. - NOT_IN_USE: No \"Individual VNF instance\" resource created from this VNF package exists.\n",
"type":"string",
"enum":["IN_USE","NOT_IN_USE"]
"enum":[
"IN_USE",
"NOT_IN_USE"
]
},
"vnfmInfo":{
"description":"Match strings that specify VNFMs compatible with the VNF. See table 10.5.2.2-1.\n",
@@ -130,12 +152,16 @@
"_links":{
"description":"Links to resources related to this resource.\n",
"type":"object",
"required":["self"],
"required":[
"self"
],
"properties":{
"self":{
"description":"This type represents a link to a resource using an absolute URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
"description":"This type represents a subscription related to notifications about VNF package management.\n",
"type":"object",
"required":["id","callbackUri","_links"],
"required":[
"id",
"callbackUri",
"_links"
],
"properties":{
"id":{
"description":"An identifier with the intention of being globally unique.\n",
@@ -16,13 +20,19 @@
{
"oneOf":[
{
"required":["vnfProductsFromProviders"]
"required":[
"vnfProductsFromProviders"
]
},
{
"required":["vnfdId"]
"required":[
"vnfdId"
]
},
{
"required":["vnfPkgId"]
"required":[
"vnfPkgId"
]
}
]
}
@@ -44,7 +54,9 @@
"type":"array",
"items":{
"type":"object",
"required":["vnfProvider"],
"required":[
"vnfProvider"
],
"properties":{
"vnfProvider":{
"description":"A string defined in IETF RFC 8259.\n",
@@ -55,7 +67,9 @@
"type":"array",
"items":{
"type":"object",
"required":["vnfProductName"],
"required":[
"vnfProductName"
],
"properties":{
"vnfProductName":{
"description":"A string defined in IETF RFC 8259.\n",
@@ -66,7 +80,9 @@
"type":"array",
"items":{
"type":"object",
"required":["vnfSoftwareVersion"],
"required":[
"vnfSoftwareVersion"
],
"properties":{
"vnfSoftwareVersion":{
"description":"A version.\n",
@@ -108,12 +124,18 @@
"operationalState":{
"description":"- ENABLED: The VNF package is enabled, i.e. it can be used for\n the creation of new \"Individual VNF instance\" resources.\n- DISABLED: The VNF package is disabled, i.e. it shall not be used for\n the creation of further \"Individual VNF instance\" resources\n (unless and until the VNF package is re-enabled).\n",
"type":"string",
"enum":["ENABLED","DISABLED"]
"enum":[
"ENABLED",
"DISABLED"
]
},
"usageState":{
"description":"- IN_USE: \"Individual VNF instance\" resources created from this VNF package exist. - NOT_IN_USE: No \"Individual VNF instance\" resource created from this VNF package exists.\n",
"type":"string",
"enum":["IN_USE","NOT_IN_USE"]
"enum":[
"IN_USE",
"NOT_IN_USE"
]
},
"vnfmInfo":{
"description":"Match strings that specify VNFMs compatible with the VNF. See table 10.5.2.2-1.\n",
@@ -132,12 +154,16 @@
"_links":{
"description":"Links to resources related to this resource.\n",
"type":"object",
"required":["self"],
"required":[
"self"
],
"properties":{
"self":{
"description":"This type represents a link to a resource using an absolute URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
"description":"Discriminator for the different notification types. Shall be set to \"VnfPackageChangeNotification\" for this notification type.\n",
"type":"string",
"enum":["VnfPackageChangeNotification"]
"enum":[
"VnfPackageChangeNotification"
]
},
"subscriptionId":{
"description":"An identifier with the intention of being globally unique.\n",
@@ -41,22 +43,33 @@
"changeType":{
"description":"- OP_STATE_CHANGE: The \"operationalState\" attribute has been changed. - PKG_DELETE: The VNF package has been deleted.\n",
"type":"string",
"enum":["OP_STATE_CHANGE","PKG_DELETE"]
"enum":[
"OP_STATE_CHANGE",
"PKG_DELETE"
]
},
"operationalState":{
"description":"- ENABLED: The VNF package is enabled, i.e. it can be used for\n the creation of new \"Individual VNF instance\" resources.\n- DISABLED: The VNF package is disabled, i.e. it shall not be used for\n the creation of further \"Individual VNF instance\" resources\n (unless and until the VNF package is re-enabled).\n",
"type":"string",
"enum":["ENABLED","DISABLED"]
"enum":[
"ENABLED",
"DISABLED"
]
},
"_links":{
"description":"This type represents the links to resources that a VNF package management notification can contain.\n",
"type":"object",
"required":["vnfPackage","subscription"],
"required":[
"vnfPackage",
"subscription"
],
"properties":{
"vnfPackage":{
"description":"This type represents a link to a resource in a notification, using an absolute or relative URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
@@ -67,7 +80,9 @@
"vnfPackageByVnfdId":{
"description":"This type represents a link to a resource in a notification, using an absolute or relative URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
@@ -78,7 +93,9 @@
"subscription":{
"description":"This type represents a link to a resource in a notification, using an absolute or relative URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
"description":"Discriminator for the different notification types. Shall be set to \"VnfPackageOnboardingNotification\" for this notification type.\n",
"type":"string",
"enum":["VnfPackageOnboardingNotification"]
"enum":[
"VnfPackageOnboardingNotification"
]
},
"subscriptionId":{
"description":"An identifier with the intention of being globally unique.\n",
@@ -49,12 +51,17 @@
"_links":{
"description":"This type represents the links to resources that a VNF package management notification can contain.\n",
"type":"object",
"required":["vnfPackage","subscription"],
"required":[
"vnfPackage",
"subscription"
],
"properties":{
"vnfPackage":{
"description":"This type represents a link to a resource in a notification, using an absolute or relative URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
@@ -65,7 +72,9 @@
"vnfPackageByVnfdId":{
"description":"This type represents a link to a resource in a notification, using an absolute or relative URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
@@ -76,7 +85,9 @@
"subscription":{
"description":"This type represents a link to a resource in a notification, using an absolute or relative URI.\n",
"type":"object",
"required":["href"],
"required":[
"href"
],
"properties":{
"href":{
"description":"String formatted according to IETF RFC 3986.\n",
"description":"A string defined in IETF RFC 8259.\n",
@@ -33,7 +37,11 @@
"artifactClassification":{
"description":"Marks specific types of artifacts as defined in the VNF package. If none of the specific classes listed below applies, the attribute shall not be present.\nValid values: -\tHISTORY: a history artifact as per clause 4.3.3 in ETSI GS NFV-SOL 004 -\tTESTING: a testing artifact as per clause 4.3.4 in ETSI GS NFV-SOL 004 -\tLICENSE: a license artifact as per clause 4.3.5 in ETSI GS NFV-SOL 004\n",
"type":"string",
"enum":["HISTORY","TESTING","LICENSE"]
"enum":[
"HISTORY",
"TESTING",
"LICENSE"
]
},
"metadata":{
"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",