@@ -56,19 +56,30 @@ def truncate_trailing_prompt(self, con_state,
5656 self .utils = ConfigUtils ()
5757
5858 def pre_service (self , * args , ** kwargs ):
59+
5960 self .acm_configlet = kwargs .pop ('acm_configlet' , None )
61+ self .rules = kwargs .pop ('rules' , False )
6062 self .prompt_recovery = kwargs .get ('prompt_recovery' , True )
6163
6264 if self .acm_configlet :
6365 self .connection .state_machine .go_to ('acm' , self .connection .spawn ,context = {'acm_configlet' : self .acm_configlet })
6466 self .start_state = 'acm'
6567 self .end_state = 'acm'
68+
69+ elif self .rules :
70+ if self .connection .connected :
71+ self .connection .state_machine .go_to ('rules' , self .connection .spawn )
72+ self .start_state = 'rules'
73+ self .end_state = 'rules'
74+
6675 else :
6776 super ().pre_service (* args , ** kwargs )
6877
6978 def post_service (self , * args , ** kwargs ):
7079 if self .acm_configlet :
7180 self .connection .state_machine .go_to ('enable' , self .connection .spawn )
81+ elif self .rules :
82+ self .connection .state_machine .go_to ('enable' , self .connection .spawn )
7283 else :
7384 super ().post_service (* args , ** kwargs )
7485
@@ -115,18 +126,26 @@ def __init__(self, connection, context, **kwargs):
115126
116127 def pre_service (self , * args , ** kwargs ):
117128 self .acm_configlet = kwargs .pop ('acm_configlet' , None )
129+ self .rules = kwargs .pop ('rules' , False )
118130 self .prompt_recovery = kwargs .get ('prompt_recovery' , True )
119131
120132 if self .acm_configlet :
121133 self .connection .state_machine .go_to ('acm' , self .connection .spawn ,context = {'acm_configlet' : self .acm_configlet })
122134 self .start_state = 'acm'
123135 self .end_state = 'acm'
136+ elif self .rules :
137+ if self .connection .connected :
138+ self .connection .state_machine .go_to ('rules' , self .connection .spawn )
139+ self .start_state = 'rules'
140+ self .end_state = 'rules'
124141 else :
125142 super ().pre_service (* args , ** kwargs )
126143
127144 def post_service (self , * args , ** kwargs ):
128145 if self .acm_configlet :
129146 self .connection .state_machine .go_to ('enable' , self .connection .spawn )
147+ elif self .rules :
148+ self .connection .state_machine .go_to ('enable' , self .connection .spawn )
130149 else :
131150 super ().post_service (* args , ** kwargs )
132151
0 commit comments