for stomp_mod in ['stomp', 'ws_stomp', 'pxgrid']: s_logger = logging.getLogger(stomp_mod) handler.setFormatter( logging.Formatter( '%(asctime)s:%(name)s:%(levelname)s:%(message)s')) s_logger.addHandler(handler) s_logger.setLevel(logging.DEBUG) pxgrid = PxgridControl(config=config) while pxgrid.account_activate()['accountState'] != 'ENABLED': time.sleep(60) # lookup for session service service_lookup_response = pxgrid.service_lookup( 'com.cisco.ise.config.trustsec') service = service_lookup_response['services'][0] node_name = service['nodeName'] url = service['properties']['restBaseUrl'] + '/getSecurityGroupAcls' # force port # url = url.replace('8910', str(config.port)) # log url to see what we get via discovery logger.info('Using URL %s', url) secret = pxgrid.get_access_secret(node_name)['secret'] logger.info('Using access secret %s', secret) resp = query(config, secret, url, '{}') print(json.dumps(json.loads(resp), indent=2, sort_keys=True))
if __name__ == '__main__': config = Config() pxgrid = PxgridControl(config=config) while pxgrid.account_activate()['accountState'] != 'ENABLED': time.sleep(60) # lookup for session service service_lookup_response = pxgrid.service_lookup('com.cisco.ise.session') service = service_lookup_response['services'][0] pubsub_service_name = service['properties']['wsPubsubService'] topic = service['properties']['sessionTopic'] # lookup for pubsub service service_lookup_response = pxgrid.service_lookup(pubsub_service_name) pubsub_service = service_lookup_response['services'][0] pubsub_node_name = pubsub_service['nodeName'] secret = pxgrid.get_access_secret(pubsub_node_name)['secret'] ws_url = pubsub_service['properties']['wsUrl'] loop = asyncio.get_event_loop() subscribe_task = asyncio.ensure_future( subscribe_loop(config, secret, ws_url, topic)) # Setup signal handlers loop.add_signal_handler(signal.SIGINT, subscribe_task.cancel) loop.add_signal_handler(signal.SIGTERM, subscribe_task.cancel) # Event loop loop.run_until_complete(subscribe_task)