| Oracle® Communications Network Slice Selection Function (NSSF) Cloud Native User's Guide Release 1.0 F16990-01 |
|
![]() Previous |
This appendix provides a sample of Open API specification in NSSF.
Open API 3.0
openapi: 3.0.0
info:
title: "NSSF-CONFIGURATION"
version: v0.1
servers:
- url: 'https://{apiRoot}/'
variables:
apiRoot:
default: nssf
description: >-
apiRoot should be mentioned as defined in NSSF configuration script
paths:
'/nssf-configuration/v1/nsiprofiles':
post:
summary: "Create a network slice instance profile"
tags:
- "Create a network slice instance profile"
requestBody:
content:
application/json: # Media type
schema: # Request body contents
$ref: '#/components/schemas/NssfNsiProfile'
responses:
'201' :
description: Created
'403' :
description: Forbidden
'409' :
description: Conflict
'500' :
description: Internal Server Error
'503' :
description: Service Unavailable
default:
description: Unexpected error
get:
summary: "Read all network slice instance profiles"
tags:
- "Read all network slice instance profiles"
responses:
'200' :
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NssfNsiProfile'
'403' :
description: Forbidden
'500' :
description: Internal Server Error
'503' :
description: Service Unavailable
default:
description: Unexpected error
'/nssf-configurations/v1/nsiprofiles/{name}':
get:
summary: "Read a network slice instance profile"
tags:
- "Read a network slice instance profile"
parameters:
- name: name
in: path
description: "network slice instance profile name"
required: true
schema:
type: string
responses:
'200' :
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NssfNsiProfile'
'400' :
description: Bad Request
'403' :
description: Forbidden
'404' :
description: Not Found
'405' :
description: Method Not Allowed
'409' :
description: Conflict
'500' :
description: Internal Server Error
'502' :
description: Bad Gateway
'503' :
description: Service Unavailable
default:
description: Unexpected error
delete:
summary: "Delete a network slice instance profile"
tags:
- "Delete a network slice instance profile"
parameters:
- name: name
in: path
description: "network slice instance profile name"
required: true
schema:
type: string
responses:
'204' :
description: No Content
'403' :
description: Forbidden
'404' :
description: No Found
'500' :
description: Internal Server Error
'503' :
description: Service Unavailable
default:
description: Unexpected error
'/nssf-configuration/v1/nssrules':
post:
summary: "Create a network slice selection rule"
tags:
- "Create a network slice selection rule"
requestBody:
content:
application/json: # Media type
schema: # Request body contents
$ref: '#/components/schemas/NssfNssRule'
responses:
'201' :
description: Created
'403' :
description: Forbidden
'409' :
description: Conflict
'500' :
description: Internal Server Error
'503' :
description: Service Unavailable
default:
description: Unexpected error
get:
summary: "Read all network slice selection rules"
tags:
- "Read all network slice selection rules"
responses:
'200' :
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NssfNssRule'
'403' :
description: Forbidden
'500' :
description: Internal Server Error
'503' :
description: Service Unavailable
default:
description: Unexpected error
'/nssf-configuration/v1/nssrule/{name}':
get:
summary: "Read a network slice selection rule"
tags:
- "Read a network slice selection rule"
parameters:
- name: name
in: path
description: "network slice selection rule name"
required: true
schema:
type: string
responses:
'200' :
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NssfNssRule'
'400' :
description: Bad Request
'403' :
description: Forbidden
'404' :
description: Not Found
'405' :
description: Method Not Allowed
'409' :
description: Conflict
'500' :
description: Internal Server Error
'502' :
description: Bad Gateway
'503' :
description: Service Unavailable
default:
description: Unexpected error
delete:
summary: "Delete a network slice selection rule"
tags:
- "Delete a network slice selection rule"
parameters:
- name: name
in: path
description: "network slice selection rule name"
required: true
schema:
type: string
responses:
'204' :
description: No Content
'403' :
description: Forbidden
'404' :
description: No Found
'500' :
description: Internal Server Error
'503' :
description: Service Unavailable
default:
description: Unexpected error
components:
schemas:
NssfNsiProfile:
type: object
properties:
name:
type: string
description: "Network Slice Instance Profile Name"
minLength: 1
maxLength: 255
example: "Slice01"
nrfUri:
type: string
description: "URI of the Network Resource Function"
minLength: 1
maxLength: 255
example: nrf.oracle.com
nsiId:
type: string
description: "Network Slice Intance Identifier"
minLength: 1
maxLength: 255
targetAmfSets:
type: array
description: "List of Target AMF Sets mapped to this Network Slice Instance"
items:
$ref: '#/components/schemas/NssfTargetAmfSet'
minItems: 1
required:
- name
- nrfUri
- targetAmfSets
NssfTargetAmfSet:
type: object
properties:
regionId:
type: string
description: "Target AMF Region Id"
minLength: 1
maxLength: 2
example: "01"
setId:
type: string
description: "Target AMF Set Id"
minLength: 1
maxLength: 3
example: "001"
setFqdn:
type: string
description: "Target AMF Set Fqdn"
pattern: "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.){2,}([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]){2,}$"
example: "set001.region01.amfset.5gc.mnc311.mcc282.3gppnetwork.org"
required:
- regionId
- setId
NssfNssRule:
type: object
properties:
name:
type: string
description: "Network Slice Selection Rule Name"
minLength: 1
maxLength: 255
example: "NSS-Rule01"
amfId:
type: string
description: "AMF Identifier"
minLength: 1
maxLength: 255
plmnId:
$ref: '#/components/schemas/PlmnId'
tac:
type: string
description: "AMF Identifier"
minLength: 1
maxLength: 255
snssai:
$ref: '#/components/schemas/Snssai'
salience:
type: integer
description: "Order of importance, higher salience, more important"
minimum: 0
maximum: 65535
behavior:
$ref: '#/components/schemas/NssfNssRuleBehavior'
required:
- name
- nrfUri
- snssai
- behavior
PlmnId:
type: object
properties:
mcc:
type: string
description: "Mobile Country Code"
minLength: 1
maxLength: 3
mnc:
type: string
description: "Mobile Network Code"
minLength: 1
maxLength: 3
required:
- mcc
- mnc
Snssai:
type: object
properties:
sst:
type: integer
minimum: 0
maximum: 255
sd:
type: string
pattern: '^[A-Fa-f0-9]{6}$'
required:
- sst
NssfNssRuleBehavior:
type: object
properties:
grant:
type: string
enum:
- ALLOWED
- RESTRICTED
description: "Whether the requested S-NSSAI is allowed or restricted"
accessType:
type: string
enum:
- 3GPP_ACCESS
- NON_3GPP_ACCESS
description: "Access Type in which the grant applies"
nsiProfiles:
type: array
items:
properties:
name:
type: string
description: "Network Slice Instance profile name"
salience:
type: integer
description: "Order of importance, higher salience, more important"
required:
- name
required:
- grant
- accessType
This is the start of your topic.