def _register_cfg_agent_states(self, host_a_active=True,<EOL>host_b_active=False,<EOL>host_c_active=False):
l3_cfg_host_a = {<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT:host>': L3_CFG_HOST_A,<EOL>'<STR_LIT>': cisco_constants.CFG_AGENT,<EOL>'<STR_LIT>': {<EOL>'<STR_LIT>': [cisco_constants.AGENT_TYPE_L3_CFG],<EOL>'<STR_LIT>': <NUM_LIT:0>,<EOL>'<STR_LIT>': <NUM_LIT:0>,<EOL>'<STR_LIT>': <NUM_LIT:0>,<EOL>'<STR_LIT>': <NUM_LIT:0>,<EOL>'<STR_LIT>': <NUM_LIT:0>,<EOL>'<STR_LIT>': {}},<EOL>'<STR_LIT>': str(timeutils.utcnow()),<EOL>'<STR_LIT>': cisco_constants.AGENT_TYPE_CFG}<EOL>agent_callback = agents_db.AgentExtRpcCallback()<EOL>dev_mgr_callback = devices_cfgagent_rpc_cb.DeviceMgrCfgRpcCallback(<EOL>bc.get_plugin(cisco_constants.DEVICE_MANAGER))<EOL>if host_a_active is True:<EOL><INDENT>agent_callback.report_state(<EOL>self.adminContext,<EOL>agent_state={'<STR_LIT>': l3_cfg_host_a},<EOL>time=datetime.utcnow().strftime(ISO8601_TIME_FORMAT))<EOL>dev_mgr_callback.register_for_duty(self.adminContext,<EOL>L3_CFG_HOST_A)<EOL><DEDENT>if host_b_active is True:<EOL><INDENT>l3_cfg_host_b = copy.deepcopy(l3_cfg_host_a)<EOL>l3_cfg_host_b['<STR_LIT:host>'] = L3_CFG_HOST_B<EOL>l3_cfg_host_b['<STR_LIT>'] = str(timeutils.utcnow()),<EOL>agent_callback.report_state(<EOL>self.adminContext, agent_state={'<STR_LIT>': l3_cfg_host_b},<EOL>time=datetime.utcnow().strftime(ISO8601_TIME_FORMAT))<EOL>dev_mgr_callback.register_for_duty(self.adminContext,<EOL>L3_CFG_HOST_B)<EOL><DEDENT>if host_c_active is True:<EOL><INDENT>l3_cfg_host_c = copy.deepcopy(l3_cfg_host_a)<EOL>l3_cfg_host_c['<STR_LIT:host>'] = L3_CFG_HOST_C<EOL>l3_cfg_host_c['<STR_LIT>'] = str(timeutils.utcnow()),<EOL>agent_callback.report_state(<EOL>self.adminContext, agent_state={'<STR_LIT>': l3_cfg_host_c},<EOL>time=datetime.utcnow().strftime(ISO8601_TIME_FORMAT))<EOL>dev_mgr_callback.register_for_duty(self.adminContext,<EOL>L3_CFG_HOST_B)<EOL><DEDENT>
Register zero, one, two, or three L3 config agents.