Commit df894fd1 authored by Jesus de Gregorio's avatar Jesus de Gregorio
Browse files

March'19

parent accf2c5c
Loading
Loading
Loading
Loading
Loading
+135 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  version: 2.0.0
  title: 'Nudr_DataRepository API OpenAPI file'
  description: 'Unified Data Repository Service'
externalDocs:
  description: 3GPP TS 29.504 V15.3.0; 5G System; Unified Data Repository Services; Stage 3
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.504/'
servers:
  - description: API root
    url: '{apiRoot}/nudr-dr/v2'
    variables:
      apiRoot:
        default: https://example.com
security:
  - {}
  - oAuth2ClientCredentials:
      - nudr-dr

paths:
  /subscription-data/{ueId}/authentication-data/authentication-subscription:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-subscription'
  /subscription-data/{ueId}/authentication-data/authentication-status:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status'
  /subscription-data/{ueId}/ue-update-confirmation-data/sor-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1sor-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1am-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1smf-selection-subscription-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sm-data'
  /subscription-data/{ueId}/context-data/amf-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-3gpp-access'
  /subscription-data/{ueId}/context-data/amf-non-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-non-3gpp-access'
  /subscription-data/{ueId}/context-data/smf-registrations:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations'
  /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations~1%7BpduSessionId%7D'
  /subscription-data/{ueId}/operator-specific-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-specific-data'
  /subscription-data/{ueId}/context-data/smsf-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-3gpp-access'
  /subscription-data/{ueId}/context-data/smsf-non-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-non-3gpp-access'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-mng-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-data'
  /subscription-data/{ueId}/pp-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-data'
  /subscription-data/{ueId}/context-data/ee-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions'
  /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D'
  /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1amf-subscriptions'
  /subscription-data/group-data/{ueGroupId}/ee-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions'
  /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D'
  /subscription-data/{ueId}/ee-profile-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ee-profile-data'
  /subscription-data/{ueId}/context-data/sdm-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions'
  /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions~1%7BsubsId%7D'
  /subscription-data/shared-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1shared-data'
  /subscription-data/subs-to-notify:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify'
  /subscription-data/subs-to-notify/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify~1%7BsubsId%7D'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1trace-data'
  /subscription-data/{ueId}/identity-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1identity-data'
  /subscription-data/{ueId}/operator-determined-barring-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-determined-barring-data'
  /subscription-data/{ueId}/context-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data'
  /policy-data/ues/{ueId}/am-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1am-data'
  /policy-data/ues/{ueId}/ue-policy-set:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1ue-policy-set'
  /policy-data/ues/{ueId}/sm-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data'
  /policy-data/ues/{ueId}/sm-data/{usageMonId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data~1%7BusageMonId%7D'
  /policy-data/sponsor-connectivity-data/{sponsorId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1sponsor-connectivity-data~1%7BsponsorId%7D'
  /policy-data/bdt-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data'
  /policy-data/bdt-data/{bdtReferenceId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data~1%7BbdtReferenceId%7D'
  /policy-data/subs-to-notify:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify'
  /policy-data/subs-to-notify/{subsId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify~1%7BsubsId%7D'
  /policy-data/ues/{ueId}/operator-specific-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1operator-specific-data'
  /application-data/pfds:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds'
  /application-data/pfds/{appId}:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds~1%7BappId%7D'
  /application-data/influenceData:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData'
  /application-data/influenceData/{influenceId}:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1%7BinfluenceId%7D'
  /policy-data/plmns/{plmnId}/ue-policy-set:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1plmns~1%7BplmnId%7D~1ue-policy-set'
  /application-data/influenceData/subs-to-notify:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify'
  /application-data/influenceData/subs-to-notify/{subscriptionId}:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify~1%7BsubscriptionId%7D'
  /exposure-data/{ueId}/access-and-mobility-data:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1access-and-mobility-data'
  /exposure-data/{ueId}/session-management-data/{pduSessionId}:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1session-management-data~1%7BpduSessionId%7D'
  /exposure-data/subs-to-notify:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify'
  /exposure-data/subs-to-notify/{subId}:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify~1%7BsubId%7D'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes: 
            nudr-dr: Access to the Nudr_DataRepository API
+2493 −0

File added.

Preview size limit exceeded, changes collapsed.

+124 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  version: 1.0.1
  title: Nausf_SoRProtection Service
  description: AUSF SoR Protection Service
servers:
  - url: '{apiRoot}/nausf-sorprotection/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
  - {}
  - oAuth2ClientCredentials:
      - nausf-sorprotection
paths:
  /{supi}/ue-sor:
    post:
      parameters:
        - name: supi
          in: path
          description: Identifier of the UE
          required: true
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SorInfo'
        required: true
      responses:
        '200':
          description: SorSecurityInfo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SorSecurityInfo'
        '503':
          description: Service Unavailable
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nausf-sorprotection: Access to the Nausf_SoRProtection API
  schemas:
    SorInfo:
      type: object
      properties:
        steeringContainer:
          $ref: '#/components/schemas/SteeringContainer'
        ackInd:
          $ref: '#/components/schemas/AckInd'
      required:
        - ackInd
    SorSecurityInfo:
      type: object
      properties:
        sorMacIausf:
          $ref: '#/components/schemas/SorMac'
        counterSor:
          $ref: '#/components/schemas/CounterSor'
        sorXmacIue:
          $ref: '#/components/schemas/SorMac'
      required:
        - sorMacIausf
        - counterSor
    SteeringContainer:
      oneOf:
        - type: array
          items:
            $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo'
          minItems: 1
        - $ref: '#/components/schemas/SecuredPacket'
    SteeringInfo:
      type: object
      properties:
        plmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        accessTechList:
          type: array
          items:
            $ref: '#/components/schemas/AccessTech'
          minItems: 1
      required:
        - plmnId
    SorMac:
      type: string
      pattern: '^[A-Fa-f0-9]{32}$'
    CounterSor:
      type: string
      pattern: '^[A-Fa-f0-9]{4}$'
    AckInd:
      type: boolean
    SecuredPacket:
      type: string
      format: base64
    AccessTech:
      anyOf:
      - type: string
        enum:
        - NR
        - EUTRAN_IN_WBS1_MODE_AND_NBS1_MODE
        - EUTRAN_IN_NBS1_MODE_ONLY
        - EUTRAN_IN_WBS1_MODE_ONLY
        - UTRAN
        - GSM_AND_ECGSM_IoT
        - GSM_WITHOUT_ECGSM_IoT
        - ECGSM_IoT_ONLY
        - CDMA_1xRTT
        - CDMA_HRPD
        - GSM_COMPACT
      - type: string
externalDocs:
  description: 3GPP TS 29.509 V15.3.0; 5G System; Authentication Server Services
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509'
+264 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  version: 1.0.1
  title: AUSF API
  description: OpenAPI specification for AUSF
servers:
  - url: '{apiRoot}/nausf-auth/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501.

security:
  - {}
  - oAuth2ClientCredentials:
      - nausf-auth
paths:
  /ue-authentications:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthenticationInfo'
        required: true
      responses:
        '201':
          description: UEAuthenticationCtx
          content:
            application/3gppHal+json:
              schema:
                $ref: '#/components/schemas/UEAuthenticationCtx'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth/v1/ue-authentications/{authCtxId}'
              required: true
              schema:
                type: string

        '400':
          description: Bad Request from the AMF
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden due to serving network not authorized
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
  /ue-authentications/{authCtxId}/5g-aka-confirmation:
    put:
      parameters:
        - name: authCtxId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmationData'
      responses:
        '200':
          description: Request processed (EAP success or Failure)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmationDataResponse'
                
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
  /ue-authentications/{authCtxId}/eap-session:
    post:
      operationId: EapAuthMethod
      parameters:
        - name: authCtxId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EapSession'
      responses:
        '200':
          description: Use to handle or close the EAP session
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EapSession'
                
            application/3gppHal+json:
              schema:
                type: object
                properties:
                  eapPayload:
                    $ref: '#/components/schemas/EapPayload'
                  _links:
                    type: object
                    description: 'URI : /{eapSessionUri}'
                    additionalProperties:
                      $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema'
                    minProperties: 1
                required:
                  - eapPayload
                  - _links
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nausf-auth: Access to Nausf_UEAuthentication API
  schemas:
    AuthenticationInfo:
      type: object
      properties:
        supiOrSuci:
          $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/SupiOrSuci'
        servingNetworkName:
          $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName'
        resynchronizationInfo:
          $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo'
        traceData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
      required:
        - supiOrSuci
        - servingNetworkName
    UEAuthenticationCtx:
      type: object
      properties:
        authType:
          $ref: '#/components/schemas/AuthType'
        5gAuthData:
          oneOf:
            - $ref: '#/components/schemas/Av5gAka'
            - $ref: '#/components/schemas/EapPayload'
        _links:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema'
        servingNetworkName:
          $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName'
      required:
        - authType
        - 5gAuthData
        - _links
    
    Av5gAka:
      type: object
      required:
        - rand
        - hxresStar
        - autn
      properties:
        rand:
          $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand'
        hxresStar:
          $ref: '#/components/schemas/HxresStar'
        autn:
          $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Autn'
    ConfirmationData:
      type: object
      required:
        - resStar
      properties:
        resStar:
          $ref: '#/components/schemas/ResStar'
    ConfirmationDataResponse:
      type: object
      properties:
        authResult:
          $ref: '#/components/schemas/AuthResult'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        kseaf:
          $ref: '#/components/schemas/Kseaf'

      required:
        - authResult
    EapSession:
      type: object
      properties:
        eapPayload:
          $ref: '#/components/schemas/EapPayload'
        kSeaf:
          $ref: '#/components/schemas/Kseaf'
        _links:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema'
        authResult:
          $ref: '#/components/schemas/AuthResult'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
      required:
        - eapPayload

    AuthResult:
      type: string
      enum:
        - AUTHENTICATION_SUCCESS
        - AUTHENTICATION_FAILURE
        - AUTHENTICATION_ONGOING
    EapPayload:
      type: string
      format: base64
      description: contains an EAP packet
    Kseaf:
      type: string
      pattern: '[A-Fa-f0-9]{64}'
    ResStar:
      type: string
      pattern: '[A-Fa-f0-9]{32}'
      nullable: true
    HxresStar:
      type: string
      pattern: "[A-Fa-f0-9]{32}"
    AuthType:
      anyOf:
        - type: string
          enum:
            - 5G_AKA
            - EAP_AKA_PRIME
            - EAP_TLS
        - type: string
externalDocs:
  description: 3GPP TS 29.509 V15.3.0; 5G System; 3GPP TS Authentication Server services.
  url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.509
+105 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  version: 1.0.0
  title: Nausf_UPUProtection Service
  description: AUSF UPU Protection Service
servers:
  - url: '{apiRoot}/nausf-upuprotection/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
  - {}
  - oAuth2ClientCredentials:
      - nausf-upuprotection
paths:
  /{supi}/ue-upu:
    post:
      parameters:
        - name: supi
          in: path
          description: Identifier of the UE
          required: true
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpuInfo'
        required: true
      responses:
        '200':
          description: UpuSecurityInfo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpuSecurityInfo'
        '503':
          description: Service Unavailable
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nausf-upuprotection: Access to the Nausf_UPUProtection API
  schemas:
    UpuInfo:
      type: object
      properties:
        upuDataList: 
          type: array
          items:
            $ref: '#/components/schemas/UpuData'
          minItems: 1
        ackInd:
          $ref: '#/components/schemas/AckInd'
      required: 
        - upuDataList
        - ackInd
    UpuSecurityInfo:
      type: object
      properties:
        upuMacIausf:
          $ref: '#/components/schemas/UpuMac'
        counterUpu:
          $ref: '#/components/schemas/CounterUpu'
        upuXmacIue:
          $ref: '#/components/schemas/UpuMac'
      required:
        - upuMacIausf
        - counterUpu
    UpuData:
      type: object
      properties:
        secPacket:
          $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SecuredPacket'
        defaultConfNssai:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1 
      oneOf:
        - required: [secPacket]
        - required: [defaultConfNssai]
    UpuMac:
      type: string
      pattern: '^[A-Fa-f0-9]{32}$'
    CounterUpu:
      type: string
      pattern: '^[A-Fa-f0-9]{4}$'
    AckInd:
      type: boolean

externalDocs:
  description: 3GPP TS 29.509 V15.3.0; 5G System; Authentication Server Services
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509'
Loading