Loading TS29510_Nnrf_AccessToken.yaml 0 → 100644 +146 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: version: '1.0.1' title: 'NRF OAuth2' description: 'NRF OAuth2 Authorization' paths: /oauth2/token: post: summary: Access Token Request operationId: AccessTokenRequest tags: - Access Token Request requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccessTokenReq' required: true responses: '200': description: Successful Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenRsp' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' '400': description: Error in the Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenErr' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' components: headers: cache-control: required: true schema: type: string enum: - no-store pragma: required: true schema: type: string enum: - no-cache schemas: AccessTokenReq: type: object required: - grant_type - nfInstanceId - scope properties: grant_type: type: string enum: - client_credentials nfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' nfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' targetNfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' scope: type: string pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$' targetNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' requesterPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' targetPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' AccessTokenRsp: type: object required: - access_token - token_type properties: access_token: type: string description: JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) token_type: type: string enum: - Bearer expires_in: type: integer scope: type: string pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$' AccessTokenClaims: type: object required: - iss - sub - aud - scope - exp properties: iss: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' sub: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' aud: anyOf: - $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' minItems: 1 scope: type: string pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$' exp: type: integer AccessTokenErr: type: object required: - error properties: error: type: string enum: - invalid_request - invalid_client - invalid_grant - unauthorized_client - unsupported_grant_type - invalid_scope error_description: type: string error_uri: type: string externalDocs: description: 3GPP TS 29.510 V15.3.0; 5G System; Network Function Repository Services; Stage 3 url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' TS29510_Nnrf_NFDiscovery.yaml 0 → 100644 +505 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: version: '1.0.1' title: 'NRF NFDiscovery Service' description: 'NRF NFDiscovery Service' servers: - url: '{apiRoot}/nnrf-disc/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 security: - {} - oAuth2ClientCredentials: - nnrf-disc paths: /nf-instances: get: summary: Search a collection of NF Instances operationId: SearchNFInstances tags: - NF Instances (Store) parameters: - name: target-nf-type in: query description: Type of the target NF required: true schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - name: requester-nf-type in: query description: Type of the requester NF required: true schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - name: service-names in: query description: Names of the services offered by the NF schema: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' minItems: 1 uniqueItems: true style: form explode: false - name: requester-nf-instance-fqdn in: query description: FQDN of the requester NF schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' - name: target-plmn-list in: query description: Id of the PLMN of the target NF content: application/json: schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 - name: requester-plmn-list in: query description: Id of the PLMN where the NF issuing the Discovery request is located content: application/json: schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 - name: target-nf-instance-id in: query description: Identity of the NF instance being discovered schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' - name: target-nf-fqdn in: query description: FQDN of the NF instance being discovered schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' - name: hnrf-uri in: query description: Uri of the home NRF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' - name: snssais in: query description: Slice info of the target NF content: application/json: schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 - name: plmn-specific-snssai-list in: query description: PLMN specific Slice info of the target NF content: application/json: schema: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' minItems: 1 - name: dnn in: query description: Dnn supported by the BSF, SMF or UPF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' - name: nsi-list in: query description: NSI IDs that are served by the services being discovered schema: type: array items: type: string minItems: 1 style: form explode: false - name: smf-serving-area in: query schema: type: string - name: tai in: query description: Tracking Area Identity content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' - name: amf-region-id in: query description: AMF Region Identity schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' - name: amf-set-id in: query description: AMF Set Identity schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' - name: guami in: query description: Guami used to search for an appropriate AMF content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' - name: supi in: query description: SUPI of the user schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' - name: ue-ipv4-address in: query description: IPv4 address of the UE schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' - name: ip-domain in: query description: IP domain of the UE, which supported by BSF schema: type: string - name: ue-ipv6-prefix in: query description: IPv6 prefix of the UE schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' - name: pgw-ind in: query description: Combined PGW-C and SMF or a standalone SMF schema: type: boolean - name: pgw in: query description: PGW FQDN of a combined PGW-C and SMF schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' - name: gpsi in: query description: GPSI of the user schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' - name: external-group-identity in: query description: external group identifier of the user schema: type: string - name: data-set in: query description: data set supported by the NF schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DataSetId' - name: routing-indicator in: query description: routing indicator in SUCI schema: type: string pattern: '^[0-9]{1,4}$' - name: group-id-list in: query description: Group IDs of the NFs being discovered schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' minItems: 1 style: form explode: false - name: dnai-list in: query description: Data network access identifiers of the NFs being discovered schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 style: form explode: false - name: pdu-session-types in: query description: list of PDU Session Type required to be supported by the target NF schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' minItems: 1 style: form explode: false - name: supported-features in: query description: Features required to be supported by the target NF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' - name: upf-iwk-eps-ind in: query description: UPF supporting interworking with EPS or not schema: type: boolean - name: chf-supported-plmn in: query description: PLMN ID supported by a CHF content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' - name: preferred-locality in: query description: preferred target NF location schema: type: string - name: access-type in: query description: AccessType supported by the target NF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' - name: limit in: query description: Maximum number of NFProfiles to return in the response required: false schema: type: integer minimum: 1 - name: required-features in: query description: Features required to be supported by the target NF schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' minItems: 1 style: form explode: false - name: complex-query in: query description: the complex query condition expression content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ComplexQuery' - name: max-payload-size in: query description: Maximum payload size of the response expressed in kilo octets required: false schema: type: integer maximum: 2000 default: 124 - name: If-None-Match in: header description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 schema: type: string responses: '200': description: Expected response to a valid request content: application/json: schema: $ref: '#/components/schemas/SearchResult' headers: Cache-Control: description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 schema: type: string ETag: description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 schema: type: string '307': description: Temporary Redirect '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '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' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '501': $ref: 'TS29571_CommonData.yaml#/components/responses/501' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '/oauth2/token' scopes: nnrf-disc: Access to the Nnrf_NFDiscovery API schemas: SearchResult: type: object required: - nfInstances properties: validityPeriod: type: integer nfInstances: type: array items: $ref: '#/components/schemas/NFProfile' nrfSupportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' NFProfile: type: object required: - nfInstanceId - nfType - nfStatus properties: nfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' nfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' nfStatus: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFStatus' plmnList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 sNssais: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 perPlmnSnssaiList: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' minItems: 1 nsiList: type: array items: type: string minItems: 1 fqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' ipv4Addresses: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6Addresses: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' minItems: 1 capacity: type: integer minimum: 0 maximum: 65535 load: type: integer minimum: 0 maximum: 100 locality: type: string priority: type: integer minimum: 0 maximum: 65535 udrInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' udmInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' ausfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' amfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' smfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' upfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' pcfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' bsfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' chfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' customInfo: type: object recoveryTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' nfServicePersistence: type: boolean default: false nfServices: type: array items: $ref: '#/components/schemas/NFService' minItems: 1 defaultNotificationSubscriptions: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' NFService: type: object required: - serviceInstanceId - serviceName - versions - scheme - nfServiceStatus properties: serviceInstanceId: type: string serviceName: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' versions: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceVersion' minItems: 1 scheme: $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' nfServiceStatus: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceStatus' fqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' ipEndPoints: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' minItems: 1 apiPrefix: type: string defaultNotificationSubscriptions: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' minItems: 1 capacity: type: integer minimum: 0 maximum: 65535 load: type: integer minimum: 0 maximum: 100 priority: type: integer minimum: 0 maximum: 65535 recoveryTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' chfServiceInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfServiceInfo' supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' externalDocs: description: 3GPP TS 29.510 V15.3.0; 5G System; Network Function Repository Services; Stage 3 url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' Loading
TS29510_Nnrf_AccessToken.yaml 0 → 100644 +146 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: version: '1.0.1' title: 'NRF OAuth2' description: 'NRF OAuth2 Authorization' paths: /oauth2/token: post: summary: Access Token Request operationId: AccessTokenRequest tags: - Access Token Request requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccessTokenReq' required: true responses: '200': description: Successful Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenRsp' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' '400': description: Error in the Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenErr' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' components: headers: cache-control: required: true schema: type: string enum: - no-store pragma: required: true schema: type: string enum: - no-cache schemas: AccessTokenReq: type: object required: - grant_type - nfInstanceId - scope properties: grant_type: type: string enum: - client_credentials nfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' nfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' targetNfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' scope: type: string pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$' targetNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' requesterPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' targetPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' AccessTokenRsp: type: object required: - access_token - token_type properties: access_token: type: string description: JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) token_type: type: string enum: - Bearer expires_in: type: integer scope: type: string pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$' AccessTokenClaims: type: object required: - iss - sub - aud - scope - exp properties: iss: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' sub: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' aud: anyOf: - $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' minItems: 1 scope: type: string pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$' exp: type: integer AccessTokenErr: type: object required: - error properties: error: type: string enum: - invalid_request - invalid_client - invalid_grant - unauthorized_client - unsupported_grant_type - invalid_scope error_description: type: string error_uri: type: string externalDocs: description: 3GPP TS 29.510 V15.3.0; 5G System; Network Function Repository Services; Stage 3 url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/'
TS29510_Nnrf_NFDiscovery.yaml 0 → 100644 +505 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: version: '1.0.1' title: 'NRF NFDiscovery Service' description: 'NRF NFDiscovery Service' servers: - url: '{apiRoot}/nnrf-disc/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 security: - {} - oAuth2ClientCredentials: - nnrf-disc paths: /nf-instances: get: summary: Search a collection of NF Instances operationId: SearchNFInstances tags: - NF Instances (Store) parameters: - name: target-nf-type in: query description: Type of the target NF required: true schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - name: requester-nf-type in: query description: Type of the requester NF required: true schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - name: service-names in: query description: Names of the services offered by the NF schema: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' minItems: 1 uniqueItems: true style: form explode: false - name: requester-nf-instance-fqdn in: query description: FQDN of the requester NF schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' - name: target-plmn-list in: query description: Id of the PLMN of the target NF content: application/json: schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 - name: requester-plmn-list in: query description: Id of the PLMN where the NF issuing the Discovery request is located content: application/json: schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 - name: target-nf-instance-id in: query description: Identity of the NF instance being discovered schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' - name: target-nf-fqdn in: query description: FQDN of the NF instance being discovered schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' - name: hnrf-uri in: query description: Uri of the home NRF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' - name: snssais in: query description: Slice info of the target NF content: application/json: schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 - name: plmn-specific-snssai-list in: query description: PLMN specific Slice info of the target NF content: application/json: schema: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' minItems: 1 - name: dnn in: query description: Dnn supported by the BSF, SMF or UPF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' - name: nsi-list in: query description: NSI IDs that are served by the services being discovered schema: type: array items: type: string minItems: 1 style: form explode: false - name: smf-serving-area in: query schema: type: string - name: tai in: query description: Tracking Area Identity content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' - name: amf-region-id in: query description: AMF Region Identity schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' - name: amf-set-id in: query description: AMF Set Identity schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' - name: guami in: query description: Guami used to search for an appropriate AMF content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' - name: supi in: query description: SUPI of the user schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' - name: ue-ipv4-address in: query description: IPv4 address of the UE schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' - name: ip-domain in: query description: IP domain of the UE, which supported by BSF schema: type: string - name: ue-ipv6-prefix in: query description: IPv6 prefix of the UE schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' - name: pgw-ind in: query description: Combined PGW-C and SMF or a standalone SMF schema: type: boolean - name: pgw in: query description: PGW FQDN of a combined PGW-C and SMF schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' - name: gpsi in: query description: GPSI of the user schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' - name: external-group-identity in: query description: external group identifier of the user schema: type: string - name: data-set in: query description: data set supported by the NF schema: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DataSetId' - name: routing-indicator in: query description: routing indicator in SUCI schema: type: string pattern: '^[0-9]{1,4}$' - name: group-id-list in: query description: Group IDs of the NFs being discovered schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' minItems: 1 style: form explode: false - name: dnai-list in: query description: Data network access identifiers of the NFs being discovered schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 style: form explode: false - name: pdu-session-types in: query description: list of PDU Session Type required to be supported by the target NF schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' minItems: 1 style: form explode: false - name: supported-features in: query description: Features required to be supported by the target NF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' - name: upf-iwk-eps-ind in: query description: UPF supporting interworking with EPS or not schema: type: boolean - name: chf-supported-plmn in: query description: PLMN ID supported by a CHF content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' - name: preferred-locality in: query description: preferred target NF location schema: type: string - name: access-type in: query description: AccessType supported by the target NF schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' - name: limit in: query description: Maximum number of NFProfiles to return in the response required: false schema: type: integer minimum: 1 - name: required-features in: query description: Features required to be supported by the target NF schema: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' minItems: 1 style: form explode: false - name: complex-query in: query description: the complex query condition expression content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ComplexQuery' - name: max-payload-size in: query description: Maximum payload size of the response expressed in kilo octets required: false schema: type: integer maximum: 2000 default: 124 - name: If-None-Match in: header description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 schema: type: string responses: '200': description: Expected response to a valid request content: application/json: schema: $ref: '#/components/schemas/SearchResult' headers: Cache-Control: description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 schema: type: string ETag: description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 schema: type: string '307': description: Temporary Redirect '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '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' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '501': $ref: 'TS29571_CommonData.yaml#/components/responses/501' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '/oauth2/token' scopes: nnrf-disc: Access to the Nnrf_NFDiscovery API schemas: SearchResult: type: object required: - nfInstances properties: validityPeriod: type: integer nfInstances: type: array items: $ref: '#/components/schemas/NFProfile' nrfSupportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' NFProfile: type: object required: - nfInstanceId - nfType - nfStatus properties: nfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' nfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' nfStatus: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFStatus' plmnList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 sNssais: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 perPlmnSnssaiList: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' minItems: 1 nsiList: type: array items: type: string minItems: 1 fqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' ipv4Addresses: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6Addresses: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' minItems: 1 capacity: type: integer minimum: 0 maximum: 65535 load: type: integer minimum: 0 maximum: 100 locality: type: string priority: type: integer minimum: 0 maximum: 65535 udrInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' udmInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' ausfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' amfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' smfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' upfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' pcfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' bsfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' chfInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' customInfo: type: object recoveryTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' nfServicePersistence: type: boolean default: false nfServices: type: array items: $ref: '#/components/schemas/NFService' minItems: 1 defaultNotificationSubscriptions: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' NFService: type: object required: - serviceInstanceId - serviceName - versions - scheme - nfServiceStatus properties: serviceInstanceId: type: string serviceName: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' versions: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceVersion' minItems: 1 scheme: $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' nfServiceStatus: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceStatus' fqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' ipEndPoints: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' minItems: 1 apiPrefix: type: string defaultNotificationSubscriptions: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' minItems: 1 capacity: type: integer minimum: 0 maximum: 65535 load: type: integer minimum: 0 maximum: 100 priority: type: integer minimum: 0 maximum: 65535 recoveryTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' chfServiceInfo: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfServiceInfo' supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' externalDocs: description: 3GPP TS 29.510 V15.3.0; 5G System; Network Function Repository Services; Stage 3 url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/'