@@ -37,8 +37,9 @@ class Status(str, Enum):
3737 - "CONFIRMED": Indicates maintenance event is definite.
3838 - "CANCELLED": Indicates maintenance event was cancelled.
3939 - "IN-PROCESS": Indicates maintenance event is in process (e.g. open).
40- - "COMPLETED":Indicates maintenance event completed (e.g. closed).
40+ - "COMPLETED": Indicates maintenance event completed (e.g. closed).
4141 - "RE-SCHEDULED": Indicates maintenance event was re-scheduled.
42+ - "NO-CHANGE": Indicates status is unchanged from a previous notification (dummy value)
4243 """
4344
4445 TENTATIVE = "TENTATIVE"
@@ -48,6 +49,8 @@ class Status(str, Enum):
4849 COMPLETED = "COMPLETED"
4950 RE_SCHEDULED = "RE-SCHEDULED"
5051
52+ NO_CHANGE = "NO-CHANGE"
53+
5154
5255class CircuitImpact (BaseModel , extra = Extra .forbid ):
5356 """CircuitImpact class.
@@ -96,13 +99,13 @@ class Maintenance(BaseModel, extra=Extra.forbid):
9699 account: identifies an account associated with the service that is the subject of the maintenance notification
97100 maintenance_id: contains text that uniquely identifies the maintenance that is the subject of the notification
98101 circuits: list of circuits affected by the maintenance notification and their specific impact
99- status: defines the overall status or confirmation for the maintenance
100102 start: timestamp that defines the start date of the maintenance in GMT
101103 end: timestamp that defines the end date of the maintenance in GMT
102104 stamp: timestamp that defines the update date of the maintenance in GMT
103105 organizer: defines the contact information included in the original notification
104106
105107 Optional attributes:
108+ status: defines the overall status or confirmation for the maintenance
106109 summary: description of the maintenace notification
107110 uid: specific unique identifier for each notification
108111 sequence: sequence number - initially zero - to serialize updates in case they are received or processed out of
@@ -123,20 +126,20 @@ class Maintenance(BaseModel, extra=Extra.forbid):
123126 ... summary="This is a maintenance notification",
124127 ... uid="1111",
125128 ... )
126- Maintenance(provider='A random NSP', account='12345000', maintenance_id='VNOC-1-99999999999', circuits=[CircuitImpact(circuit_id='123', impact=<Impact.NO_IMPACT: 'NO-IMPACT'>), CircuitImpact(circuit_id='456', impact=<Impact.OUTAGE: 'OUTAGE'>)], status=<Status.COMPLETED: 'COMPLETED'>, start=1533704400, end=1533712380, stamp=1533595768, organizer='[email protected] ', uid='1111', sequence=1, summary='This is a maintenance notification') 129+ Maintenance(provider='A random NSP', account='12345000', maintenance_id='VNOC-1-99999999999', circuits=[CircuitImpact(circuit_id='123', impact=<Impact.NO_IMPACT: 'NO-IMPACT'>), CircuitImpact(circuit_id='456', impact=<Impact.OUTAGE: 'OUTAGE'>)], start=1533704400, end=1533712380, stamp=1533595768, organizer='[email protected] ', status=<Status.COMPLETED: 'COMPLETED'> , uid='1111', sequence=1, summary='This is a maintenance notification') 127130 """
128131
129132 provider : StrictStr
130133 account : StrictStr
131134 maintenance_id : StrictStr
132135 circuits : List [CircuitImpact ]
133- status : Status
134136 start : StrictInt
135137 end : StrictInt
136138 stamp : StrictInt
137139 organizer : StrictStr
138140
139141 # Non mandatory attributes
142+ status : Status = Status .NO_CHANGE
140143 uid : StrictStr = "0"
141144 sequence : StrictInt = 1
142145 summary : StrictStr = ""
0 commit comments