Commit f36bd6b5 authored by pingj's avatar pingj
Browse files

Update comDefs.yaml based on specification agreed in SA#90

parent 5f07b475
Loading
Loading
Loading
Loading
+48 −26
Original line number Diff line number Diff line
openapi: 3.0.1
info:
  title: Common Type Definitions
  version: 16.5.0
  version: 16.6.0
  description: >-
    OAS 3.0.1 specification of common type definitions in the Generic NRM
    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.623 V16.5.0; Generic NRM, Common Type Definitions
  description: 3GPP TS 28.623; Generic NRM; Common type definitions
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/
paths: {}
components:
  schemas:
    Long:
      type: number
      format: long
  
    Float:
      type: number
      format: float
    DateTime:
      type: string
      format: date-Time

    Dn:
      type: string
    DnList:
      type: array
      items:
        $ref: '#/components/schemas/Dn'

    Mcc:
      type: string
      pattern: '^[0-9]{3}$'
    Mnc:
      type: string
      pattern: '^[0-9]{2,3}$'
    PlmnId:
      type: object
      properties:
        mcc:
          $ref: '#/components/schemas/Mcc'
        mnc:
          $ref: '#/components/schemas/Mnc'
      required:
        - mcc
        - mnc

    Fqdn:
      type: string
    Uri:
      type: string

    Ipv4Addr:
      type: string
      pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'
@@ -53,6 +65,7 @@ components:
        - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$'
        - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$'
      example: '2001:db8:abcd:12::0/64'

    AdministrativeState:
      type: string
      enum:
@@ -69,45 +82,47 @@ components:
        - IDEL
        - ACTIVE
        - BUSY

    AttributeNameValuePairSet:
      description: >-
        The key of this map is the attribute name, and the value the attribute value.
      type: object
      minProperties: 1
      additionalProperties:
        nullable: true
    AttributeValueChangeSet:
      description: >-
        The key in this map is the attribute name. The value of each key is an array.
        When only one item is present in the array, it carries the new attribute
        value. If two items are present, then the first item carries the old value
        and the second item the new value. The items can be of any type including null.
      type: object
      additionalProperties:
        The first array item contains the attribute name value pairs with the new values,
        and the second array item the attribute name value pairs with the optional old values.
      type: array
      items:
        $ref: '#/components/schemas/AttributeNameValuePairSet'
        minItems: 1
        maxItems: 2
        items:
          nullable: true

    Filter:
      type: string
    SystemDN:
      type: string

    NotificationId:
      type: integer
    NotificationType:
      oneOf:
        - $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationType'
        - $ref: 'provMnS.yaml#/components/schemas/CmNotificationType'
        # more to be added
        - $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes'
        - $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes'
        - $ref: 'perfMnS.yaml#/components/schemas/PerfNotificationTypes'
        - $ref: 'heartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes'
        # The enum below will be replaced by a reference once notification
        # types are defined in "FileDataReportingMnS.yaml"
        - type: string
          enum:
            - notifyFileReady
            - notifyFilePreparationError
    NotificationHeader:
      description: >-
        Header used for all notifications types
      type: object
      required:
        - uri
        - notificationId
        - notificationType
        - eventTime
        - systemDn
      properties:
        uri:
        href:
          $ref: '#/components/schemas/Uri'
        notificationId:
          $ref: '#/components/schemas/NotificationId'
@@ -117,6 +132,13 @@ components:
          $ref: '#/components/schemas/DateTime'
        systemDN:
          $ref: '#/components/schemas/SystemDN'
      required:
        - href
        - notificationId
        - notificationType
        - eventTime
        - systemDN

    ErrorResponse:
      description: >-
        Default schema for the response message body in case the request