Commit a5501712 authored by piscione's avatar piscione
Browse files

Updated OAS specification and generated proto3 files.

parent 903f4692
...@@ -16,16 +16,14 @@ openapi: 3.0.0 ...@@ -16,16 +16,14 @@ openapi: 3.0.0
servers: servers:
- url: 'https://localhost/fai/v1' - url: 'https://localhost/fai/v1'
tags: tags:
- name: queries - name: Queries
description: Queries - name: Subscription
- name: subscription
description: Subscription
paths: paths:
/queries/fa_info: /queries/fa_info:
get: get:
tags: tags:
- 'queries' - 'Queries'
summary: 'Retrieve information on the available fixed access networks.' summary: 'Retrieve information on the available fixed access networks.'
description: 'Retrieve information on the available fixed access networks.' description: 'Retrieve information on the available fixed access networks.'
operationId: fa_infoGET operationId: fa_infoGET
...@@ -100,7 +98,7 @@ paths: ...@@ -100,7 +98,7 @@ paths:
/queries/device_info: /queries/device_info:
get: get:
tags: tags:
- 'queries' - 'Queries'
summary: 'retrieve information on the devices that are connected to a fixed access network.' 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.' description: 'retrieve information on the devices that are connected to a fixed access network.'
operationId: device_infoGET operationId: device_infoGET
...@@ -149,19 +147,296 @@ paths: ...@@ -149,19 +147,296 @@ paths:
$ref: '#/components/responses/406' $ref: '#/components/responses/406'
'429': '429':
$ref: '#/components/responses/429' $ref: '#/components/responses/429'
#/queries/cable_line_info:
#get: /queries/cable_line_info:
#/queries/optical_network_info: get:
#get: tags:
#/subscriptions: - 'Cable line info'
#get: summary: 'It Queries information about the cable line of a fixed access network.'
#post: description: 'It Queries information about the cable line of a fixed access network.'
#/subscriptions/{subscriptionId}: operationId: cable_line_infoGET
#get: parameters:
#put: - in: query
#delete: name: customerPremisesInfo
# /notifitication_end_point_provided_by_client schema:
#post: 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: components:
schemas: schemas:
...@@ -225,7 +500,6 @@ components: ...@@ -225,7 +500,6 @@ components:
$ref: '#/components/schemas/TimeStamp' $ref: '#/components/schemas/TimeStamp'
required: required:
- notificationType - notificationType
- onuId
- aniIndex - aniIndex
- alarm - alarm
type: object type: object
...@@ -336,10 +610,10 @@ components: ...@@ -336,10 +610,10 @@ components:
x-etsi-ref: 6.3.6 x-etsi-ref: 6.3.6
CableLineInfo.cmInfo.serviceFlowStats: 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: properties:
ifIndex: 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 type: string
x-etsi-mec-cardinality: '1' x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
...@@ -565,7 +839,7 @@ components: ...@@ -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.' 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: enum:
- 1 - 1
...@@ -589,8 +863,8 @@ components: ...@@ -589,8 +863,8 @@ components:
- 19 - 19
- 20 - 20
- 21 - 21
type: integer type: integer
CmConnNotification.cmIf: CmConnNotification.cmIf:
description: '' description: ''
items: items:
...@@ -603,7 +877,7 @@ components: ...@@ -603,7 +877,7 @@ components:
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
cmRegState: cmRegState:
items: items:
$ref: '#/components/schemas/cmRegState' $ref: '#/components/schemas/CmConnNotification.cmIf.cmRegState'
minItems: 1 minItems: 1
type: array type: array
x-etsi-mec-cardinality: 1..N x-etsi-mec-cardinality: 1..N
...@@ -661,7 +935,33 @@ components: ...@@ -661,7 +935,33 @@ components:
- self - self
type: object type: object
x-etsi-mec-cardinality: 0..1 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: CmConnSubscription.filterCriteriaCmConn.cmIf:
description: '' description: ''
properties: properties:
...@@ -672,7 +972,7 @@ components: ...@@ -672,7 +972,7 @@ components:
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
cmRegState: cmRegState:
items: items:
$ref: '#/components/schemas/cmRegState' $ref: '#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf.cmRegState'
minItems: 1 minItems: 1
type: array type: array
x-etsi-mec-cardinality: 1..N x-etsi-mec-cardinality: 1..N
...@@ -692,7 +992,10 @@ components: ...@@ -692,7 +992,10 @@ components:
CmConnSubscription.filterCriteriaCmConn: 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. 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: properties:
cmIf: cmIf:
type: array
items:
$ref: '#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf' $ref: '#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf'
customerPremisesInfo: customerPremisesInfo:
# description': The physical location of a customer site. # description': The physical location of a customer site.
...@@ -882,11 +1185,8 @@ components: ...@@ -882,11 +1185,8 @@ components:
This value shall remain fixed over the lifetime of the device, including across firmware updates.' This value shall remain fixed over the lifetime of the device, including across firmware updates.'
items: type: string
type: string x-etsi-mec-cardinality: 0..1
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
deviceStatus: deviceStatus:
$ref: '#/components/schemas/DeviceInfo.deviceStatus' $ref: '#/components/schemas/DeviceInfo.deviceStatus'
...@@ -1228,12 +1528,11 @@ components: ...@@ -1228,12 +1528,11 @@ components:
- diagnosticsState - diagnosticsState
type: object type: object
x-etsi-ref: 6.5.4 x-etsi-ref: 6.5.4
LocalityTypes:
type: string
OnuAlarmNotification.alarm: 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.' 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: enum:
- 0
- 1 - 1
- 2 - 2
- 3 - 3
...@@ -1472,9 +1771,7 @@ components: ...@@ -1472,9 +1771,7 @@ components:
- opticalNetworkInfo - opticalNetworkInfo
type: object type: object
x-etsi-ref: 6.2.5 x-etsi-ref: 6.2.5
SerializerTypes:
type: string
SubscriptionLinkList.links.subscription.subscriptionType: 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.' 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.'
enum: enum:
...@@ -1597,12 +1894,7 @@ components: ...@@ -1597,12 +1894,7 @@ components:
- diagnosticsState - diagnosticsState
type: object type: object
x-etsi-ref: 6.5.5 x-etsi-ref: 6.5.5
TransportTypes:
type: string
Uint32:
type: number
UnsignedInt:
type: number
UploadDiagnostics.diagnosticsState: 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.' 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,9 +1965,7 @@ components: ...@@ -1673,9 +1965,7 @@ components:
- diagnosticsState - diagnosticsState
type: object type: object
x-etsi-ref: 6.5.7 x-etsi-ref: 6.5.7
VirtualNetworkInterfaceRequirements:
type: string
LinkType: LinkType:
description: >- description: >-
'This data type represents a type of link' 'This data type represents a type of link'
...@@ -1785,4 +2075,4 @@ components: ...@@ -1785,4 +2075,4 @@ components:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ProblemDetails' $ref: '#/components/schemas/ProblemDetails'
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
ETSI GS MEC 029 Fixed Access Information API described using OpenAPI. ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.
The version of the OpenAPI document: 2.1.1 The version of the OpenAPI document: 2.1.1
Contact: cti_support@etsi.org
Generated by OpenAPI Generator: https://openapi-generator.tech Generated by OpenAPI Generator: https://openapi-generator.tech
*/ */
...@@ -21,16 +21,16 @@ message AniAlarmNotification { ...@@ -21,16 +21,16 @@ message AniAlarmNotification {
AniAlarmNotificationAlarm alarm = 1; AniAlarmNotificationAlarm alarm = 1;
AniAlarmNotificationAniId aniId = 2; AniAlarmNotificationAniId ani_id = 2;