JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr g+dZddlZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z Gdd eZGd d eZGd d eZGddeZGddeZGddeZGddeZe dddZe dddZe dddZe dddZe dd dZe d!d"dZe d#d$dZe d%d&dZe d'd(dZe d)d*dZe d+d,dZ e d-d.dZ!e d/d0dZ"e d1d2dZ#dd3l$m%Z%Gd4d5ejLjNZ(Gd6d7ejLjRZ*y)8z= PyONE is an implementation of Open Nebula XML-RPC bindings. N) string_types)IntEnum)bindings)cast2onec eZdZy) OneExceptionN__name__ __module__ __qualname__=/opt/hc_python/lib/python3.12/site-packages/pyone/__init__.pyr r !rr c eZdZy)OneAuthenticationExceptionNr rrrrr%rrrc eZdZy)OneAuthorizationExceptionNr rrrrr)rrrc eZdZy)OneNoExistsExceptionNr rrrrr-rrrc eZdZy)OneActionExceptionNr rrrrr1rrrc eZdZy)OneApiExceptionNr rrrrr5rrrc eZdZy)OneInternalExceptionNr rrrrr9rrrDATASTORE_TYPESzIMAGE SYSTEM FILE)startDATASTORE_STATESzREADY DISABLED DISK_TYPESzFILE CD_ROM BLOCK RBDHISTORY_ACTIONanone migrate live-migrate shutdown shutdown-hard undeploy undeploy-hard hold release stop suspend resume boot delete delete-recreate reboot reboot-hard resched unresched poweroff poweroff-hard disk-attach disk-detach nic-attach nic-detach disk-snapshot-create disk-snapshot-delete terminate terminate-hard disk-resize deploy chown chmod updateconf rename resize update snapshot-resize snapshot-delete snapshot-revert disk-saveas disk-snapshot-revert recover retry monitor HOST_STATESzINIT MONITORING_MONITORED MONITORED ERROR DISABLED MONITORING_ERROR MONITORING_INIT MONITORING_DISABLED OFFLINE HOST_STATUSzENABLED DISABLED OFFLINE IMAGE_STATESzaINIT READY USED DISABLED LOCKED ERROR CLONE DELETE USED_PERS LOCKED_USED LOCKED_USED_PERS IMAGE_TYPESz1OS CDROM DATABLOCK KERNEL RAMDISK CONTEXT LCM_STATEa LCM_INIT PROLOG BOOT RUNNING MIGRATE SAVE_STOP SAVE_SUSPEND SAVE_MIGRATE PROLOG_MIGRATE PROLOG_RESUME EPILOG_STOP EPILOG SHUTDOWN CANCEL FAILURE CLEANUP_RESUBMIT UNKNOWN HOTPLUG SHUTDOWN_POWEROFF BOOT_UNKNOWN BOOT_POWEROFF BOOT_SUSPENDED BOOT_STOPPED CLEANUP_DELETE HOTPLUG_SNAPSHOT HOTPLUG_NIC HOTPLUG_SAVEAS HOTPLUG_SAVEAS_POWEROFF HOTPLUG_SAVEAS_SUSPENDED SHUTDOWN_UNDEPLOY EPILOG_UNDEPLOY PROLOG_UNDEPLOY BOOT_UNDEPLOY HOTPLUG_PROLOG_POWEROFF HOTPLUG_EPILOG_POWEROFF BOOT_MIGRATE BOOT_FAILURE BOOT_MIGRATE_FAILURE PROLOG_MIGRATE_FAILURE PROLOG_FAILURE EPILOG_FAILURE EPILOG_STOP_FAILURE EPILOG_UNDEPLOY_FAILURE PROLOG_MIGRATE_POWEROFF PROLOG_MIGRATE_POWEROFF_FAILURE PROLOG_MIGRATE_SUSPEND PROLOG_MIGRATE_SUSPEND_FAILURE BOOT_UNDEPLOY_FAILURE BOOT_STOPPED_FAILURE PROLOG_RESUME_FAILURE PROLOG_UNDEPLOY_FAILURE DISK_SNAPSHOT_POWEROFF DISK_SNAPSHOT_REVERT_POWEROFF DISK_SNAPSHOT_DELETE_POWEROFF DISK_SNAPSHOT_SUSPENDED DISK_SNAPSHOT_REVERT_SUSPENDED DISK_SNAPSHOT_DELETE_SUSPENDED DISK_SNAPSHOT DISK_SNAPSHOT_REVERT DISK_SNAPSHOT_DELETE PROLOG_MIGRATE_UNKNOWN PROLOG_MIGRATE_UNKNOWN_FAILURE DISK_RESIZE DISK_RESIZE_POWEROFF DISK_RESIZE_UNDEPLOYED HOTPLUG_NIC_POWEROFF HOTPLUG_RESIZE HOTPLUG_SAVEAS_UNDEPLOYED HOTPLUG_SAVEAS_STOPPEDMARKETPLACEAPP_STATESz(INIT READY LOCKED ERROR DISABLEDMARKETPLACEAPP_TYPESz1UNKNOWN IMAGE VMTEMPLATE SERVICE_TEMPLATEPAGINATED_POOLSzLVM_POOL IMAGE_POOL TEMPLATE_POOL VN_POOL DOCUMENT_POOL SECGROUP_POOLREMOVE_VNET_ATTRSzgAR_ID BRIDGE CLUSTER_ID IP MAC TARGET NIC_ID NETWORK_ID VN_MAD SECURITY_GROUPS VLAN_ID VM_STATEzjINIT PENDING HOLD ACTIVE STOPPED SUSPENDED DONE FAILED POWEROFF UNDEPLOYED CLONING CLONING_FAILURE)marketapp_exportc<eZdZdZd dZdZdZdZdZdZ d Z y) OneServerzB XML-RPC OpenNebula Server Slightly tuned ServerProxy Nc *||_|rtj|dti|_t }|j |jd|j|tjjj||fd|i|y)a Override the constructor to take the authentication or session Will also configure the socket timeout :param uri: OpenNebula endpoint :param session: OpenNebula authentication session :param timeout: Socket timetout :param https_verify: if https cert should be verified :param options: additional options for ServerProxy zmarketapp.exporthttps transportN) _OneServer__sessionsocketsetdefaulttimeoutr-_OneServer__helpersRequestsTransport set_https startswithset_https_verifyxmlrpcclient ServerProxy__init__)selfurisessiontimeout https_verifyoptionsr2s rr>zOneServer.__init__s!   $ $W -  0 &' CNN734""<0 !!**       rc||jvr|j||g|S|jd|z|j|}|j|S)a Override/patch the (private) request method to: - structured parameters will be casted to attribute=value or XML - automatically prefix all methodnames with "one." - automatically add the authentication info as first parameter - process the response :param methodname: XMLRPC method name :param params: XMLRPC parameters :return: opennebula object or XMLRPC returned value zone.)r6 _do_request _cast_parms_OneServer__response)r? methodnameparamsrets r_ServerProxy__requestzOneServer._ServerProxy__requests\  '-4>>*-d,W5 5 6>+G4 4 6>&w/ / 6>$W- - 6>!'* * 6>&w/ /7##rcy)zreturns the recommended wait time between attempts to check if the opennebula platform has reached a desired state, in secondsrrr?s rserver_retry_intervalzOneServer.server_retry_interval'srcyrNrrgs r server_closezOneServer.server_close,s r)NT) r r r __doc__r>rLrFrGrHrhrjrrrr/r/s+ B$*' "$6  rr/c:eZdZdZdZdZd dZdZd dZdZ dZ y ) r7zO Drop in Transport for xmlrpclib that uses Requests instead of httplib z1Python XMLRPC with Requests (python-requests.org)Fc||_yrN) use_https)r?r1s rr8zRequestsTransport.set_https8s rc||_yrN)rC)r?rCs rr:z"RequestsTransport.set_https_verify;s (rc|jddd}|j||}d|ji}tj|f||d|} |j |j |S#tj$rD} tjj||jt| |jd} ~ wwxYw)z) Make an xmlrpc request. ztext/xmlz*/*)z User-Agentz Content-TypeAcceptverify)dataheadersN) user_agent _build_urlrCrequestspostraise_for_statusparse_responseRequestExceptionr;r< ProtocolError status_coderPrt) r?hosthandler request_bodyverboserturlkwargsresprRs rrequestzRequestsTransport.request>s"&#-" oodG,D--/}}S'|W'%' -  ! ! # &&t, , (( D----c43C3C.1!fdllD D Ds A,,C??B>>Cc|j\}}|j|j|j|jS)z, Parse the xmlrpc response. ) getparserfeedcontentclose)r?responsepus rrzz RequestsTransport.parse_responseUs;~~1 x   wwyrcX|jrdnd}|jd}|d|d|S)zf Build a url for our request based on the host, handler and use_http property r1http/z://)rnlstrip)r?r~rschemes rrvzRequestsTransport._build_url`s, !NN..%%tW55rN)F) r r r rkrurnr8r:rrzrvrrrr7r70s-EJI)-. 6rr7)+rk xmlrpc.clientr;r4rwrequests.utilssixrenumrpyonerutilr Exceptionr rrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,helpersr-r<r=r/ Transportr7rrrrs   9      <    l  < +-@J-/?qI \#:! D ),6>?@m& m%?qI ~(?FGI m&  KE"&J./KE 0 N 7:!"$58'./1+.=DEG/2  : CJK M&u  ))u p86 //86r