Appendix B: Protobuf file message format

syntax = "proto3";

package external;

message AlarmResponseKey {
  string alarmType = 1;
  string nodeId = 2;
  string resourceName = 3;
}

message FssAlarm {
    message History {
      message OperatorHistory {
        string additionalInfo =1;
        string alarmUuid=2;
        string endReason=3;
        string toTimestamp=4;
      }
      message OperatorHistoryKey {
        OperatorState operatorState = 1;
        string operatorName = 2;
        string fromTimestamp = 3;
        OperatorHistory operator_history = 4;
      }
      message StateHistory {
        string alarmPolicy =1;
        string alarmText=2;
        string toTimestamp=3;
      }
      message StateHistoryKey {
        AlarmSeverity severity = 1;
        string fromTimestamp = 2;
        StateHistory state_history = 3;
      }
      string alarmPolicy =1;
      AlarmSeverity currentSeverity=2;
      repeated OperatorHistoryKey operator_history=3;
      repeated StateHistoryKey state_history=4;
    }
    message Resource {
      string fabricId =1;
      string fabricName=2;
      string intentId=3;
      string intentName=4;
      FabricOptions intentType = 5;
      string name = 6;
      string nodeId = 7;
      string nodeName = 8;
      string nodeType = 9;
      string objectId = 10;
      string objectName = 11;
      string objectType = 12;
      string objectURI = 13;
      string regionId = 14;
      string regionName = 15;
      string resourceName = 16;
      string serviceName = 17;
      string uuid = 18;
    }
    string SuppressReason = 1;
    string alarmDescription = 2;
    string alarmType = 3;
    string createdAt = 4;
    string defaultProbableCause = 5;
    AlarmSeverity defaultSeverity = 6;
    uint64 faultCode = 7;
    GroupType group = 8;
    History history = 9;
    bool isCleared = 10;
    bool isRootCause = 11;
    bool isSuppressed = 12;
    string lastChanged = 13;
    string lastRaised = 14;
    uint32 occurrence = 15;
    string probableCause = 16;
    string remedialAction = 17;
    Resource resource = 18;
    string uuid = 19;
  }


enum AlarmActionType {
  FssAlarmAlarmActionType_UNSET = 0;
  GenerateAlarm = 1;
  Email = 2;
  SMS = 3;
  Pager = 4;
}

enum AlarmCommunication {
  Communication_Unset = 0;
  AllCommunicationType = 1;
  LLDPAdjacencyDown = 3;
  InterfaceDown = 4;
  BGPAdjacencyDown = 5;
  BFDSessionDown = 6;
  SubinterfaceDown = 12;
  NetworkInstanceDown = 13;
  InterfaceLagMemberDown = 14;
  NetworkInstanceInterfaceDown = 56;
}

enum AlarmConfiguration {
  Configuration_Unset = 0;
  AllConfigurationType = 1;
}

enum AlarmEnvironment {
  Environment_Unset = 0;
  AllEnvironmentType = 1;
}

enum AlarmEquipment {
  Equipment_Unset = 0;
  AllEquipmentType = 1;
  FanTrayFault = 2;
  LineCardFault = 3;
  PowerSupplyFault = 4;
  ChassisFault = 11;
  CPMFault = 12;
  SFMFault = 13;
  InterfaceTransceiverDown = 17;
  TransceiverChannelHighInputPowerWarning = 18;
  TransceiverChannelHighInputPowerAlarm = 19;
  TransceiverChannelLowInputPowerWarning = 20;
  TransceiverChannelLowInputPowerAlarm = 21;
  TransceiverChannelHighLaserBiasCurrentAlarm = 22;
  TransceiverChannelHighLaserBiasCurrentWarning = 23;
  TransceiverChannelHighOutputPowerWarning = 24;
  TransceiverChannelHighOutputPowerAlarm = 25;
  TransceiverChannelLowOutputPowerWarning = 26;
  TransceiverChannelLowOutputPowerAlarm = 27;
  TransceiverChannelLowLaserBiasCurrentAlarm = 28;
  TransceiverChannelLowLaserBiasCurrentWarning = 29;
  TransceiverLowLaserBiasCurrentWarning = 30;
  TransceiverLowLaserBiasCurrentAlarm = 31;
  TransceiverHighLaserBiasCurrentWarning = 32;
  TransceiverHighLaserBiasCurrentAlarm = 33;
  TransceiverHighInputPowerAlarm = 34;
  TransceiverHighInputPowerWarning = 35;
  TransceiverLowInputPowerWarning = 36;
  TransceiverLowInputPowerAlarm = 37;
  TransceiverHighOutputPowerAlarm = 38;
  TransceiverHighOutputPowerWarning = 39;
  TransceiverLowOutputPowerWarning = 40;
  TransceiverLowOutputPowerAlarm = 41;
  TransceiverHighVoltageAlarm = 42;
  TransceiverHighVoltageWarning = 43;
  TransceiverLowVoltageWarning = 44;
  TransceiverLowVoltageAlarm = 45;
  TransceiverHighTemperatureAlarm = 46;
  TransceiverHighTemperatureWarning = 47;
  TransceiverLowTemperatureWarning = 48;
  TransceiverLowTemperatureAlarm = 49;
}

enum AlarmFss {
  Fss_Unset = 0;
  AllFssType = 1;
  FssModule = 2;
  ExternalModule = 3;
  ConnectFSSConfigurationFailed = 4;
  ConnectFSSWorkloadIntentDeployFailed = 5;
  ConnectFSSAuthenticationFailed = 6;
  ConnectPluginHeartbeatLost = 8;
  ConnectPluginCmsAuthenticationFailure = 53;
  ConnectPluginConnectOutOfSyncWithCms = 54;
  ConnectPluginCmsConnectivityFailure = 55;
  ConnectResourceOutOfSync = 57;
  ConnectPluginCmsCertificateVerificationFailure = 58;
}

enum AlarmOperational {
  Operational_Unset = 0;
  AllOperationalType = 1;
  GnmiConnectionFault = 11;
  MemoryUsageWarning = 50;
  MemoryUsageMajor = 51;
  AaaServerDown = 52;
}

enum AlarmSeverity {
  AlarmSeverity_UNSET = 0;
  Critical = 1;
  Major = 2;
  Warning = 3;
  Minor = 4;
}

enum ComparisonOperatorType {
  ComparisonOperatorType_UNSET = 0;
  EqualTo = 1;
  NotEqualTo = 2;
  Contains = 3;
  NotContains = 4;
  GreaterThan = 5;
  LessThan = 6;
  GreaterThanEqualTo = 7;
  LessThanEqualTo = 8;
}

enum FabricOptions {
  FssAlarmFabricOptions_UNSET = 0;
  Real = 1;
  DigitalSandbox = 2;
}

enum GroupType {
  GroupType_UNSET = 0;
  Equipment = 1;
  Configuration = 2;
  Environment = 3;
  Communication = 4;
  Operational = 5;
  Fss = 6;
  All = 7;
}


enum LogicalOperatorType {
  LogicalOperatorType_UNSET = 0;
  And = 1;
  Or = 2;
}


enum OperatorState {
  OperatorState_UNSET = 0;
  Ack = 1;
  Closed = 2;
}

enum ProbableCause {
  ProbableCause_UNSET = 0;
  PROBCAUSE_INDETERMINATE = 1;
  OTHER = 2;
  ADAPTERERROR = 3;
  APPLICATIONSUBSYSTEMFAILURE = 4;
  BANDWIDTHREDUCED = 5;
  CALLESTABLISHMENTERROR = 6;
  COMMUNICATIONSPROTOCOLERROR = 7;
  COMMUNICATIONSSUBSYSTEMFAILURE = 8;
  CONFIGURATIONORCUSTOMIZATIONERROR = 9;
  CONGESTION = 10;
  CORRUPTDATA = 11;
  CPUCYCLESLIMITEXCEEDED = 12;
  DATASETORMODEMERROR = 13;
  DEGRADEDSIGNAL = 14;
  DTEDCEINTERFACEERROR = 15;
  ENCLOSUREDOOROPEN = 16;
  EQUIPMENTMALFUNCTION = 17;
  EXCESSIVEVIBRATION = 18;
  FILEERROR = 19;
  FIREDETECTED = 20;
  FLOODDETECTED = 21;
  FRAMINGERROR = 22;
  HEATINGVENTCOOLINGSYSTEMPROBLEM = 23;
  HUMIDITYUNACCEPTABLE = 24;
  INPUTOUTPUTDEVICEERROR = 25;
  INPUTDEVICEERROR = 26;
  LANERROR = 27;
  LEAKDETECTED = 28;
  LOCALNODETRANSMISSIONERROR = 29;
  LOSSOFFRAME = 30;
  LOSSOFSIGNAL = 31;
  MATERIALSUPPLYEXHAUSTED = 32;
  MULTIPLEXERPROBLEM = 33;
  OUTOFMEMORY = 34;
  OUPUTDEVICEERROR = 35;
  PERFORMANCEDEGRADED = 36;
  POWERPROBLEM = 37;
  PRESSUREUNACCEPTABLE = 38;
  PROCESSORPROBLEM = 39;
  PUMPFAILURE = 40;
  QUEUESIZEEXCEEDED = 41;
  RECEIVEFAILURE = 42;
  RECEIVERFAILURE = 43;
  REMOTENODETRANSMISSIONERROR = 44;
  RESOURCEATORNEARINGCAPACITY = 45;
  RESPONSETIMEEXECESSIVE = 46;
  RETRANSMISSIONRATEEXCESSIVE = 47;
  SOFTWAREERROR = 48;
  SOFTWAREPROGRAMABNORMALLYTERMINATED = 49;
  SOFTWAREPROGRAMERROR = 50;
  STORAGECAPACITYPROBLEM = 51;
  TEMPERATUREUNACCEPTABLE = 52;
  THRESHOLDCROSSED = 53;
  TIMINGPROBLEM = 54;
  TOXICLEAKDETECTED = 55;
  TRANSMITFAILURE = 56;
  TRANSMITTERFAILURE = 57;
  UNDERLYINGRESOURCEUNAVAILABLE = 58;
  VERSIONMISMATCH = 59;
  AUTHENTICATIONFAILURE = 60;
  BREACHOFCONFIDENTIALITY = 61;
  CABLETAMPER = 62;
  DELAYEDINFORMATION = 63;
  DENIALOFSERVICE = 64;
  DUPLICATEINFORMATION = 65;
  INFORMATIONMISSING = 66;
  INFORMATIONMODIFICATIONDETECTED = 67;
  INFORMATIONOUTOFSEQUENCE = 68;
  INTRUSIONDETECTION = 69;
  KEYEXPIRED = 70;
  NONREPUDIATIONFAILURE = 71;
  OUTOFHOURSACTIVITY = 72;
  OUTOFSERVICE = 73;
  PROCEDURALERROR = 74;
  UNAUTHORIZEDACCESSATTEMPT = 75;
  UNEXPECTEDINFORMATION = 76;
  NODEREBOOT = 77;
  DTEDCESUBINTERFACEERROR = 78;
  DTEDCEBGPERROR = 79;
  DTEDCEBFDERROR = 80;
  DTEDCENETINSTDOWN = 81;
  CONNECTPLUGINHEARTBEATLOST = 82;
  DTEDCEINTLAGDOWN = 83;
  DTEDCETRANSCEIVERERROR = 84;
  SYSTEMWARNING = 85;
  DTEDCEAAADOWN = 86;
  CONNECTPLUGINCMSAUTHENTICATIONFAILURE = 87;
  CONNECTPLUGINCONNECTOUTOFSYNCWITHCMS = 88;
  CONNECTPLUGINCMSCONNECTIVITYFAILURE = 89;
  DTEDCENETINSTINTDOWN = 90;
  INCORRECTCONFIGURATION = 91;
  CONNECTPLUGINCMSCERTIFICATEVERIFICATIONFAILURE = 92;
}