open5gs/lib/sbi/support/20210629/modified/TS29521_Nbsf_Management.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"