forked from acouzens/open5gs
418 lines
15 KiB
YAML
418 lines
15 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
version: 1.1.2
|
|
title: Nbsf_Management
|
|
description: |
|
|
Binding Support Management Service API.
|
|
© 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
|
|
All rights reserved.
|
|
externalDocs:
|
|
description: 3GPP TS 29.521 V16.8.0; 5G System; Binding Support Management Service.
|
|
url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.521/'
|
|
servers:
|
|
- url: '{apiRoot}/nbsf-management/v1'
|
|
variables:
|
|
apiRoot:
|
|
default: https://example.com
|
|
description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501.
|
|
security:
|
|
- {}
|
|
- oAuth2ClientCredentials:
|
|
- nbsf-management
|
|
paths:
|
|
/pcfBindings:
|
|
post:
|
|
summary: Create a new Individual PCF binding information
|
|
operationId: CreatePCFBinding
|
|
tags:
|
|
- PCF Bindings (Collection)
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PcfBinding'
|
|
responses:
|
|
'201':
|
|
description: The creation of an individual PCF session binding.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PcfBinding'
|
|
headers:
|
|
Location:
|
|
description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nbsf-management/v1/pcfBindings/{bindingId}'
|
|
required: true
|
|
schema:
|
|
type: string
|
|
'400':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
|
'401':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/401'
|
|
'403':
|
|
description: The existing PCF binding information stored in the BSF for the indicated combination is returned.
|
|
content:
|
|
application/problem+json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExtProblemDetails'
|
|
'404':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/404'
|
|
'411':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/411'
|
|
'413':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/413'
|
|
'415':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/415'
|
|
'429':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/429'
|
|
'500':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/500'
|
|
'503':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
|
|
default:
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
|
|
get:
|
|
summary: Read PCF Bindings information
|
|
operationId: GetPCFBindings
|
|
tags:
|
|
- PCF Bindings (Collection)
|
|
parameters:
|
|
- name: ipv4Addr
|
|
in: query
|
|
description: The IPv4 Address of the served UE.
|
|
required: false
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
|
|
- name: ipv6Prefix
|
|
in: query
|
|
description: The IPv6 Address of the served UE. The NF service consumer shall append '/128' to the IPv6 address in the attribute value. E.g. '2001:db8:85a3::8a2e:370:7334/128'.
|
|
required: false
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
|
|
- name: macAddr48
|
|
in: query
|
|
description: The MAC Address of the served UE.
|
|
required: false
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
|
|
- name: dnn
|
|
in: query
|
|
description: DNN.
|
|
required: false
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
|
|
- name: supi
|
|
in: query
|
|
description: Subscription Permanent Identifier.
|
|
required: false
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
|
|
- name: gpsi
|
|
in: query
|
|
description: Generic Public Subscription Identifier
|
|
required: false
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
|
|
- name: snssai
|
|
in: query
|
|
description: The identification of slice.
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
|
|
- name: ipDomain
|
|
in: query
|
|
description: The IPv4 address domain identifier.
|
|
required: false
|
|
schema:
|
|
type: string
|
|
- name: supp-feat
|
|
in: query
|
|
description: To filter irrelevant responses related to unsupported features
|
|
schema:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
|
|
responses:
|
|
'200':
|
|
description: The individual PCF session binding session binding information resource matching the query parameter(s) is returned.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PcfBinding'
|
|
'204':
|
|
description: There is no PCF session binding information matching the query parameter(s).
|
|
'400':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
|
'401':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/401'
|
|
'403':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/403'
|
|
'404':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/404'
|
|
'406':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/406'
|
|
'414':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/414'
|
|
'429':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/429'
|
|
'500':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/500'
|
|
'503':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
|
|
default:
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
|
|
/pcfBindings/{bindingId}:
|
|
delete:
|
|
summary: Delete an existing Individual PCF Binding information
|
|
operationId: DeleteIndPCFBinding
|
|
tags:
|
|
- Individual PCF Binding (Document)
|
|
parameters:
|
|
- name: bindingId
|
|
in: path
|
|
description: Represents the individual PCF Session Binding.
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'204':
|
|
description: No Content. The Individual PCF session binding information resource is deleted.
|
|
'307':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
|
|
'308':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
|
|
'400':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
|
'401':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/401'
|
|
'403':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/403'
|
|
'404':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/404'
|
|
'429':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/429'
|
|
'500':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/500'
|
|
'503':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
|
|
default:
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
|
|
patch:
|
|
summary: Update an existing Individual PCF Binding information
|
|
operationId: UpdateIndPCFBinding
|
|
tags:
|
|
- Individual PCF Binding (Document)
|
|
parameters:
|
|
- name: bindingId
|
|
in: path
|
|
description: Represents the individual PCF Session Binding.
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: Parameters to update the existing session binding
|
|
required: true
|
|
content:
|
|
application/merge-patch+json:
|
|
schema:
|
|
$ref: '#/components/schemas/PcfBindingPatch'
|
|
responses:
|
|
'200':
|
|
description: OK (Successful update of the session binding)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PcfBinding'
|
|
'307':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
|
|
'308':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
|
|
'400':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
|
'401':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/401'
|
|
'403':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/403'
|
|
'404':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/404'
|
|
'411':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/411'
|
|
'413':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/413'
|
|
'415':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/415'
|
|
'429':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/429'
|
|
'500':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/500'
|
|
'503':
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
|
|
default:
|
|
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
|
|
components:
|
|
securitySchemes:
|
|
oAuth2ClientCredentials:
|
|
type: oauth2
|
|
flows:
|
|
clientCredentials:
|
|
tokenUrl: '{nrfApiRoot}/oauth2/token'
|
|
scopes:
|
|
nbsf-management: Access to the Nbsf_Management API
|
|
schemas:
|
|
PcfBinding:
|
|
type: object
|
|
properties:
|
|
supi:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
|
|
gpsi:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
|
|
ipv4Addr:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
|
|
ipv6Prefix:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
|
|
addIpv6Prefixes:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
|
|
minItems: 1
|
|
description: The additional IPv6 Address Prefixes of the served UE.
|
|
ipDomain:
|
|
type: string
|
|
macAddr48:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
|
|
addMacAddrs:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
|
|
minItems: 1
|
|
description: The additional MAC Addresses of the served UE.
|
|
dnn:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
|
|
pcfFqdn:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
|
|
pcfIpEndPoints:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint'
|
|
minItems: 1
|
|
description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service.
|
|
pcfDiamHost:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity'
|
|
pcfDiamRealm:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity'
|
|
pcfSmFqdn:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
|
|
pcfSmIpEndPoints:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint'
|
|
minItems: 1
|
|
description: IP end points of the PCF hosting the Npcf_SMPolicyControl service.
|
|
snssai:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
|
|
suppFeat:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
|
|
pcfId:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
|
|
pcfSetId:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId'
|
|
recoveryTime:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
|
|
paraCom:
|
|
$ref: '#/components/schemas/ParameterCombination'
|
|
bindLevel:
|
|
$ref: '#/components/schemas/BindingLevel'
|
|
ipv4FrameRouteList:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask'
|
|
minItems: 1
|
|
ipv6FrameRouteList:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
|
|
minItems: 1
|
|
required:
|
|
- dnn
|
|
- snssai
|
|
PcfBindingPatch:
|
|
type: object
|
|
properties:
|
|
ipv4Addr:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm'
|
|
ipDomain:
|
|
type: string
|
|
nullable: true
|
|
ipv6Prefix:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6PrefixRm'
|
|
addIpv6Prefixes:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
|
|
minItems: 1
|
|
description: The additional IPv6 Address Prefixes of the served UE.
|
|
nullable: true
|
|
macAddr48:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48Rm'
|
|
addMacAddrs:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
|
|
minItems: 1
|
|
description: The additional MAC Addresses of the served UE.
|
|
nullable: true
|
|
pcfId:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
|
|
pcfFqdn:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
|
|
pcfIpEndPoints:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint'
|
|
minItems: 1
|
|
description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service.
|
|
pcfDiamHost:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity'
|
|
pcfDiamRealm:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity'
|
|
ParameterCombination:
|
|
type: object
|
|
properties:
|
|
supi:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
|
|
dnn:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
|
|
snssai:
|
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
|
|
ExtProblemDetails:
|
|
allOf:
|
|
- $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
|
|
- $ref: '#/components/schemas/BindingResp'
|
|
BindingResp:
|
|
type: object
|
|
properties:
|
|
pcfSmFqdn:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
|
|
pcfSmIpEndPoints:
|
|
type: array
|
|
items:
|
|
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint'
|
|
minItems: 1
|
|
description: IP end points of the PCF hosting the Npcf_SMPolicyControl service.
|
|
BindingLevel:
|
|
# anyOf:
|
|
# - type: string
|
|
type: string
|
|
enum:
|
|
- NF_SET
|
|
- NF_INSTANCE
|
|
# - type: string
|
|
# description: >
|
|
# This string provides forward-compatibility with future
|
|
# extensions to the enumeration but is not used to encode
|
|
# content defined in the present version of this API.
|
|
# description: >
|
|
# Possible values are
|
|
# - "NF_SET"
|
|
# - "NF_INSTANCE"
|