Network Slicing API Specifications
1. Select NST API
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/selection/nst |
1.1. Request Header
Header | Required | Description |
---|---|---|
Accept | N | Determines the format of the body of the response. Valid value is “application/json” |
Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
Content-Type | Y | Determines the format of the request content. Only application/json is supported. |
1.2. Request Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
serviceProfile | Y | 1 | serviceProfile Object | The content of the serviceProfile Object | |
requestInfo | Y | 1 | requestInfo Object | The content of the requestInfo Object |
serviceProfile Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
serviceProfileParameters | Y | 1 | JSON BLOB | A JSON object containing service profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs. |
RequestInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
transactionId | Y | 1 | UUID/String | A unique ID to track an ONAP transaction. | |
requestId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
callbackUrl | Y | 1 | URL | The end point of a callback service where recommendations are posted. | |
callbackHeader | N | 1 | JSON blob | The header information a client expecting in a async callback. | |
sourceId | Y | 1 | String | The unique ID of a client making an optimization call. | |
timeout | N | 1 | Integer | A tolerance window (in secs) for expecting solutions. Default is 600 secs. |
1.3. Synchronous Response Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestId | Y | 1 | UUID/String | A unique Id for an ONAP transaction. | |
transactionId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
statusMessage | N | 1 | String | Reasoning if a requestStatus is failed. | |
requestStatus | Y | 1 | String | accepted, failed | The status of a request. |
1.4. Asynchronous Response Header
Header Name | Required? | Description |
---|---|---|
Accept | N | Determines the format of the body of the response. Valid value is “application/json” |
Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned. |
Content-Type | Y | Determines the format of the request content. Only application/json is supported. |
Attribute | N | Attribute and respective value that a client has sent in the callbackHeader field of a request. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
1.5. Asynchronous Response Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestId | Y | 1 | UUID/String | A unique Id for an ONAP transaction. | |
transactionId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
statusMessage | N | 1 | String | Reasoning if requestStatus is failed. | |
requestStatus | Y | 1 | String | completed, failed, pending | The status of a request. |
solutions | Y | 1 | Solution Object | Solutions related to a request. |
Solution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
NSTsolutions | Y | 1..N | List of NSTSolution Object | A list of matching NSTs |
NSTSolution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
UUID | Y | 1 | UUID/String | UUID of NST | |
NSTName | Y | 1 | String | Name of NST | |
matchLevel | Y | 1 | JSON BLOB | Details of match of requirements in service profile |
2. Select NSI API
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/selection/nsi |
2.1. Request Header
Header | Required | Description |
---|---|---|
Accept | N | Determines the format of the body of the response. Valid value is “application/json” |
Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
Content-Type | Y | Determines the format of the request content. Only application/json is supported. |
2.2. Request Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
serviceProfile | Y | 1 | serviceProfile Object | The content of the serviceProfile Object | |
NSTInfoList | Y | 1..N | nstInfo Object | The content of nstInfo Object | |
requestInfo | Y | 1 | requestInfo Object | The content of the requestInfo Object |
serviceProfile Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
serviceProfileParameters | Y | 1 | JSON BLOB | A JSON object containing service profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs. |
nstInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID |
RequestInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
transactionId | Y | 1 | UUID/String | A unique ID to track an ONAP transaction. | |
requestId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
callbackUrl | Y | 1 | URL | The end point of a callback service where recommendations are posted. | |
callbackHeader | N | 1 | JSON blob | The header information a client expecting in a async callback. | |
sourceId | Y | 1 | String | The unique ID of a client making an optimization call. | |
timeout | N | 1 | Integer | A tolerance window (in secs) for expecting solutions. Default is 600 secs. |
2.3. Synchronous Response Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestId | Y | 1 | UUID/String | A unique Id for an ONAP transaction. | |
transactionId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
statusMessage | N | 1 | String | Reasoning if a requestStatus is failed. | |
requestStatus | Y | 1 | String | accepted, failed | The status of a request. |
2.4. Asynchronous Response Header
Header Name | Required? | Description |
---|---|---|
Accept | N | Determines the format of the body of the response. Valid value is “application/json” |
Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned. |
Content-Type | Y | Determines the format of the request content. Only application/json is supported. |
Attribute | N | Attribute and respective value that a client has sent in the callbackHeader field of a request. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
2.5. Asynchronous Response Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestId | Y | 1 | UUID/String | A unique Id for an ONAP transaction. | |
transactionId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
statusMessage | N | 1 | String | Reasoning if requestStatus is failed. | |
requestStatus | Y | 1 | String | completed, failed, pending | The status of a request. |
solutions | Y | 1 | Solution Object | Solutions related to a request. |
Solution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
sharedNSIsolutionList | N | 1..N | List of shareNSISolution Objects | A list of matching NSIs from existing NSIs | |
newNSISolutionList | N | 1..N | List of newNSISolution Objects | Details of the constituents of the new NSIs that can be instantiated to meet the request |
sharedNSISolution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
UUID | Y | 1 | UUID/String | UUID of NSI | |
NSIName | Y | 1 | String | Name of NSI | |
NSIId | Y | 1 | String | Id of NSI | |
matchLevel | Y | 1 | JSON BLOB | Details of match of requirements in service profile, and recommendation rank (future enhancement, based on telemetry, capacity, etc.) |
newNSISolution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
NSTInfo | Y | 1 | NSTResponseInfo object | NST information | |
NSSIList | Y | 1..N | List of NSSISolution objects | List of NSSIs which when concatenated shall form the NSI, in case NSSI is not present, only the sliceProfile will be included. | |
matchLevel | Y | 1 | JSON BLOB | Details of match of requirements in service profile, and recommendation rank (future enhancement, based on telemetry, capacity, etc.) |
NSTResponseInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
NSTName | Y | 1 | String | Name of NST |
NSSISolution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
sliceProfile | Y | 1 | JSON BLOB | A JSON object containing slice profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs. | |
NSSTInfo | Y | 1 | NSSTResponseInfo Object contents | NSST info | |
NSSIObject | N | 1 | NSSI Object contents | Details of the NSSI that is already existing, if present. |
NSTResponseInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NSST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
NSSTName | Y | 1 | String | Name of NSST |
NSSI Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
UUID | Y | 1 | UUID/String | UUID of NSSI | |
NSSIIName | Y | 1 | String | Name of NSSI | |
NSSIId | Y | 1 | String | Id of NSSI | |
matchLevel | Y | 1 | JSON BLOB | Details of match of requirements in slice profile, and percentage of fit (future enhancement, based on telemetry, capacity, etc.) |
3. Select NSSI API
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/selection/nssi |
3.1. Request Header
Header | Required | Description |
---|---|---|
Accept | N | Determines the format of the body of the response. Valid value is “application/json” |
Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
Content-Type | Y | Determines the format of the request content. Only application/json is supported. |
3.2. Request Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
sliceProfile | Y | 1 | sliceProfile Object | The content of the sliceProfile Object | |
nsstInfo | Y | 1 | nsstInfo Object | The content of nsstInfo Object | |
requestInfo | Y | 1 | requestInfo Object | The content of the requestInfo Object |
sliceProfile Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
sliceProfileParameters | Y | 1 | JSON BLOB | A JSON object containing slice profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs. |
nsstInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NSST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID |
RequestInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
transactionId | Y | 1 | UUID/String | A unique ID to track an ONAP transaction. | |
requestId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
callbackUrl | Y | 1 | URL | The end point of a callback service where recommendations are posted. | |
callbackHeader | N | 1 | JSON blob | The header information a client expecting in a async callback. | |
sourceId | Y | 1 | String | The unique ID of a client making an optimization call. | |
timeout | N | 1 | Integer | A tolerance window (in secs) for expecting solutions. Default is 600 secs. |
3.3. Synchronous Response Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestId | Y | 1 | UUID/String | A unique Id for an ONAP transaction. | |
transactionId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
statusMessage | N | 1 | String | Reasoning if a requestStatus is failed. | |
requestStatus | Y | 1 | String | accepted, failed | The status of a request. |
3.4. Asynchronous Response Header
Header Name | Required? | Description |
---|---|---|
Accept | N | Determines the format of the body of the response. Valid value is “application/json” |
Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is invalid, then an HTTP 401 Unauthorized response is returned. |
Content-Type | Y | Determines the format of the request content. Only application/json is supported. |
Attribute | N | Attribute and respective value that a client has sent in the callbackHeader field of a request. |
Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. |
3.5. Asynchronous Response Body
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
requestId | Y | 1 | UUID/String | A unique Id for an ONAP transaction. | |
transactionId | Y | 1 | UUID/String | A unique ID to track multiple requests associated with a transaction. | |
statusMessage | N | 1 | String | Reasoning if requestStatus is failed. | |
requestStatus | Y | 1 | String | completed, failed, pending | The status of a request. |
solutions | Y | 1 | Solution Object | Solutions related to a request. |
Solution Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
NSSISolutions | Y | 1..N | List of NSSI Objects | A list of matching NSSIs |
NSSI Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NSSI | |
NSSIName | Y | 1 | String | Name of NSSI | |
NSSIId | Y | 1 | String | Id of NSSI | |
matchLevel | Y | 1 | JSON BLOB | Details of match of requirements in slice profile, and percentage of fit (future enhancement, based on telemetry, capacity, etc.) |
4. HTTP Response Code
HTTP Code | Response Phrase | Description |
---|---|---|
201 | Created | An optimization solution is found. |
202 | Accepted | An optimization request is accepted. |
400 | Bad request | Bad request. |
401 | Unauthorized | Request body is not compliant with the API definition. |
404 | Not found | The server cannot find the requested URI. |
405 | Method not found | The requested method is not supported by a server. |
500 | Internal server error | The server encountered an internal server error or timed out. |
520 | Solver error | Requested number of solutions cannot be found. |