Commit 3fab0a85 authored by jinghh's avatar jinghh
Browse files

Edit TS29369_Nadm_DM.yaml

parent 193d1789
Loading
Loading
Loading
Loading
Loading
+126 −15
Original line number Diff line number Diff line
openapi: 3.0.0

info:
  version: '1.0.0-alpha.2'
  version: '1.0.0-alpha.3'
  title: 'Nadm_DM'
  description: |
    Nadm Data Management Service.  
@@ -9,8 +9,8 @@ info:
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.xxx Ambient IoT Data Management Services, version 0.2.0
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.xxx/'
  description: 3GPP TS 29.369 Ambient IoT Data Management Services, version 0.3.0
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.369/'

servers:
  - url: '{apiRoot}/nadm-dm/v1'
@@ -37,7 +37,7 @@ paths:
          description: AIoT Device Permanent ID
          required: true
          schema:
            $ref: '#/components/schemas/AiotDevPermId'
            $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
      responses:
        '200':
          description: Expected response to a valid request
@@ -52,7 +52,11 @@ paths:
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '406':
          $ref: 'TS29571_CommonData.yaml#/components/responses/406'
        '429':
@@ -69,14 +73,14 @@ paths:
      summary: modify AIoT Device Profile Data
      operationId: Modify AIoT Device Profile Data
      tags:
        - AIoT Device Profile Data Updata
        - AIoT Device Profile Data Update
      parameters:
        - name: aiotDevPermId
          in: path
          description: AIoT Device Permanent ID
          required: true
          schema:
            $ref: '#/components/schemas/AiotDevPermId'
            $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
        - name: supported-features
          in: query
          description: Features required to be supported by the target NF
@@ -104,7 +108,11 @@ paths:
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
@@ -122,6 +130,51 @@ paths:
        default:
          description: Unexpected error

  /af-authorization-data:
    get:
      summary: get AF Authorization Data
      operationId: Get AF Authorization Data
      tags:
        - AF Authorization Data Retrieval
      parameters:
        - name: af-id
          in: query
          description: AF ID
          required: false
          schema:
            $ref: '#/components/schemas/AfId'
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AfAuthorizationData'
        '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':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '406':
          $ref: 'TS29571_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          description: Unexpected error

components:
  securitySchemes:
    oAuth2ClientCredentials:
@@ -133,6 +186,7 @@ components:
            nadm-dm: Access to the Nadm_DM API
            nadm-dm:aiot-device-profile-data:read: Access to read AIoT Device Profile Data
            nadm-dm:aiot-device-profile-data:modify: Access to update AIoT Device Profile Data
            nadm-dm:af-authorization-data:read: Access to read AF Authorization Data

  schemas:
#
@@ -147,7 +201,7 @@ components:
        - lastKnownAiotfInfo
      properties:
        aiotDevPermId:
          $ref: '#/components/schemas/AiotDevPermId'
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
        lastKnownAiotfInfo:
          $ref: '#/components/schemas/LastKnownAiotfInfo'

@@ -158,19 +212,76 @@ components:
        - lastKnownAiotfInfoInd
      properties:
        lastKnownAiotfInfoInd:
          $ref: '#/components/schemas/LastKnownAiotfInfoInd'
          type: boolean
        lastKnownAiotfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        lastKnownAiotfAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        lastKnownAiotfFqdn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn'

    IndividualAfAuthorizationData:
      description: Contains the AF Authorization Data for an invidual AF.
      type: object
      required:
        - afId
      properties:
        afId:
          $ref: '#/components/schemas/AfId'
        allowedArea:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotArea'
        allowedServiceOperations:
          type: array
          items:
            $ref: '#/components/schemas/AllowedServiceOperation'
        allowedTargetAiotDevices:
          type: array
          items:
            $ref: '#/components/schemas/AllowedTargetAiotDevice'

    AllowedTargetAiotDevice:
      description: Contains the permanent AIoT Device ID or the filtering information 
      type: object
      properties:
        aiotDevPermId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId'
        filteringInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/FilteringInformation'

    AfAuthorizationData:
      description: Contains the AF Authorization Data.
      type: object
      required:
        - afAuthData
      properties:
        afAuthData:
          type: object
          description: >
            'Map carrying the AF Authorization Data. 
            The key of the map is the AF ID of the corresponding Authorization Data'
          additionalProperties:
            $ref: '#/components/schemas/IndividualAfAuthorizationData'
          minProperties: 1
#
# SIMPLE TYPES
#

    AiotDevPermId:
      description: Indicates the AIoT device permanent identifier
    AfId:
      description: Indicates the identifier used to identify the AF.
      type: string
    LastKnownAiotfInfoInd:
      description: Indicates the Last Known AIoTF information indication
      type: boolean

#
# ENUMS
#

    AllowedServiceOperation:
      description: The Allowed Service Operation.
      anyOf:
        - type: string
          enum:
            - INVENTORY
            - READ
            - WRITE
            - PERMANENT_DISABLE
        - type: string