/
Getting the list of Guests present in the system
Getting the list of Guests present in the system
This code, connects to Manager, authenticates and gets a list of all Guests present in that installation.
Implements the following arguments:
- -m: Manager's address (required)
- -p: Manager's password (optional, if not present, password will be asked)
#!/usr/bin/env python import ssl # Recent Python versions require a valid certificate. You can comment this # if you've loaded a valid certificate in your Manager instance if hasattr(ssl, '_create_unverified_context'): ssl._create_default_https_context = ssl._create_unverified_context import sys import getpass import json from optparse import OptionParser from optparse import OptionGroup import urllib2 from urllib2 import Request, urlopen, URLError, HTTPError from cookielib import CookieJar if __name__ == "__main__": parser = OptionParser(conflict_handler="resolve") parser.add_option("-m", "--manager", dest="manager", help="connect to this Manager ", metavar="MANAGER") parser.add_option("-p", "--password", dest="password", help="admin password", metavar="PASSWORD") if len(sys.argv) < 2: parser.print_help() sys.exit(-1) (options, args) = parser.parse_args(sys.argv[1:]) if options.manager is None: parser.print_help() sys.exit(-1) if options.password is None: options.password = getpass.getpass('Enter admin password: ') # We need to use CookieJar to store the session ID injected by Manager cj = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) # Prepare an Authenticate Object authenticate = {"username": "admin", "password": options.password} # Prepare urllib2 request, converting auth_object to JSON in the process authurl = 'https://' + options.manager + '/authenticate' request = urllib2.Request(authurl, json.dumps(authenticate)) request.add_header('Content-type', 'application/json') response = opener.open(request) rawdata = response.read() # Try to parse response as an AuthResult Object try: authresult = json.loads(rawdata) except Exception as ex: print 'Can\'t parse Manager response as AuthResult Object' print 'Data: ' + rawdata print sys.exit(-1) if 'status' in authresult: if authresult['status'] != 'OK': print 'Manager reject this credentials' print sys.exit(-1) else: print 'Invalid answer from Manager' print 'JSON Data: ' + authresult print sys.exit(-1) # At this point, we have a valid session cookie in out CookieJar. # Reuse to get the list of all Guests guestsurl = 'https://' + options.manager + '/guests' request = urllib2.Request(guestsurl) response = opener.open(request) rawdata = response.read() # Try to parse answer as an array of GuestBasicInfo, and dump its contents try: guestinfo = json.loads(rawdata) for guest in guestinfo: print '==========================================' print 'Basic Info for Guest: ' + guest['guest_id'] print guest except Exception as ex: print 'Can\'t parse Manager answer a an array of GuestBasicInfo' print 'Data: ' + rawdata print sys.exit(-1)
, multiple selections available,
Related content
Getting the list of Guests present in the system
Getting the list of Guests present in the system
More like this
Guest actions
Guest actions
Read with this
Changing a Guest's desired state, waiting for result
Changing a Guest's desired state, waiting for result
More like this
Changing a Guest's desired state, waiting for result
Changing a Guest's desired state, waiting for result
More like this
Getting information about available/used licenses
Getting information about available/used licenses
More like this
Getting information about available/used licenses
Getting information about available/used licenses
More like this