Versions Compared

Key

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

Table of Contents
maxLevel2

Refer to the swagger doc for the api 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
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
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"
	   }
    }
  ]
}

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

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
NSSTInfoListNSSTInfoY1..Nlist of nsstInfo Object
All the constituent NSSTs of the NST
subnetCapabilityListsubnetCapabilitiesY1..Nlist of subnetCapabilityObjectsubnetCapability Object
Subnet capabilities
preferReuseN1

Boolean



requestInfoY1requestInfo Object
The content of the requestInfo Object

...

Attribute

Required?

Cardinality

Content

Values

Description

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

invariantUUIDY1UUID/StringInvariant UUID
Invariant UUID
name Y1string
name of the NST model

nsstInfo Object

Attribute

Required?

Cardinality

Content

Values

Description

UUID

Y

1

UUID/String


UUID of NSST

invariantUUIDY1UUID/String
Invariant UUID
nameY1string
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.

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


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

...

Y

Attribute

Required?

Cardinality

Content

Values

Description

existingNSIY1BooleanTrue/False

solution

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 

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

invariantUUIDY1UUID/String
Invariant UUID

UUID

Y

1

UUID/String


UUID of NSI

NSINameY1String
Name of NSI
NSIIdY1String
Id of NSI
matchLevelY1JSON 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

invariantUUIDY1UUID/String
Invariant UUID
nameY1string
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.

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

...

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.

...