[DCAEGEN2] Add new OpenAPI schemas configmap
[oom.git] / kubernetes / dcaegen2-services / resources / external / schemas / sa91-rel16 / provMnS.yaml
diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml
new file mode 100644 (file)
index 0000000..1dd467e
--- /dev/null
@@ -0,0 +1,500 @@
+openapi: 3.0.1
+info:
+  title: Provisioning MnS
+  version: 16.5.0
+  description: >-
+    OAS 3.0.1 definition of the Provisioning MnS
+    © 2020, 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 retourned 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: 'comDefs.yaml#/components/schemas/ErrorResponse'
+      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: '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: '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: 'comDefs.yaml#/components/schemas/ErrorResponse'
+        notifyMOIChanges:
+          '{request.body#/notificationRecipientAddress}':
+            post:
+              requestBody:
+                required: true
+                content:
+                  application/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: '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. No filter language is specified in the present
+            document.
+          required: false
+          schema:
+            $ref: 'comDefs.yaml#/components/schemas/Filter'
+        - name: attributes
+          in: query
+          description: >-
+            This parameter specifies the attributes of the scoped resources that
+            are returned.
+          required: true
+          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
+      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'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+    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:
+                type: object
+          application/3gpp-json-patch+json:
+            schema:
+              type: array
+              items:
+                type: object
+      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:
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+    delete:
+      summary: Deletes one or multiple resources
+      description: >-
+        With HTTP DELETE resources are deleted. The resources to be deleted are
+        identified with the target URI.
+      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 resources
+            representations for which the filter construct evaluates to "true"
+            are returned. No filter language is specified in the present
+            document.
+          required: false
+          schema:
+            $ref: 'comDefs.yaml#/components/schemas/Filter'
+      responses:
+        '200':
+          description: >-
+            Success case ("200 OK").
+            This status code shall be returned, when query parameters are present in
+            the request and one or multiple resources are deleted.
+            The URIs of the deleted resources are returned in the response message body.
+        '204':
+          description: >-
+            Success case ("204 No Content").
+            This status code shall be returned, when no query parameters are present in
+            the request and only one resource is deleted.
+            The message body is empty.
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: 'comDefs.yaml#/components/schemas/Uri'
+        default:
+          description: Error case.
+          content:
+            application/json:
+              schema:
+                $ref: 'comDefs.yaml#/components/schemas/ErrorResponse'
+components:
+  schemas:
+    CorrelatedNotification:
+      type: object
+      properties:
+        source:
+          $ref: 'comDefs.yaml#/components/schemas/Dn'
+        notificationIds:
+          type: array
+          items:
+            $ref: 'comDefs.yaml#/components/schemas/NotificationId'
+      required:
+        - source
+        - notificationIds
+    CmNotificationTypes:
+      type: string
+      enum:
+        - notifyMOICreation
+        - notifyMOIDeletion
+        - notifyMOIAttributeValueChanges
+        - notifyMOIChanges
+    SourceIndicator:
+      type: string
+      enum:
+        - RESOURCE_OPERATION
+        - MANAGEMENT_OPERATION
+        - SON_OPERATION
+        - UNKNOWN
+    Operation:
+      type: string
+      enum:
+        - CREATE
+        - DELETE
+        - REPLACE
+    ScopeType:
+      type: string
+      enum:
+        - BASE_ONLY
+        - BASE_NTH_LEVEL
+        - BASE_SUBTREE
+        - BASE_ALL
+    Scope:
+      type: object
+      properties:
+        scopeType:
+          $ref: '#/components/schemas/ScopeType'
+        scopeLevel:
+          type: integer
+
+
+    Resource:
+      oneOf:
+        - type: object
+          properties:
+            id:
+              type: string
+            attributes:
+              type: object
+          additionalProperties:
+            type: array
+            items:
+              type: object
+        - anyOf:
+            - $ref: 'genericNrm.yaml#/components/schemas/resources-genericNrm'
+            - $ref: 'nrNrm.yaml#/components/schemas/resources-nrNrm'
+            - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm'
+            - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm'
+
+    MoiChange:
+      type: object
+      properties:
+        notificationId:
+          $ref: 'comDefs.yaml#/components/schemas/NotificationId'
+        correlatedNotifications:
+          type: array
+          items:
+            $ref: '#/components/schemas/CorrelatedNotification'
+        additionalText:
+          type: string
+        sourceIndicator:
+          $ref: '#/components/schemas/SourceIndicator'
+        path:
+          $ref: 'comDefs.yaml#/components/schemas/Uri'
+        operation:
+          $ref: '#/components/schemas/Operation'
+        value:
+          oneOf:
+            - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+            - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
+
+    NotifyMoiCreation:
+      allOf:
+        - $ref: '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: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+    NotifyMoiDeletion:
+      allOf:
+        - $ref: '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: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet'
+    NotifyMoiAttributeValueChanges:
+      allOf:
+        - $ref: '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: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet'
+          required:
+            - attributeListValueChanges
+    NotifyMoiChanges:
+      allOf:
+        - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader'
+        - type: object
+          properties:
+            moiChanges:
+              type: array
+              items:
+                $ref: '#/components/schemas/MoiChange'
+          required:
+            - moiChanges