open5gs/lib/sbi/support/r16-20230226-openapitools-6.../standard/TS29507_Npcf_AMPolicyContro...

605 lines
24 KiB
YAML

openapi: 3.0.0
info:
version: 1.1.4
title: Npcf_AMPolicyControl
description: |
Access and Mobility Policy Control Service.
© 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.507 V16.8.0; 5G System; Access and Mobility Policy Control Service.
url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.507/'
servers:
- url: '{apiRoot}/npcf-am-policy-control/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
- {}
- oAuth2ClientCredentials:
- npcf-am-policy-control
paths:
/policies:
post:
operationId: CreateIndividualAMPolicyAssociation
summary: Create individual AM policy association.
tags:
- AM Policy Associations (Collection)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyAssociationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyAssociation'
headers:
Location:
description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/npcf-am-policy-control/v1/policies/{polAssoId}'
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:
policyUpdateNotification:
'{$request.body#/notificationUri}/update':
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyUpdate'
responses:
'204':
description: No Content, Notification was successful.
'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'
policyAssocitionTerminationRequestNotification:
'{$request.body#/notificationUri}/terminate':
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TerminationNotification'
responses:
'204':
description: No Content, Notification was successful.
'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'
/policies/{polAssoId}:
get:
operationId: ReadIndividualAMPolicyAssociation
summary: Read individual AM policy association.
tags:
- Individual AM Policy Association (Document)
parameters:
- name: polAssoId
in: path
description: Identifier of a policy association
required: true
schema:
type: string
responses:
'200':
description: OK. Resource representation is returned
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyAssociation'
'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'
'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'
delete:
operationId: DeleteIndividualAMPolicyAssociation
summary: Delete individual AM policy association.
tags:
- Individual AM Policy Association (Document)
parameters:
- name: polAssoId
in: path
description: Identifier of a policy association
required: true
schema:
type: string
responses:
'204':
description: No Content. Resource was successfully 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'
/policies/{polAssoId}/update:
post:
operationId: ReportObservedEventTriggersForIndividualAMPolicyAssociation
summary: Report observed event triggers and obtain updated policies for an individual AM policy association.
tags:
- Individual AM Policy Association (Document)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyAssociationUpdateRequest'
parameters:
- name: polAssoId
in: path
description: Identifier of a policy association
required: true
schema:
type: string
responses:
'200':
description: OK. Updated policies are returned
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyUpdate'
'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:
npcf-am-policy-control: Access to the Npcf_AMPolicyControl API
schemas:
PolicyAssociation:
type: object
properties:
request:
$ref: '#/components/schemas/PolicyAssociationRequest'
triggers:
type: array
items:
$ref: '#/components/schemas/RequestTrigger'
minItems: 1
description: Request Triggers that the PCF subscribes.
servAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
wlServAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
rfsp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
smfSelInfo:
$ref: '#/components/schemas/SmfSelectionData'
ueAmbr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
pras:
type: object
additionalProperties:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
minProperties: 1
suppFeat:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
required:
- suppFeat
PolicyAssociationRequest:
description: Information which the NF service consumer provides when requesting the creation of a policy association. The serviveName property corresponds to the serviceName in the main body of the specification.
type: object
properties:
notificationUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
altNotifIpv4Addrs:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
minItems: 1
description: Alternate or backup IPv4 Address(es) where to send Notifications.
altNotifIpv6Addrs:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
minItems: 1
description: Alternate or backup IPv6 Address(es) where to send Notifications.
altNotifFqdns:
type: array
items:
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
minItems: 1
description: Alternate or backup FQDN(s) where to send Notifications.
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
gpsi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
accessType:
$ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
accessTypes:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
minItems: 1
pei:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
userLoc:
$ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
timeZone:
$ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
servingPlmn:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
ratType:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
ratTypes:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
minItems: 1
groupIds:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
minItems: 1
servAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
wlServAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
rfsp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
ueAmbr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
allowedSnssais:
description: array of allowed S-NSSAIs for the 3GPP access.
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
minItems: 1
mappingSnssais:
description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN.
type: array
items:
$ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai'
minItems: 1
n3gAllowedSnssais:
description: array of allowed S-NSSAIs for the Non-3GPP access.
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
minItems: 1
guami:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
serviveName:
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName'
traceReq:
$ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
suppFeat:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
required:
- notificationUri
- suppFeat
- supi
PolicyAssociationUpdateRequest:
type: object
properties:
notificationUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
altNotifIpv4Addrs:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
minItems: 1
description: Alternate or backup IPv4 Address(es) where to send Notifications.
altNotifIpv6Addrs:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
minItems: 1
description: Alternate or backup IPv6 Address(es) where to send Notifications.
altNotifFqdns:
type: array
items:
$ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
minItems: 1
description: Alternate or backup FQDN(s) where to send Notifications.
triggers:
type: array
items:
$ref: '#/components/schemas/RequestTrigger'
minItems: 1
description: Request Triggers that the NF service consumer observes.
servAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
wlServAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
rfsp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
smfSelInfo:
$ref: '#/components/schemas/SmfSelectionData'
ueAmbr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
praStatuses:
type: object
additionalProperties:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
minProperties: 1
description: Map of PRA status information.
userLoc:
$ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
allowedSnssais:
description: array of allowed S-NSSAIs for the 3GPP access.
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
minItems: 1
mappingSnssais:
description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN.
type: array
items:
$ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai'
minItems: 1
accessTypes:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
minItems: 1
ratTypes:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
minItems: 1
n3gAllowedSnssais:
description: array of allowed S-NSSAIs for the Non-3GPP access.
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
minItems: 1
traceReq:
$ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
guami:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
PolicyUpdate:
type: object
properties:
resourceUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
triggers:
type: array
items:
$ref: '#/components/schemas/RequestTrigger'
minItems: 1
nullable: true
description: Request Triggers that the PCF subscribes.
servAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
wlServAreaRes:
$ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
rfsp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
smfSelInfo:
$ref: '#/components/schemas/SmfSelectionData'
ueAmbr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
pras:
type: object
additionalProperties:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm'
description: Map of PRA information.
minProperties: 1
nullable: true
required:
- resourceUri
TerminationNotification:
type: object
properties:
resourceUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
cause:
$ref: '#/components/schemas/PolicyAssociationReleaseCause'
required:
- resourceUri
- cause
SmfSelectionData:
type: object
properties:
unsuppDnn:
type: boolean
candidates:
type: object
additionalProperties:
$ref: '#/components/schemas/CandidateForReplacement'
minProperties: 1
nullable: true
snssai:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
mappingSnssai:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
dnn:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
nullable: true
CandidateForReplacement:
type: object
properties:
snssai:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
dnns:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
minItems: 1
nullable: true
required:
- snssai
nullable: true
RequestTrigger:
anyOf:
- type: string
enum:
- LOC_CH
- PRA_CH
- SERV_AREA_CH
- RFSP_CH
- ALLOWED_NSSAI_CH
- UE_AMBR_CH
- SMF_SELECT_CH
- ACCESS_TYPE_CH
- 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
- LOC_CH: Location change (tracking area). The tracking area of the UE has changed.
- PRA_CH: Change of UE presence in PRA. The AMF reports the current presence status of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the Presence Reporting Area.
- SERV_AREA_CH: Service Area Restriction change. The UDM notifies the AMF that the subscribed service area restriction information has changed.
- RFSP_CH: RFSP index change. The UDM notifies the AMF that the subscribed RFSP index has changed.
- ALLOWED_NSSAI_CH: Allowed NSSAI change. The AMF notifies that the set of UE allowed S-NSSAIs has changed.
- UE_AMBR_CH: UE-AMBR change. The UDM notifies the AMF that the subscribed UE-AMBR has changed.
- SMF_SELECT_CH: SMF selection information change. The UE requested for an unsupported DNN or UE requested for a DNN within the list of DNN candidates for replacement per S-NSSAI.
- ACCESS_TYPE_CH: Access Type change. The AMF notifies that the access type and the RAT type combinations available in the AMF for a UE with simultaneous 3GPP and non-3GPP connectivity has changed.
PolicyAssociationReleaseCause:
anyOf:
- type: string
enum:
- UNSPECIFIED
- UE_SUBSCRIPTION
- INSUFFICIENT_RES
- 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
- UNSPECIFIED: This value is used for unspecified reasons.
- UE_SUBSCRIPTION: This value is used to indicate that the session needs to be terminated because the subscription of UE has changed (e.g. was removed).
- INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and needs to abort the session.