Table of Contents | ||
---|---|---|
|
NOTE
This page is only for understanding. Please refer swagger for a comprehensive documentation.
SAMPLE API
SAMPLE NSI API ( preferReuse : true )
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"serviceProfile":{
"blob":"content"
},
"requestInfo":{
"transactionId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"callbackUrl":"myDomain.com/myCallback",
"callbackHeader":{
"blob":"content"
},
"sourceId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"timeout":5,
"numSolutions":1
},
"NSTInfo":{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa1",
"invariantUUID":"7ua85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-nst"
},
"NSSTInfo":[
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa2",
"invariantUUID":"2fa85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-an-nf"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa3",
"invariantUUID":"4fa85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-cn"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa4",
"invariantUUID":"5ta85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-tn-fh"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa5",
"invariantUUID":"6ya85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-tn-mh"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa7",
"invariantUUID":"7ua85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-tn-bh"
}
],
"preferReuse":true,
"subnetCapabilities":[
{
"domainType":"AN-NF",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"CN",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"TN-FH",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"TN-MH",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"TN-BH",
"capabilityDetails":{
"blob":"content"
}
}
]
} |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"transactionId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestId": "f450f1ee-6c54-4b01-90e6-d701748f0851",
"requestStatus": "completed",
"solutions": [
{
"existingNSI": true,
"sharedNSISolution": {
"invariantUUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"UUID": "e4t85f64-5717-4562-b3fc-2c963f66afa6",
"NSIName": "embb-ser",
"NSIId": "t5y85f64-5717-4562-b3fc-2c963f66afa6",
"matchLevel": {
"key":"value"
}
}
}
]
} |
SAMPLE NSI API ( preferReuse : false )
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"serviceProfile":{
"blob":"content"
},
"requestInfo":{
"transactionId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"callbackUrl":"myDomain.com/myCallback",
"callbackHeader":{
"blob":"content"
},
"sourceId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"timeout":5,
"numSolutions":1
},
"NSTInfo":{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa1",
"invariantUUID":"7ua85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-nst"
},
"NSSTInfo":[
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa2",
"invariantUUID":"2fa85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-an-nf"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa3",
"invariantUUID":"4fa85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-cn"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa4",
"invariantUUID":"5ta85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-tn-fh"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa5",
"invariantUUID":"6ya85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-tn-mh"
},
{
"UUID":"3fa85f64-5717-4562-b3fc-2c963f66afa7",
"invariantUUID":"7ua85f64-5717-4562-b3fc-2c963f66afa6",
"name":"embb-tn-bh"
}
],
"preferReuse":false,
"subnetCapabilities":[
{
"domainType":"AN-NF",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"CN",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"TN-FH",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"TN-MH",
"capabilityDetails":{
"blob":"content"
}
},
{
"domainType":"TN-BH",
"capabilityDetails":{
"blob":"content"
}
}
]
} |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"transactionId": "s4r0f1ee-6c54-4b01-90e6-d701748f0851",
"requestId": "r500f1ee-6c54-4b01-90e6-d701748f0851",
"requestStatus": "completed",
"solutions": [
{
"existingNSI": false,
"newNSISolution": {
"sliceProfiles": [
{
"domainType":"AN-NF"
},
{
"domainType":"CN"
},
{
"domainType":"TN-FH"
},
{
"domainType":"TN-MH"
},
{
"domainType":"TN-BH"
}
],
"matchLevel": {
"blob": "content"
}
}
}
]
} |
SAMPLE NSSI API
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"sliceProfile": {
"blob": "content"
},
"requestInfo": {
"transactionId": "t670f1ee-6c54-4b01-90e6-d701748f0851",
"requestId": "r450f1ee-6c54-4b01-90e6-d701748f0851",
"callbackUrl": "myDomain.com/myCallback",
"callbackHeader": {
"blob": "content"
},
"sourceId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"timeout": 5,
"numSolutions": 1,
"addtnlArgs": {
"blob": "content"
}
},
"NSSTInfo": {
"UUID": "y7785f64-5717-4562-b3fc-2c963f66afa6",
"invariantUUID": "9fh85f64-5717-4562-b3fc-2c963f66afa6",
"name": "embb-cn"
}
} |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"transactionId": "c440f1ee-6c54-4b01-90e6-d701748f0851",
"requestId": "88u0f1ee-6c54-4b01-90e6-d701748f0851",
"requestStatus": "completed",
"solutions": [
{
"invariantUUID": "y7685f64-5717-4562-b3fc-2c963f66afa6",
"UUID": "8u785f64-5717-4562-b3fc-2c963f66afa6",
"NSSIName": "embb-core-ser",
"NSSIId": "f4485f64-5717-4562-b3fc-2c963f66afa6",
"matchLevel": {
"blob":"content"
}
}
]
} |
Sample NxI API(NSI Termination)
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"requestInfo": {
"transactionId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"callbackUrl": "http://0.0.0.0:9000/osdfCallback/",
"sourceId": "SO",
"timeout": 5,
"addtnlArgs": {
"serviceProfileId":"cdad9f49-4201-4e3a-aac1-b0f27902c299"
}
},
"type":"NSI",
"NxIId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"UUID":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"invariantUUID":"d290f1ee-6c54-4b01-90e6-d701748f0851"
} |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"requestId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"transactionId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestStatus": "success",
"terminateResponse": true,
"reason": ""
} |
Sample NxI API(NSSI Termination)
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"requestInfo": {
"transactionId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"callbackUrl": "http://0.0.0.0:9000/osdfCallback/",
"sourceId": "SO",
"timeout": 5,
"addtnlArgs": {
"serviceInstanceId":"4115d3c8-dd59-45d6-b09d-e756dee9b518"
}
},
"type":"NSSI",
"NxIId":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"UUID":"d290f1ee-6c54-4b01-90e6-d701748f0851",
"invariantUUID":"d290f1ee-6c54-4b01-90e6-d701748f0851"
} |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"requestId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"transactionId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"requestStatus": "success",
"terminateResponse": true,
"reason": ""
} |
1. Select NST API
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/selection/nst/v1 |
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. |
...
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/selection/nsi/v1 |
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. |
...
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
serviceProfile | 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 | Y | 1 | nstInfo Object | The content of nstInfo Object | |
NSSTInfoListNSSTInfo | Y | 1..N | list of nsstInfo Object | All the constituent NSSTs of the NST | |
subnetCapabilityListsubnetCapabilities | Y | 1..N | list of subnetCapabilityObjectsubnetCapability Object | Subnet capabilities | |
preferReuse | N | 1 | Boolean | ||
requestInfo | Y | 1 | requestInfo Object | The content of the requestInfo Object |
...
Attribute | Required? | Cardinality | Content | Values | Description | |
---|---|---|---|---|---|---|
domainType | Y | 1 | String | AN/TN-FH/TN-MH/TN-BH/CN | Sub-net type | |
capabilityDetails | Y | 1 | JSON BLOB | A JSON object containing capability parameters |
...
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
name | Y | 1 | string | name of the NST model |
nsstInfo Object
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NSST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
name | Y | 1 | string | name of the NSST model |
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 | Y | 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. | |
numSolutions | Y | 1 | Integer | Expected number of solutions. numSolution can also be specified using an optimization query policies, where the default configured value is 1. The value from a request gets higher precedence over the value defined in a policy. | |
timeout | N | 1 | Integer | A tolerance window (in secs) for expecting solutions. Default is 600 secs. | |
addtnlArgs | N | 1 | JSON BLOB | Any additional parameters that have to be considered for NSI selection |
...
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
existingNSI | Y | 1 | Boolean | True/False | solution | Y
True/False | true if sharedNSISolution is present, false if newNSISolution is present | ||||
sharedNSISolution | N | 1 | sharedNSISolution Object / newNSISolution Object | A list of matching NSIs from existing NSIs / Details NSIs | |
newNSISolution | N | 1 | newNSISolution Object | 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.) |
...
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/selection/nssi/v1 |
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. |
...
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
UUID | Y | 1 | UUID/String | UUID of NSST | |
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
name | Y | 1 | string | name of the NSST model |
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. | |
numSolutions | Y | 1 | Integer | Expected number of solutions. numSolutions can also be specified using an optimization query policies, where the default configured value is 1. The value from a request gets higher precedence over the value defined in a policy. | |
timeout | N | 1 | Integer | A tolerance window (in secs) for expecting solutions. Default is 600 secs. | |
addtnlArgs | N | 1 | JSON BLOB | Any additional parameters that have to be considered for NSSI selection |
...
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
invariantUUID | Y | 1 | UUID/String | Invariant UUID | |
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 service profile, and recommendation rank (future enhancement, based on telemetry, capacity, etc.) |
4. Terminate NxI (x=S, SS)
Interface Definition | Description |
---|---|
Content-Type | application/json |
Operation Type | POST |
URI | https://{host}:{port}/api/oof/v1/terminate/nxi/v1 |
4.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. |
...
Attribute | Required? | Cardinality | Content | Values | Description |
---|---|---|---|---|---|
type | Y | 1 | IntegerString | 1=NSI 2=NSI, NSSI | |
invariantUUID | YN | 1 | UUID/String | Invariant UUID | |
UUID | YN | 1 | UUID/String | UUID of NSI/NSSI | |
NxIId | Y | 1 | String | Id of NSI/NSSI | |
requestInfo | Y | 1 | requestInfo Object | The content of the requestInfo Object |
...
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. | |
terminateResponse | Y | 1 | Boolean | 0 = Do not terminate 1= Terminate | ||
reasonInfo | reason | N | 1 | String | Reason if "0" false is sent (example, "Restricted by Policy") |
...