Commit a5501712 authored by piscione's avatar piscione
Browse files

Updated OAS specification and generated proto3 files.

parent 903f4692
Loading
Loading
Loading
Loading
+338 −48
Original line number Diff line number Diff line
@@ -16,16 +16,14 @@ openapi: 3.0.0
servers:
  - url: 'https://localhost/fai/v1'
tags:
  - name: queries
    description: Queries
  - name: subscription
    description: Subscription    
  - name: Queries
  - name: Subscription  

paths:
 /queries/fa_info:
  get:
   tags:
    - 'queries'
    - 'Queries'
   summary: 'Retrieve information on the available fixed access networks.'
   description: 'Retrieve information on the available fixed access networks.'
   operationId: fa_infoGET  
@@ -100,7 +98,7 @@ paths:
 /queries/device_info:
  get:
   tags:
    - 'queries'
    - 'Queries'
   summary: 'retrieve information on the devices that are connected to a fixed access network.'
   description: 'retrieve information on the devices that are connected to a fixed access network.'
   operationId: device_infoGET  
@@ -149,19 +147,296 @@ paths:
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'          
 #/queries/cable_line_info:
  #get: 
 #/queries/optical_network_info: 
  #get: 
 #/subscriptions: 
  #get:
  #post:
 #/subscriptions/{subscriptionId}: 
  #get:
  #put: 
  #delete: 
# /notifitication_end_point_provided_by_client
 #post:
          
 /queries/cable_line_info:
  get:
   tags:
    - 'Cable line info'
   summary: 'It Queries information about the cable line of a fixed access network.'
   description: 'It Queries information about the cable line of a fixed access network.'
   operationId: cable_line_infoGET  
   parameters:
        - in: query
          name: customerPremisesInfo
          schema:
           type: array
           items:
            $ref: '#/components/schemas/CpInfo'
          required: false
          description: 'Comma separated list of customer premises information'
        - in: query
          name: cmId
          schema:
            type: array
            items:
             type: string
          required: false
          description: 'Comma separated list of Cable Modem identifiers.'
    
 
   responses:
        '200':
          description: 'A response body containing the cable line information is returned.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CableLineInfo'        
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'  
 /queries/optical_network_info: 
  get:
   tags:
    - 'Optical network info'
   summary: 'used to query information about the optical network.'
   description: 'used to query information about the optical network.'
   operationId: optical_network_infoGET  
   parameters:
        - in: query
          name: customerPremisesInfo
          schema:
           type: array
           items:
            $ref: '#/components/schemas/CpInfo'
          required: false
          description: 'Comma separated list of customer premises information'
        - in: query
          name: ponYS_ID
          schema:
            type: array
            items:
             type: string
          required: false
          description: 'Comma separated list of optical system identifiers.'
        - in: query
          name: onuId
          schema:
            type: array
            items:
             type: string
          required: false
          description: 'Comma separated list of optical network unit identifiers.'   
 
   responses:
        '200':
          description: 'A response body containing the optical network information is returned.'
          content:
            application/json:
              schema:
                type: array
                items:
                 $ref: '#/components/schemas/PonInfo'        
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429' 
          
          
 /subscriptions: 
  get:
   tags:
    - 'Subscription'
   summary: 'request information about the subscriptions for this requestor.'
   description: 'request information about the subscriptions for this requestor.'
   operationId: subGET  
   parameters:
        - in: query
          name: subscription_type
          schema:
           type: string
          required: false
        
          description: 'Query parameter to filter on a specific subscription type. Permitted values: ONU_ALARM. DEVICE_ABNORMAL_ALERT. CM_CONNECTIVITY_STATE.  ANI_ALARM.'
   responses:
        '200':
          description: 'A response body containing the list of links to requestor subscriptions is returned.'
          content:
            application/json:
              schema:
                 $ref: '#/components/schemas/SubscriptionLinkList'        
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429' 
  post:
   tags:
    - 'Subscription'
   summary: ' create a new subscription to FAI notifications.'
   description: ' create a new subscription to FAI notifications.'
   operationId: subPOST  
   requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
               - $ref: '#/components/schemas/OnuAlarmSubscription'
               - $ref: '#/components/schemas/DevInfoSubscription'
               - $ref: '#/components/schemas/CmConnSubscription'
               - $ref: '#/components/schemas/AniAlarmSubscription'

   responses:
        '201':
          description: 'In the returned NotificationSubscription structure, the created subscription is described using the appropriate data type.'
          content:
            application/json:
              schema:
               oneOf:
               - $ref: '#/components/schemas/OnuAlarmSubscription'
               - $ref: '#/components/schemas/DevInfoSubscription'
               - $ref: '#/components/schemas/CmConnSubscription'
               - $ref: '#/components/schemas/AniAlarmSubscription'      
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'  
        '429':
          $ref: '#/components/responses/429' 
          
 /subscriptions/{subscriptionId}: 
    parameters:
    - in: path
      name: subscriptionId
      description: 'Refers to created subscription, where the FAI API allocates a unique resource name for this subscription'
      schema:
        type: string
      required: true  

  

    get:
      tags:
      - 'Subscription'
      summary: 'Retrieve information about this subscription.'
      description: 'Retrieve information about this subscription.'
      operationId: individualSubscriptionGET
      
      responses:
        '200':
          description: 'A response body containing data type describing the specific FAI event subscription is returned' 
          content:
            application/json:
              schema:
               oneOf:
               - $ref: '#/components/schemas/OnuAlarmSubscription'
               - $ref: '#/components/schemas/DevInfoSubscription'
               - $ref: '#/components/schemas/CmConnSubscription'
               - $ref: '#/components/schemas/AniAlarmSubscription'  
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'   

    put:
      tags:
      - 'Subscription'
      summary: 'Used to update the existing subscription.'
      description: 'Used to update the existing subscription.'
      operationId: individualSubscriptionPUT
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
               - $ref: '#/components/schemas/OnuAlarmSubscription'
               - $ref: '#/components/schemas/DevInfoSubscription'
               - $ref: '#/components/schemas/CmConnSubscription'
               - $ref: '#/components/schemas/AniAlarmSubscription'
      responses:
        '200':
          description: 'A response body containing data type describing the updated subscription is returned' 
          content:
            application/json:
              schema:
               oneOf:
               - $ref: '#/components/schemas/OnuAlarmSubscription'
               - $ref: '#/components/schemas/DevInfoSubscription'
               - $ref: '#/components/schemas/CmConnSubscription'
               - $ref: '#/components/schemas/AniAlarmSubscription'  
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
          
        '403':
          $ref: '#/components/responses/403'
          
        '404':
          $ref: '#/components/responses/404'
          
        '406':
          $ref: '#/components/responses/406'
          
        '412':
          $ref: '#/components/responses/412' 
          
        '422':
          $ref: '#/components/responses/422'
          
        '429':
          $ref: '#/components/responses/429'
    delete:
      tags:
      - 'Subscription'
      summary: 'Used to cancel the existing subscription.'
      description: 'Used to cancel the existing subscription.'
      operationId: individualSubscriptionDELETE
      responses:
        '204':
          $ref: '#/components/responses/204'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
          
 
components:
  schemas:
@@ -225,7 +500,6 @@ components:
          $ref: '#/components/schemas/TimeStamp'
      required:
      - notificationType
      - onuId
      - aniIndex
      - alarm
      type: object
@@ -336,10 +610,10 @@ components:
      x-etsi-ref: 6.3.6
      
    CableLineInfo.cmInfo.serviceFlowStats:
                  description: It describes statistics associated with the Service Flows in a managed device.
                  description: 'It describes statistics associated with the Service Flows in a managed device.'
                  properties:
                      ifIndex:
                        description: It represents the interface index of the MAC Domain of the Service Flow.
                        description: 'It represents the interface index of the MAC Domain of the Service Flow'
                        type: string
                        x-etsi-mec-cardinality: '1'
                        x-etsi-mec-origin-type: String
@@ -565,7 +839,7 @@ components:
  
  
  
    cmRegState:
    CmConnNotification.cmIf.cmRegState:
       description: 'It indicates the CM connectivity state. Enumeration of:  1 = notReady. 2 = notSynchronized. 3 = phySynchronized. 4 = dsTopologyResolutionInProgress.5 = usParametersAcquired. 6 = rangingInProgress.7 = rangingComplete. 8 = eaeInProgress.9 = dhcpv4InProgress. 10 = dhcpv6InProgress.11 = dhcpV4Complete.12 = dhcpV6Complete.13 = todEstablished.14 = securityEstablished.15 = configFileDownloadComplete.16 = registrationInProgress.17 = registrationComplete. 18 = accessDenied. 19 =operational. 20 = bpiInit.21 =forwardingDisabled.'
       enum:
        - 1
@@ -603,7 +877,7 @@ components:
                x-etsi-mec-origin-type: String
              cmRegState:
                items:
                  $ref: '#/components/schemas/cmRegState'
                  $ref: '#/components/schemas/CmConnNotification.cmIf.cmRegState'
                minItems: 1
                type: array
                x-etsi-mec-cardinality: 1..N
@@ -662,6 +936,32 @@ components:
          type: object
          x-etsi-mec-cardinality: 0..1

    CmConnSubscription.filterCriteriaCmConn.cmIf.cmRegState:
       description: 'It indicates the CM connectivity state. Enumeration of:  1 = notReady. 2 = notSynchronized. 3 = phySynchronized. 4 = dsTopologyResolutionInProgress.5 = usParametersAcquired. 6 = rangingInProgress.7 = rangingComplete. 8 = eaeInProgress.9 = dhcpv4InProgress. 10 = dhcpv6InProgress.11 = dhcpV4Complete.12 = dhcpV6Complete.13 = todEstablished.14 = securityEstablished.15 = configFileDownloadComplete.16 = registrationInProgress.17 = registrationComplete. 18 = accessDenied. 19 =operational. 20 = bpiInit.21 =forwardingDisabled.'
       enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
       type: integer
       
    CmConnSubscription.filterCriteriaCmConn.cmIf:
                description: ''
                properties:
@@ -672,7 +972,7 @@ components:
                    x-etsi-mec-origin-type: String
                  cmRegState:
                    items:
                      $ref: '#/components/schemas/cmRegState'
                      $ref: '#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf.cmRegState'
                    minItems: 1
                    type: array
                    x-etsi-mec-cardinality: 1..N
@@ -692,7 +992,10 @@ components:
    CmConnSubscription.filterCriteriaCmConn:  
          description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
          properties:
             
              cmIf:
               type: array
               items:
                $ref: '#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf'  
              customerPremisesInfo:
                # description': The physical location of a customer site.
@@ -882,11 +1185,8 @@ components:


            This value shall remain fixed over the lifetime of the device, including across firmware updates.'
          items:
          type: string
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        deviceStatus:
          $ref: '#/components/schemas/DeviceInfo.deviceStatus'
@@ -1228,12 +1528,11 @@ components:
      - diagnosticsState
      type: object
      x-etsi-ref: 6.5.4
    LocalityTypes:
      type: string
      
    OnuAlarmNotification.alarm:
          description: 'Indicates the alarm of the ONU:0  = EquipmentAlarm.1  = PoweringAlarm.2  = BatteryMissing.3  = BatteryFailure.4  = BatteryLow.5  = PhysicalIntrusion. 6  = OnuSelfTestFailure. 7  = DyingGasp. 8  = TemperatureYellow.9  = TemperatureRed.10 = VoltageYellow.11 = VoltageRed.12 = OnuManualPowerOff. 13 = InvImage.14 = PseOverloadYellow.15 = PseOverloadRed.'
          enum:
          - 0
          - 1
          - 2
          - 3
@@ -1472,8 +1771,6 @@ components:
       - opticalNetworkInfo
       type: object
       x-etsi-ref: 6.2.5
    SerializerTypes:
      type: string

    SubscriptionLinkList.links.subscription.subscriptionType:
                    description: 'Numeric value (0 - 255) corresponding to specified type of subscription as following: 0 = RESERVED. 1 = ONU_ALARM. 2 = DEVICE_ABNORMAL_ALERT. 3 = CM_CONNECTIVITY_STATE.4 = ANI_ALARM.'
@@ -1597,12 +1894,7 @@ components:
      - diagnosticsState
      type: object
      x-etsi-ref: 6.5.5
    TransportTypes:
      type: string
    Uint32:
      type: number
    UnsignedInt:
      type: number

    
    UploadDiagnostics.diagnosticsState:
          description: 'The state of the HTTP and FTP download test. Enumeration of: 1 = None. 2 = Requested. 3 = Completed. 4 = Error_InitConnectionFailed. 5 = Error_NoResponse.  6 = Error_PasswordRequestFailed. 7 = Error_LoginFailed. 8 = Error_NoTransferMode. 9 = Error_NoPASV.  10 = Error_NoCWD. 11 = Error_NoSTOR.12 = Error_NoTransferComplete.'
@@ -1673,8 +1965,6 @@ components:
      - diagnosticsState
      type: object
      x-etsi-ref: 6.5.7
    VirtualNetworkInterfaceRequirements:
      type: string

    LinkType:
      description: >-
+6 −6
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
  ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.
 
  The version of the OpenAPI document: 2.1.1
  
  Contact: cti_support@etsi.org
  Generated by OpenAPI Generator: https://openapi-generator.tech
*/

@@ -21,16 +21,16 @@ message AniAlarmNotification {

  AniAlarmNotificationAlarm alarm = 1;

  AniAlarmNotificationAniId aniId = 2;
  AniAlarmNotificationAniId ani_id = 2;

  // The physical location of the related customer sites.
  repeated CpInfo customerPremisesInfo = 3;
  repeated CpInfo customer_premises_info = 3;

  // Shall be set to \"AniAlarmNotification\".
  string notificationType = 4;
  string notification_type = 4;

  string onuId = 5;
  string onu_id = 5;

  TimeStamp timeStamp = 6;
  TimeStamp time_stamp = 6;

}
+10 −2
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
  ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.
 
  The version of the OpenAPI document: 2.1.1
  
  Contact: cti_support@etsi.org
  Generated by OpenAPI Generator: https://openapi-generator.tech
*/

@@ -14,5 +14,13 @@ package mec029;


message AniAlarmNotificationAlarm {

enum TypeEnum {
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_0 = 0;
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_1 = 1;
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_2 = 2;
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_3 = 3;
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_4 = 4;
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_5 = 5;
		ANI_ALARM_NOTIFICATION_ALARM_TYPE_ENUM_6 = 6;
	}
}
+3 −3
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
  ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.
 
  The version of the OpenAPI document: 2.1.1
  
  Contact: cti_support@etsi.org
  Generated by OpenAPI Generator: https://openapi-generator.tech
*/

@@ -16,9 +16,9 @@ package mec029;
message AniAlarmNotificationAniId {

  // The unique identifiers for the optical network unit.
  string onuId = 1;
  string onu_id = 1;

  // The index of an access network interface supported by the optical network unit.
  string aniIndex = 2;
  string ani_index = 2;

}
+7 −7
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
  ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.
 
  The version of the OpenAPI document: 2.1.1
  
  Contact: cti_support@etsi.org
  Generated by OpenAPI Generator: https://openapi-generator.tech
*/

@@ -19,18 +19,18 @@ import public "models/time_stamp.proto";
message AniAlarmSubscription {

  // Shall be set to \\\"AniAlarmSubscription\\\"
  string subscriptionType = 1;
  string subscription_type = 1;

  AniAlarmSubscriptionLinks Underscorelinks = 2;
  AniAlarmSubscriptionLinks links = 2;

  // The index of an access network interface supported by the optical network unit.
  string aniIndex = 3;
  string ani_index = 3;

  // URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response.
  string callbackReference = 4;
  string callback_reference = 4;

  TimeStamp expiryDeadline = 5;
  TimeStamp expiry_deadline = 5;

  AniAlarmSubscriptionFilterCriteriaAniAlarm filterCriteriaAniAlarm = 6;
  AniAlarmSubscriptionFilterCriteriaAniAlarm filter_criteria_ani_alarm = 6;

}
Loading