Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel2


NOTE

This page is only for understanding. Please refer swagger for a comprehensive documentation.

swagger link : https://gerrit.onap.org/r/gitweb?p=optf/osdf.git;a=blob;f=docs/sections/swaggerdoc/oof-osdf-has-api.json;h=7289ef4a24de6f6ad728d91554dc7b0394681b27;hb=HEAD


SAMPLE API

SAMPLE NSI API ( preferReuse : true )

Code Block
languagepowershell
themeRDark
titleSample NSI API Request
collapsetrue
{
   "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
languageyml
themeRDark
titleSample NSI API Response
collapsetrue
{
  "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
languageyml
themeRDark
titleSample NSI API Request
collapsetrue
{
   "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
languageyml
themeRDark
titleSample NSI API Response
collapsetrue
{
  "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
languageyml
themeRDark
titleSample NSSI API Request
collapsetrue
{
  "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
languageyml
themeRDark
titleSample NSSI API Response
collapsetrue
{
  "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
languageyml
themeRDark
titleSample NxI API Request
collapsetrue
{
  "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
languageyml
themeRDark
titleSample NxI API Response
collapsetrue
{
  "requestId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "transactionId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "requestStatus": "success",
  "terminateResponse": true,
  "reason": ""
}

Sample NxI API(NSSI Termination)

Code Block
languageyml
themeRDark
titleSample NxI API Request
collapsetrue
{
  "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
languageyml
themeRDark
titleSample NxI API Response
collapsetrue
{
  "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/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

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.

...

The content of the requestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfileY1serviceProfile ObjectThe content of the serviceProfile ObjectrequestInfoY1requestInfo Object

serviceProfile

...

Attribute

Required?

Cardinality

Content

serviceProfileParameters

Values

Description

Y1JSON 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.
of attribute value pairs.
requestInfoY1requestInfo Object
The content of the requestInfo Object

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.

callbackHeaderY1JSON 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.

numSolutionsY1Integer

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



...

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

List of NSTSolution Object


A list of matching NSTs

NSTSolution Object

Attribute

Required?

Cardinality

Content

Values

Description

invariantUUIDY1UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NST

NSTNameY1String
Name of NST
matchLevelY1

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

...

UUID

...

Y

...

1

...

UUID/String

...

UUID of NST

...

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.

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/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.

2.2. Request Body

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfileY1JSON 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.
NSTInfoY1nstInfo Object
The content of nstInfo Object
NSSTInfoY1..Nlist of nsstInfo Object
All the constituent NSSTs of the NST
subnetCapabilitiesY1..Nlist of subnetCapability Object
Subnet capabilities
preferReuseN1

Boolean



requestInfoY1requestInfo Object
The content of the requestInfo Object


subnetCapability Object

...

Attribute

Required?

Cardinality

Content

Values

Description

serviceProfile
domainTypeY1
serviceProfile ObjectThe content of the serviceProfile ObjectNSTInfo
String
Sub-net type

capabilityDetails

Y

1

JSON BLOB


A JSON object containing capability parameters

nstInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NST

invariantUUID
The content of nstInfo ObjectNSSTInfoListY1..NnsstInfo ObjectAll the constituent NSSTs of the NSTsubnetCapabilityListY1..NsubnetCapabilityObjectSubnet capabilitiessolnPreferencerequestInfo
Y1

Integer

0-100Preference for new or existing NSI solutions. 0 indicates preference only for existing NSI solutions, and 100 indicates preference only for new solutions, If both should be provided (subject to the rank), a value between 1-99 should be given.
UUID/String
Invariant UUID
name 
Y1
requestInfo Object
string
The content

name of the
requestInfo Object
NST model

...

nsstInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

ProfileParameters

UUID

Y

1

JSON BLOB

A JSON object containing service profile parameters (in case of NSI selection) or slice profile parameters (in case of NSSI selection). The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.

...

UUID/String


UUID of NSST

invariantUUIDY1UUID/String
Invariant UUID
nameY1string
name of the NSST model

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

domainType

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.

callbackHeaderY1
StringAN/TN-FH/TN-MH/TN-BH/CNSub-net type
JSON blob
The header information a client expecting in a async callback.

sourceId

capabilityDetails

Y

1

JSON BLOB

A JSON object containing capability parameters

nstInfo Object

...

Attribute

...

Required?

...

Cardinality

...

Content

...

Values

...

Description

String


The unique ID of a client making an optimization call.

numSolutionsY1Integer
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.

addtnlArgsN1JSON BLOB
Any additional parameters that have to be considered for NSI selection

2.3. Synchronous Response Body

...

UUID

...

Y

...

1

...

UUID/String

...

UUID of NST/NSST

...

Attribute

Required?

Cardinality

Content

Values

Description

transactionId

requestId

Y

1

UUID/String


A unique

ID to track

Id for an ONAP transaction.

requestId

transactionId

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.

callbackHeaderY1JSON blobThe header information a client expecting in a async callback.

sourceId

Y

1

String

The unique ID of a client making an optimization call.

numSolutionsY1IntegerExpected 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.

addtnlArgsN1JSON BLOBAny additional parameters that have to be considered for NSI selection

...

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.

AttributeNAttribute 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 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.

...

Content-Length

...

N

...

Number of bytes in the body of the request. Note that content length is limited to 1 MB.

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

0..N

List of Solution Object


Solutions related to a request.

Solution Object

...

Attribute

Required?

Cardinality

Content

Values

Description

requestId
existingNSIY1

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..N

List of Solution Object

Solutions related to a request.

...

BooleanTrue/Falsetrue if sharedNSISolution is present, false if newNSISolution is present

sharedNSISolution 

N

1

sharedNSISolution Object


A list of matching NSIs from existing NSIs 

newNSISolutionN1newNSISolution 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

existingNSI

Content

Values

Description

invariantUUIDY1UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NSI

NSINameY1
BooleanTrue/False

sharedNSIsolution

String
Name of NSI
NSIIdY
N
1
sharedNSISolution Object
String

A list of matching NSIs from existing NSIs

newNSISolution

Id of NSI
matchLevelY
N
1
newNSISolution Object
JSON BLOB
Details of
the constituents of the new NSIs that can be instantiated to meet the request

...

match of requirements in service profile, and recommendation rank (future enhancement, based on telemetry, capacity, etc.)

newNSISolution Object

Attribute

Required?

Cardinality

Content

Values

Description

invariantUUID
SliceProfilesY1
UUID/StringInvariant UUID

UUID

Y

1

UUID/String

UUID of NSI

NSINameY1StringName of NSINSIIdY1StringId of NSI
..NList of SliceProfile objects

List of JSON objects 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.

Assumption: Slice profile contains sub-net type. If not, this should also be included.

matchLevelY1JSON 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

...

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.

Assumption: Slice profile contains sub-net type. If not, this should also be included.

...

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.

...

, capacity, etc.)

3. Select NSSI API

Interface Definition

Description

Content-Type

application/json

Operation Type

POST

URI

https://{host}:{port}/api/oof/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.

3.2. Request Body

...

Attribute

Required?

Cardinality

Content

Values

Description

sliceProfileY1JSON
BLOB
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.
NSSTInfoY1
NSSTResponseInfo
nsstInfo Object
contentsNSST infoNSSIObjectN

The content of nsstInfo Object
requestInfoY1
NSSI
requestInfo Object
contents
Details

The content of the
NSSI that is already existing, if present.

...

requestInfo Object

nsstInfo Object

1Invariant

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

Attribute

Required?

Cardinality

Content

Values

Description

UUID/StringUUID of NSST

invariantUUID

Y

1

UUID/String


UUID

NSSTNameY1StringName of NSST

NSSI Object

UUIDUUID/StringNSSIId

of NSST

invariantUUIDY1UUID/String
Invariant UUID
nameY1string

UUID of NSSI

NSSIINameY1StringName of NSSI
name of the NSST model

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

transactionId

Y

1

UUID/String

Id of NSSImatchLevel

A unique ID to track an ONAP transaction.

requestId

Y

1

JSON BLOBDetails 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.

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.

callbackHeaderN1JSON 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.

numSolutionsY1Integer
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.

addtnlArgsN1JSON BLOB
Any additional parameters that have to be considered for NSSI selection

3.3. Synchronous Response

...

Body

Attribute

Required?

Cardinality

Content

Values

Description

sliceProfile

requestId

Y

1

sliceProfile ObjectThe content of the sliceProfile ObjectNSSTInfoY1nsstInfo ObjectThe content of nsstInfo ObjectconstituentNSSTListN1..NnsstInfo ObjectThe details of NSSTs inside the NSST (if present)subnetCapabilityListN1..NsubnetCapabilityObjectSubnet capabilities (if NSST contains constituent NSSTs)requestInfoY1requestInfo ObjectThe 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.

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.

AttributeNAttribute 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

nsstInfo Object

...

Attribute

...

Required?

...

Cardinality

...

Content

...

Values

...

Description

...

UUID

...

Y

...

1

...

UUID/String

...

UUID of NSST

...

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

transactionId

requestId

Y

1

UUID/String


A unique

ID to track

Id for an ONAP transaction.

requestId

transactionId

Y

1

UUID/String


A unique ID to

track multiple requests associated with a transaction.callbackUrl

track multiple requests associated with a transaction.

statusMessage

N

1

String


Reasoning if requestStatus is failed.

requestStatus

Y

1

URL

String

completed, failed, pending

The

end point

status of a

callback service where recommendations are posted

request.

callbackHeader

solutions

Y

0..N

1JSON blobThe header information a client expecting in a async callback.

sourceId

Y

1

String

The unique ID of a client making an optimization call.

List of sharedNSSISolution Objects


Solutions related to a request.

sharedNSSISolution Object

Attribute

Required?

Cardinality

Content

Values

Description

invariantUUID
mSolutions
Y1
IntegerExpected 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.

addtnlArgsN1JSON BLOBAny additional parameters that have to be considered for NSSI selection

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.

UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NSSI

NSSINameY1String
Name of NSSI
NSSIIdY1String
Id of NSSI
matchLevelY1JSON 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/terminate/nxi/v1

4.1. Request Header

Header

Required

...

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.

AttributeNAttribute and respective value that a client has sent in the callbackHeader field of a request

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.

4.2. Request Body

Attribute

Required?

Cardinality

Content

Values

Description

requestId
typeY1
UUID/
String

A unique Id for an ONAP transaction.

transactionId

NSI, NSSI


invariantUUIDN
Y
1UUID/String

A unique ID to track multiple requests associated with a transaction.

statusMessage

Invariant UUID

UUID

N

1

UUID/String

Reasoning if requestStatus is failed.

requestStatus

UUID of NSI/NSSI

NxIIdY1String

completed, failed, pending

The status of a request.

solutions

Id of NSI/NSSI
requestInfoY1
Solution
requestInfo Object

Solutions related to a request.

...


The content of the requestInfo Object

RequestInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

NSSISolutions

transactionId

Y

1

..N

List of NSSI Objects

A list of matching NSSIs

NSSI Object

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

N

1

URL


The end point of a callback service where recommendations are posted.

callbackHeaderN1JSON blob
The header information a client expecting in a async callback.

sourceId

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String

UUID of NSSI

NSSIName

Y

1

String

Name of NSSINSSIId

The unique ID of a client making an optimization call.

timeout

N

Y

1

StringId of NSSImatchLevel

Integer


A tolerance window (in secs) for expecting solutions. Default is 600 secs.

addtnlArgsN
Y
1JSON BLOB
Details of match of requirements in slice profile, and percentage of fit (future enhancement, based on telemetry, capacity, etc.)

4. Deallocate NxI (x=S, SS)

...

Interface Definition

...

Description

...

Content-Type

...

application/json

...

Operation Type

...

POST

...

URI

...

https://{host}:{port}/api/oof/v1/terminate/nxi

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.


Any additional parameters that have to be considered for NSSI selection

4.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.

terminateResponseY1Boolean



reasonN1String
Reason if false is sent (example, "Restricted by Policy")

5. 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.

520Solver errorRequested number of solutions cannot be found.

...