Commit 018a1e77 authored by SHAN CHEN's avatar SHAN CHEN
Browse files

Upload the YAML for cross reference compile

parent 663ce32b
Loading
Loading
Loading
Loading
Loading
+571 −0
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: Provisioning MnS
  version: 18.3.0
  description: >-
    OAS 3.0.1 definition of the Provisioning MnS
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.532; Generic management services
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/
servers:
  - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}'
    variables:
      MnSRoot:
        description: See clause 4.4.2 of TS 32.158
        default: http://example.com/3GPPManagement
      MnSVersion:
        description: Version number of the OpenAPI definition
        default: XXX
      URI-LDN-first-part:
        description: See clause 4.4.2 of TS 32.158
        default: ''
paths:
  '/{className}={id}':
    parameters:
      - name: className
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: Replaces a complete single resource or creates it if it does not exist
      description: >-
        With HTTP PUT a complete resource is replaced or created if it does not
        exist. The target resource is identified by the target URI.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resource'
      responses:
        '200':
          description: >-
            Success case ("200 OK").
            This status code shall be returned when the resource is replaced, and
            when the replaced resource representation is not identical to the resource
            representation in the request.
            This status code may be returned when the resource is updated and when the
            updated resource representation is identical to the resource representation
            in the request.
            The representation of the updated resource is returned in the response
            message body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '201':
          description: >-
            Success case ("201 Created").
            This status code shall be returned when the resource is created.
            The representation of the created resource is returned in the response
            message body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '204':
          description: >-
            Success case ("204 No Content").
            This status code may be returned only when the replaced resource
            representation is identical to the representation in the request.
            The response has no message body.
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponseDefault'
      callbacks:
        notifyMOICreation:
          '{request.body#/notificationRecipientAddress}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NotifyMoiCreation'
              responses:
                '204':
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response
                    has no message body.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse'
        notifyMOIDeletion:
          '{request.body#/notificationRecipientAddress}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NotifyMoiDeletion'
              responses:
                '204':
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response
                    has no message body.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse'
        notifyMOIAttributeValueChanges:
          '{request.body#/notificationRecipientAddress}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NotifyMoiAttributeValueChanges'
              responses:
                '204':
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response
                    has no message body.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse'
        notifyEvent:
          '{request.body#/notificationRecipientAddress}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NotifyEvent'
              responses:
                '204':
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response
                    has no message body.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse'
        notifyMOIChanges:
          '{request.body#/notificationRecipientAddress}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NotifyMoiChanges'
                  application/yang-data+json:
                    schema:
                      $ref: '#/components/schemas/NotifyMoiChanges'
              responses:
                '204':
                  description: >-
                    Success case ("204 No Content").
                    The notification is successfully delivered. The response
                    has no message body.
                default:
                  description: Error case.
                  content:
                    application/json:
                      schema:
                        $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse'
    get:
      summary: Reads one or multiple resources
      description: >-
        With HTTP GET resources are read. The resources to be retrieved are
        identified with the target URI. The attributes and fields parameter
        of the query components allow to select the resource properties to be returned.
      parameters:
        - name: scope
          in: query
          description: >-
            This parameter extends the set of targeted resources beyond the base
            resource identified with the path component of the URI. No scoping
            mechanism is specified in the present document.
          required: false
          schema:
            $ref: '#/components/schemas/Scope'
          style: form
          explode: true
        - name: filter
          in: query
          description: >-
            This parameter reduces the targeted set of resources by applying a
            filter to the scoped set of resource representations. Only resource
            representations for which the filter construct evaluates to "true"
            are targeted.
          required: false
          schema:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter'
        - name: attributes
          in: query
          description: >-
            This parameter specifies the attributes of the scoped resources that
            are returned.
          required: false
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: fields
          in: query
          description: >-
            This parameter specifies the attribute field of the scoped resources
            that are returned.
          required: false
          schema:
            type: array
            items:
              type: string
          style: form
          explode: false
        - name: dataNodeSelector
          in: query
          description: >-
            This parameter contains an expression allowing to conditionally
            select data nodes.
          required: false
          schema:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter'
      responses:
        '200':
          description: >-
            Success case ("200 OK").
            The resources identified in the request for retrieval are returned
            in the response message body. In case the attributes or fields query
            parameters are used, only the selected attributes or sub-attributes are
            returned. The response message body is constructed according to the
            hierarchical response construction method (TS 32.158 [15]).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
            application/vnd.3gpp.object-tree-hierarchical+json:
              schema:
                $ref: '#/components/schemas/Resource'
            application/vnd.3gpp.object-tree-flat+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Resource'
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponseGet'
    patch:
      summary: Patches one or multiple resources
      description: >-
        With HTTP PATCH resources are created, updated or deleted. The resources
        to be modified are identified with the target URI (base resource) and
        the patch document included in the request message body.
      requestBody:
        description: >-
          The request body describes changes to be made to the target resources.
          The following patch media types are available
            - "application/merge-patch+json" (RFC 7396)
            - "application/3gpp-merge-patch+json" (TS 32.158)
            - "application/json-patch+json" (RFC 6902)
            - "application/3gpp-json-patch+json" (TS 32.158)
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/Resource'
          application/3gpp-merge-patch+json:
            schema:
              $ref: '#/components/schemas/Resource'
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchItem'
          application/3gpp-json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/PatchItem'
      responses:
        '200':
          description: >-
            Success case ("200 OK").
            This status code is returned when the updated the resource representations
            shall be returned for some reason.
            The resource representations are returned in the response message body. The
            response message body is constructed according to the hierarchical response
            construction method (TS 32.158 [15])
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '204':
          description: >-
            Success case ("204 No Content").
            This status code is returned when there is no need to return the updated
            resource representations.
            The response message body is empty.
        default:
          description: Error case.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponseDefault'
                  - $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponsePatch'
    delete:
      summary: Deletes one resource
      description: >-
        With HTTP DELETE one resource is deleted. The resources to be deleted is
        identified with the target URI.
      responses:
        '200':
          description: >-
            Success case ("200 OK").
            This status code is returned, when the resource has been successfully deleted.
            The response body is empty.
        default:
          description: Error case.
          content:
            application/json:
              schema:
                $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponseDefault'
components:
  schemas:
    CmNotificationTypes:
      type: string
      enum:
        - notifyMOICreation
        - notifyMOIDeletion
        - notifyMOIAttributeValueChanges
        - notifyEvent
        - notifyMOIChanges
    SourceIndicator:
      type: string
      enum:
        - RESOURCE_OPERATION
        - MANAGEMENT_OPERATION
        - SON_OPERATION
        - UNKNOWN
    ScopeType:
      type: string
      enum:
        - BASE_ONLY
        - BASE_NTH_LEVEL
        - BASE_SUBTREE
        - BASE_ALL
    Operation:
      type: string
      enum:
        - add
        - remove
        - replace
    Insert:
      type: string
      enum:
        - before
        - after
    PatchOperation:
      type: string
      enum:
        - add
        - replace
        - remove
        - copy
        - move
        - test

    Resource:
      oneOf:
        - type: object
          properties:
            id:
              type: string
            objectClass:
              type: string
            objectInstance:
              $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
            attributes:
              type: object
          additionalProperties:
            type: array
            items:
              type: object
          required:
            - id
        - anyOf:
            - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/resources-genericNrm'
            - $ref: 'TS28541_NrNrm.yaml#/components/schemas/resources-nrNrm'
            - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/resources-5gcNrm'
            - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/resources-sliceNrm'
            - $ref: 'TS28536_CoslaNrm.yaml#/components/schemas/resources-coslaNrm'            
            - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/resources-intentNrm'
            - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/resources-mdaNrm'
            - $ref: 'TS28105_AiMlNrm.yaml#/components/schemas/resources-AiMlNrm'                           
            - $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/resources-edgeNrm'
            - $ref: 'TS28317_RanScNrm.yaml#/components/schemas/resources-RanScNrm'   
            - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/resources-fileMgmtNrm'
            - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/resources-mgmtDataCollectionNrm'
            - $ref: 'TS28623_MnSRegistryNrm.yaml#/components/schemas/resources-mnSRegistryNrm'     
            - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/resources-pmControlNrm'
            - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/resources-faultNrm'            
            - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/resources-qoEMeasuremetCollectionNrm' 
            - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/resources-subscriptionControlNrm'  
            - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/resources-thresholdMonitorNrm'   
            - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/resources-traceControlNrm'                                                                                                              
            - $ref: 'TS28319_MsacNrm.yaml#/components/schemas/resources-msacNrm'
            - $ref: 'TS28318_DsoNrm.yaml#/components/schemas/resources-DSORecovery'
    Scope:
      type: object
      properties:
        scopeType:
          $ref: '#/components/schemas/ScopeType'
        scopeLevel:
          type: integer
    CorrelatedNotification:
      type: object
      properties:
        source:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
        notificationIds:
          type: array
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId'
      required:
        - source
        - notificationIds
    MoiChange:
      type: object
      properties:
        notificationId:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId'
        correlatedNotifications:
          type: array
          items:
            $ref: '#/components/schemas/CorrelatedNotification'
        additionalText:
          type: string
        sourceIndicator:
          $ref: '#/components/schemas/SourceIndicator'
        op:
          $ref: '#/components/schemas/Operation'
        path:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri'
        insert:
          $ref: '#/components/schemas/Insert'
        value: {}
        oldValue: {}
      required:
        - notificationId
        - op
        - path
    NotifyMoiCreation:
      allOf:
        - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          properties:
            correlatedNotifications:
              type: array
              items:
                $ref: '#/components/schemas/CorrelatedNotification'
            additionalText:
              type: string
            sourceIndicator:
              $ref: '#/components/schemas/SourceIndicator'
            attributeList:
              $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet'
    NotifyMoiDeletion:
      allOf:
        - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          properties:
            correlatedNotifications:
              type: array
              items:
                $ref: '#/components/schemas/CorrelatedNotification'
            additionalText:
              type: string
            sourceIndicator:
              $ref: '#/components/schemas/SourceIndicator'
            attributeList:
              $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet'
    NotifyMoiAttributeValueChanges:
      allOf:
        - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          properties:
            correlatedNotifications:
              type: array
              items:
                $ref: '#/components/schemas/CorrelatedNotification'
            additionalText:
              type: string
            sourceIndicator:
              $ref: '#/components/schemas/SourceIndicator'
            attributeListValueChanges:
              $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet'
          required:
            - attributeListValueChanges
    NotifyEvent:
      allOf:
        - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          required:
            - specificProblem
          properties:
            specificProblem:
              $ref: 'TS28111_FaultNrm.yaml#/components/schemas/SpecificProblem'
            additionalText:
              type: string
            additionalInformation:
              $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet'
    NotifyMoiChanges:
      allOf:
        - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader'
        - type: object
          properties:
            moiChanges:
              type: array
              items:
                $ref: '#/components/schemas/MoiChange'
          required:
            - moiChanges
    PatchItem:
      type: object
      properties:
        op:
          $ref: '#/components/schemas/PatchOperation'
        from:
          type: string
        path:
          type: string
        value:
          nullable: true
      required:
        - op
        - path