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
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: >-
......
......@@ -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;
}
......@@ -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;
}
}
......@@ -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;
}
......@@ -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;
}
......@@ -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,12 +19,12 @@ import public "models/cp_info.proto";
message AniAlarmSubscriptionFilterCriteriaAniAlarm {
// 0 to N physical locations of the customer sites.
repeated CpInfo customerPremisesInfo = 1;
repeated CpInfo customer_premises_info = 1;
// 1 to N unique identifiers for the optical network units. Typical it is the unique serial number for each ONU, which contains the vendor ID and version number. The first four bytes are an ASCII-encoded four-letter vendor ID. The second four bytes are a binary encoded serial number, under the control of the ONU vendor.
repeated string onuId = 2;
repeated string onu_i