@@ -341,6 +341,7 @@ class ShowNtpConfigSchema(MetaParser):
341341 'vrf' : str ,
342342 Optional ('source' ): str ,
343343 Optional ('preferred' ): bool ,
344+ Optional ('key_id' ): str ,
344345 }
345346 },
346347 'isconfigured' : {
@@ -376,9 +377,11 @@ def cli(self, output=None):
376377 # ntp server vrf VRF1 10.64.4.4
377378 # ntp server 10.16.2.2 source Loopback0
378379 # ntp server 10.3.254.100 prefer
380+ # ntp server vrf Mgmt 10.2.2.2 key 2
381+ # ntp server vrf Mgmt 10.3.3.3 key 3 prefer
379382 p1 = re .compile (r"^ntp +(?P<type>\w+)( +vrf +(?P<vrf>\S+))? "
380383 r"+(?P<address>[\w\.\:]+)( +source +"
381- r"(?P<source_interface>[\w]+))?(?P<prefer> prefer)?$" )
384+ r"(?P<source_interface>[\w]+))?( +key +(?P<key_id>\S+))?( ?P<prefer> prefer)?$" )
382385
383386 for line in out .splitlines ():
384387 line = line .strip ()
@@ -393,6 +396,7 @@ def cli(self, output=None):
393396 address = groups ['address' ]
394397 source = groups ['source_interface' ] or ''
395398 prefer = groups ['prefer' ]
399+ key_id = groups ['key_id' ]
396400 isconfigured = True
397401
398402 addr_dict = ret_dict .setdefault ('vrf' , {}).setdefault (vrf , {})\
@@ -408,6 +412,9 @@ def cli(self, output=None):
408412 if source :
409413 addr_dict ['type' ][ntp_type ]['source' ] = source
410414
415+ if key_id :
416+ addr_dict ['type' ][ntp_type ]['key_id' ] = key_id
417+
411418 addr_dict .setdefault ('isconfigured' , {}).\
412419 setdefault (str (isconfigured ), {}).update ({'address' : address ,
413420 'isconfigured' : isconfigured })
0 commit comments