Commits (11)
#!/bin/bash
specfiles=$(ls | egrep "^[^.]*.(json|yaml)")
fres=0
for i in $specfiles ; do
echo "-- Validating and linting OpenAPI file $i..."
swagger-cli validate $i
res=$?
speccy lint "$i"
res2=$?
fres=$(($fres||$res||$res2))
echo "--- Validator returned $res, linter returned $res2."
done
echo "-- Final validator returns $fres."
exit $fres
This diff is collapsed.
......@@ -2,17 +2,13 @@
This repository contains OpenAPIs descriptions for the interfaces specified in ETSI GS MEC 029.
**=> Please note that the content of the current repository is not yet aligned
with the latest status of ETSI GS 029.**
**In case of discrepancies the ETSI
Specification takes precedence over the content of the repository.**
## Online resources
* [Specification document (TBD)](#)
* [Navigate the API in the browser (TBD)](#).
* [Edit the API online (TBD)](#).
* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/029/02.01.01_60/gs_MEC029v020101p.pdf)
* [Navigate the Fixed Access Information API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/rep/mec/gs029-fai-api/raw/stf593/MEC029_FAI.yaml)
* [Edit the Fixed Access Information API online ](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/rep/mec/gs029-fai-api/raw/stf593/MEC029_FAI.yaml)
## License
......
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/ani_alarm_notification_alarm.proto";
import public "models/ani_alarm_notification_ani_id.proto";
import public "models/cp_info.proto";
import public "models/time_stamp.proto";
message AniAlarmNotification {
AniAlarmNotificationAlarm alarm = 1;
AniAlarmNotificationAniId ani_id = 2;
// The physical location of the related customer sites.
repeated CpInfo customer_premises_info = 3;
// Shall be set to \"AniAlarmNotification\".
string notification_type = 4;
string onu_id = 5;
TimeStamp time_stamp = 6;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
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;
}
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
message AniAlarmNotificationAniId {
// The unique identifiers for the optical network unit.
string onu_id = 1;
// The index of an access network interface supported by the optical network unit.
string ani_index = 2;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/ani_alarm_subscription_filter_criteria_ani_alarm.proto";
import public "models/ani_alarm_subscription_links.proto";
import public "models/time_stamp.proto";
message AniAlarmSubscription {
// Shall be set to \\\"AniAlarmSubscription\\\"
string subscription_type = 1;
AniAlarmSubscriptionLinks links = 2;
// The index of an access network interface supported by the optical network unit.
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 callback_reference = 4;
TimeStamp expiry_deadline = 5;
AniAlarmSubscriptionFilterCriteriaAniAlarm filter_criteria_ani_alarm = 6;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/ani_alarm_subscription_filter_criteria_ani_alarm_alarms.proto";
import public "models/ani_alarm_subscription_filter_criteria_ani_alarm_ani_id.proto";
import public "models/cp_info.proto";
message AniAlarmSubscriptionFilterCriteriaAniAlarm {
// 0 to N physical locations of the customer sites.
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 onu_id = 2;
AniAlarmSubscriptionFilterCriteriaAniAlarmAniId ani_id = 3;
repeated AniAlarmSubscriptionFilterCriteriaAniAlarmAlarms alarms = 4;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
message AniAlarmSubscriptionFilterCriteriaAniAlarmAlarms {
enum TypeEnum {
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_0 = 0;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_1 = 1;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_2 = 2;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_3 = 3;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_4 = 4;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_5 = 5;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_6 = 6;
ANI_ALARM_SUBSCRIPTION_FILTER_CRITERIA_ANI_ALARM_ALARMS_TYPE_ENUM_MINUS_1 = 7;
}
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
message AniAlarmSubscriptionFilterCriteriaAniAlarmAniId {
// The unique identifiers for the optical network unit
string onu_id = 1;
// The index of an access network interface supported by the optical network unit
string ani_index = 2;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/link_type.proto";
message AniAlarmSubscriptionLinks {
LinkType self = 1;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/cable_line_info_cm_info.proto";
import public "models/cp_info.proto";
import public "models/time_stamp.proto";
message CableLineInfo {
CableLineInfoCmInfo cm_info = 1;
CpInfo customer_premises_info = 2;
TimeStamp time_stamp = 3;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/cable_line_info_cm_info_cm_dpv_stats.proto";
import public "models/cable_line_info_cm_info_cm_status.proto";
import public "models/cable_line_info_cm_info_service_flow_stats.proto";
message CableLineInfoCmInfo {
repeated CableLineInfoCmInfoCmDpvStats cm_dpv_stats = 1;
// Information (typically the serial number) to identify a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system.This value SHALL remain fixed over the lifetime of thedevice, including across firmware updates.
string cm_id = 2;
CableLineInfoCmInfoCmStatus cm_status = 3;
repeated CableLineInfoCmInfoServiceFlowStats service_flow_stats = 4;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/time_stamp.proto";
message CableLineInfoCmInfoCmDpvStats {
// The average latency measurement.
int32 avg_latency = 1;
// It represents the interface Index of the Downstream Interface where the measurements are taken.
string if_index = 2;
// The last latency measurement.
int32 last_meas_latency = 3;
TimeStamp last_meas_time = 4;
// The maximum latency measurement.
int32 max_latency = 5;
// The minimum latency measurement.
int32 min_latency = 6;
// The number of latency measurements made.
int32 num_meas = 7;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/cable_line_info_cm_info_cm_status_cm_reg_state.proto";
message CableLineInfoCmInfoCmStatus {
CableLineInfoCmInfoCmStatusCmRegState cm_reg_state = 1;
// It indicates whether the CM is currently operating in Energy Management DLS Mode.
bool em_dls_oper_status = 2;
// It indicates whether the CM is currently operating in Energy Management 1x1 Mode.
bool energy_mgt1x1_oper_status = 3;
// It denotes the MAC Domain interface index of the CM.
string if_index = 4;
// It denotes the number of times the CM received invalid registration response messages.
int32 invalid_reg_rsps = 5;
// It denotes the number of times the CM lost synchronization with the downstream channel.
int32 lost_syncs = 6;
// It denotes the number of times the CM reset or initialized this interface.
int32 resets = 7;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
message CableLineInfoCmInfoCmStatusCmRegState {
enum TypeEnum {
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_1 = 0;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_2 = 1;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_3 = 2;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_4 = 3;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_5 = 4;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_6 = 5;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_7 = 6;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_8 = 7;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_9 = 8;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_10 = 9;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_11 = 10;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_12 = 11;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_13 = 12;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_14 = 13;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_15 = 14;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_16 = 15;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_17 = 16;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_18 = 17;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_19 = 18;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_20 = 19;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_21 = 20;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_22 = 21;
CABLE_LINE_INFO_CM_INFO_CM_STATUS_CM_REG_STATE_TYPE_ENUM_23 = 22;
}
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/cable_line_info_cm_info_service_flow_stats_service_flow_info.proto";
message CableLineInfoCmInfoServiceFlowStats {
// It represents the interface index of the MAC Domain of the Service Flow
string if_index = 1;
repeated CableLineInfoCmInfoServiceFlowStatsServiceFlowInfo service_flow_info = 2;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/time_stamp.proto";
message CableLineInfoCmInfoServiceFlowStatsServiceFlowInfo {
// For upstream service flows on which AQM is enabled, this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to Active Queue Management drop decisions.
int32 aqm_dropped_pkts = 1;
// For outgoing Service Flows, this attribute counts the number of Packet Data PDUs forwarded to this Service Flow. For incoming upstream CMTS service flows, this attribute counts the number of Packet Data PDUs actually received on the Service Flow identified by the SID for which the packet was scheduled.
int32 pkts = 2;
// It counts only outgoing packets delayed in order to maintain the Maximum Sustained Traffic Rate.
int32 policed_delay_pkts = 3;
// For upstream service flows, this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to: 1) exceeding the selected Buffer Size for the service flow; or 2) UGS packets dropped due to exceeding the Unsolicited Grant Size with a Request/Transmission policy that requires such packets to be dropped.
int32 policed_drop_pkts = 4;
// It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.
int32 service_flow_id = 5;
// It indicates the number of seconds that the service flow has been active.
int32 time_active = 6;
TimeStamp time_created = 7;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/cm_conn_notification_cm_if.proto";
import public "models/cp_info.proto";
import public "models/time_stamp.proto";
message CmConnNotification {
repeated CmConnNotificationCmIf cm_if = 1;
CpInfo customer_premises_info = 2;
// Shall be set to \\\"CmconnNotification\\\".
string notification_type = 3;
TimeStamp time_stamp = 4;
}
/*
ETSI GS MEC 029 Fixed Access Information API
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
*/
syntax = "proto3";
package mec029;
import public "models/cm_conn_notification_cm_if_cm_reg_state.proto";
message CmConnNotificationCmIf {
// The Cable Modem identifier.
string cm_id = 1;
repeated CmConnNotificationCmIfCmRegState cm_conn_notification_if_cm_reg_state = 2;
// The MAC Domain interface index of the CM.
repeated string if_index = 3;
}