Sample: create a change request
The following example shows how to create a change request in Python version 3.8.17
Note: Before using this example, replace the username, password, and ticket source values with your own values.
You may have to remove some manual line breaks.
import ssl from suds.client import Client AlgoSecServer = '10.20.6.88' AlgoSecUser = 'user' AlgoSecPasswd = 'password' TicketSource = '125.125.22.11' TicketDest = '10.0.0.0/8' # Action - 0 for drop, 1 for allow TicketAction = '0' TicketService = '*' ActionStr = 'Allow' ActionStr = 'Allow' if TicketAction == '1' else 'Drop' # bypass ssl verification - needed only if using self-signed certificates (demo machine, etc.) # ssl._create_default_https_context = ssl._create_unverified_context # ALGOSEC AFF WSDL is available here 'https://AFFIP/WebServices/FireFlow.wsdl' AFF_WSDL = 'https://%s/WebServices/FireFlow.wsdl' % AlgoSecServer # Setup client client = Client(AFF_WSDL) try: # Authenticate authenticate = client.service.authenticate(username=AlgoSecUser, password=AlgoSecPasswd) # Create ticket and traffic lines objects print("Creating change request with source <%s> destination <%s> service <%s> and action <%s>" % (TicketSource, TicketDest, TicketService, ActionStr)) ticket = client.factory.create('ticket') trafficLine = client.factory.create('trafficLine') src = client.factory.create('trafficAddress') src.address = TicketSource trafficLine.trafficSource.append(src) dst = client.factory.create('trafficAddress') dst.address = TicketDest trafficLine.trafficDestination.append(dst) srv = client.factory.create('trafficService') srv.service = TicketService trafficLine.trafficService.append(srv) trafficLine.action = TicketAction ticket.trafficLines.append(trafficLine) ticket.description = 'Demo Ticket' ticket.requestor = '[email protected]' ticket.subject = '%s Traffic from %s to %s' % (ActionStr, TicketSource, TicketDest) except: print("A problem occurred") # Actually create the ticket try: ticket_added = client.service.createTicket(sessionId = authenticate.sessionId, ticket = ticket) except: print(ticket_added.message) # Print success message and ticket URL print(ticket_added.message) print(ticket_added.ticketDisplayURL)