1 Star 0 Fork 2

yuxi-o / 5GC_APIs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
TS29523_Npcf_EventExposure.yaml 14.00 KB
一键复制 编辑 原始数据 按行查看 历史
Jesus de Gregorio 提交于 2019-09-27 13:59 . Rel-16 Sept'19
openapi: 3.0.0
info:
version: 1.1.0.alpha-1
title: Npcf_EventExposure
description: |
PCF Event Exposure Service.
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.523 V16.0.0; 5G System; Policy Control Event Exposure Service; Stage 3.
url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.523/
servers:
- url: '{apiRoot}/npcf-eventexposure/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
- {}
- oAuth2ClientCredentials:
- npcf-eventexposure
paths:
/subscriptions:
post:
summary: Creates a new Individual Policy Control Events Subscription resource
operationId: PostPcEventExposureSubsc
tags:
- Policy Control Events Subscription (Collection)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PcEventExposureSubsc'
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PcEventExposureSubsc'
headers:
Location:
description: 'Contains the URI of the created individual policy control events subscription resource, according to the structure: {apiRoot}/npcf-eventexposure/v1/subscriptions/{subscriptionId}'
required: true
schema:
type: string
'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'
callbacks:
PcEventNotification:
'{$request.body#/notifUri}':
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PcEventExposureNotif'
responses:
'204':
description: No Content, Notification was succesfull
'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'
/subscriptions/{subscriptionId}:
get:
summary: "Reads an existing Individual Policy Control Events Subscription"
operationId: GetPcEventExposureSubsc
tags:
- Individual Policy Control Events Subscription (Document)
parameters:
- name: subscriptionId
in: path
description: Policy Control Event Subscription ID
required: true
schema:
type: string
responses:
'200':
description: OK. Resource representation is returned
content:
application/json:
schema:
$ref: '#/components/schemas/PcEventExposureSubsc'
'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'
'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'
put:
summary: "Modifies an existing Individual Policy Control Events Subscription "
operationId: PutPcEventExposureSubsc
tags:
- Individual Policy Control Events Subscription (Document)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PcEventExposureSubsc'
parameters:
- name: subscriptionId
in: path
description: Policy Control Event Subscription ID
required: true
schema:
type: string
responses:
'200':
description: OK. Resource was succesfully modified and representation is returned
content:
application/json:
schema:
$ref: '#/components/schemas/PcEventExposureSubsc'
'204':
description: No Content. Resource was succesfully modified
'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'
delete:
summary: "Cancels an existing Individual Policy Control Events Subscription "
operationId: DeletePcEventExposureSubsc
tags:
- Individual Policy Control Events Subscription (Document)
parameters:
- name: subscriptionId
in: path
description: Policy Control Event Subscription ID
required: true
schema:
type: string
responses:
'204':
description: No Content. Resource was succesfully deleted
'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'
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: '{nrfApiRoot}/oauth2/token'
scopes:
npcf-eventexposure: Access to the Npcf_EventExposure API.
schemas:
PcEventExposureNotif:
type: object
properties:
notifId:
type: string
eventNotifs:
type: array
items:
$ref: '#/components/schemas/PcEventNotification'
minItems: 1
required:
- notifId
- eventNotifs
PcEventExposureSubsc:
type: object
properties:
eventSubs:
type: array
items:
$ref: '#/components/schemas/PcEvent'
minItems: 1
eventsRepInfo:
$ref: '#/components/schemas/ReportingInformation'
groupId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
filterDnns:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
minItems: 1
filterSnssais:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
minItems: 1
filterServices:
type: array
items:
$ref: '#/components/schemas/ServiceIdentification'
minItems: 1
notifUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
notifId:
type: string
suppFeat:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
required:
- eventSubs
- notifId
- notifUri
ReportingInformation:
type: object
properties:
immRep:
type: boolean
notifMethod:
$ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/NotificationMethod'
maxReportNbr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
monDur:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
repPeriod:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
sampRatio:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio'
grpRepTime:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
ServiceIdentification:
type: object
properties:
servEthFlows:
type: array
items:
$ref: '#/components/schemas/EthernetFlowInfo'
minItems: 1
servIpFlows:
type: array
items:
$ref: '#/components/schemas/IpFlowInfo'
minItems: 1
afAppId:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfAppId'
# All conditions in allOf must be met
allOf:
# First condition is that servEthFlows and servIpFlows are mutually exclusive
- not:
required: [servEthFlows, servIpFlows]
# Second condition is that at least one the servEthFlows, servIpFlows and afAppId shall be present
- anyOf:
- required: [servEthFlows]
- required: [servIpFlows]
- required: [afAppId]
EthernetFlowInfo:
type: object
properties:
ethFlows:
type: array
items:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
minItems: 1
maxItems: 2
flowNumber:
type: integer
required:
- flowNumber
IpFlowInfo:
type: object
properties:
ipFlows:
type: array
items:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription'
minItems: 1
maxItems: 2
flowNumber:
type: integer
required:
- flowNumber
PcEventNotification:
type: object
properties:
event:
$ref: '#/components/schemas/PcEvent'
accType:
$ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
anGwAddr:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AnGwAddress'
ratType:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
plmnId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
gpsi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
timeStamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
pduSessionInfo:
$ref: '#/components/schemas/PduSessionInformation'
repServices:
$ref: '#/components/schemas/ServiceIdentification'
required:
- event
- timeStamp
PduSessionInformation:
type: object
properties:
snssai:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
dnn:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
ueIpv4:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
ueIpv6:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
ipDomain:
type: string
ueMac:
$ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
required:
- snssai
- dnn
oneOf:
- required: [ueMac]
- anyOf:
- required: [ueIpv4]
- required: [ueIpv6]
# Simple data types and Enumerations
PcEvent:
anyOf:
- type: string
enum:
- AC_TY_CH
- PLMN_CH
- type: string
1
https://gitee.com/yuxio/v5GC_APIs.git
git@gitee.com:yuxio/v5GC_APIs.git
yuxio
v5GC_APIs
5GC_APIs
master

搜索帮助