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
......@@ -589,8 +863,8 @@ components:
- 19
- 20
- 21
type: integer
type: integer
CmConnNotification.cmIf:
description: ''
items:
......@@ -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
......@@ -661,7 +935,33 @@ components:
- self
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
type: string
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,9 +1771,7 @@ 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.'
enum:
......@@ -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,9 +1965,7 @@ components:
- diagnosticsState
type: object
x-etsi-ref: 6.5.7
VirtualNetworkInterfaceRequirements:
type: string
LinkType:
description: >-
'This data type represents a type of link'
......@@ -1785,4 +2075,4 @@ components:
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
\ No newline at end of file
$ref: '#/components/schemas/ProblemDetails'
......@@ -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;