Anons79 Mini Shell

Directory : /proc/self/root/lib/python2.7/site-packages/ansible/module_utils/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyo

�
�Udac@`s�ddlmZmZmZeZddlZddlmZddl	m
Z
ddl	mZddlm
Z
ddlmZmZidd	6d
d6Zidd6dd	6d
d6Zidd6dd	6d
d6Zidd	6d
d6Zd
efd��YZdS(i(tabsolute_importtdivisiontprint_functionN(topen_url(t	to_native(tto_text(thttp_client(tURLErrort	HTTPErrorsapplication/jsontaccepts4.0s
OData-Versionscontent-typetRedfishUtilscB`s*eZd�Zd�Zd�Zd�Zd�Zed��Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'd%�Z(d&�Z)d'�Z*d(�Z+d)�Z,d*�Z-d+�Z.d,�Z/d-�Z0d.�Z1d/�Z2d0�Z3d1�Z4d2�Z5d3�Z6d4�Z7d5�Z8d6�Z9d7�Z:d8�Z;d9�Z<d:�Z=d;�Z>RS(<cC`s;||_||_||_||_d|_|j�dS(Ns/redfish/v1/(troot_uritcredsttimeouttmoduletservice_roott
_init_session(tselfRRR
R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt__init__s					cC`sPy�t|dddtd|jdd|jddtd	td
ddtd
|j�	}tjt|j	���}t
d�|j�j�D��}Wn�t
k
r�}|j|�}itd6d|j||fd6Stk
r}itd6d||jfd6Stk
r6}itd6d|t|�fd6SXitd6|d6|d6S(NtmethodtGETtheadersturl_usernametuserturl_passwordtpswdtforce_basic_authtvalidate_certstfollow_redirectstallt	use_proxyR
cs`s'|]\}}|j�|fVqdS(N(tlower(t.0tktv((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pys	<genexpr>*strets<HTTP Error %s on GET request to '%s', extended message: '%s'tmsgs&URL Error on GET request to '%s': '%s's Failed GET request to '%s': '%s'tdata(RtGET_HEADERSRtTruetFalseR
tjsontloadsRtreadtdicttinfotitemsRt_get_extended_messagetcodeRtreasont	ExceptionR(RturitrespR%RteR$((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_request!s*

&


cC`syft|dtj|�dtddd|jdd|jdd	td
tddd
td|j�
}Wn�tk
r�}|j	|�}itd6d|j
||fd6Stk
r�}itd6d||jfd6St
k
r}itd6d|t|�fd6SXitd6|d6S(NR%RRtPOSTRRRRRRRRRR
R#s=HTTP Error %s on POST request to '%s', extended message: '%s'R$s'URL Error on POST request to '%s': '%s's!Failed POST request to '%s': '%s'R4(RR)tdumpstPOST_HEADERSRR'R(R
RR/R0RR1R2R(RR3tpyldR4R5R$((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytpost_request9s(




c	C`s�t}|j|�}|drp|djd�}|sN|djd�}n|rpt|�}||d<qpnyft|dtj|�d|ddd	|jd
d|jdd
tdt	dddt	d|j
�
}Wn�tk
r}|j|�}it	d6d|j
||fd6Stk
rG}it	d6d||jfd6Stk
rx}it	d6d|t|�fd6SXitd6|d6S(NR#RtetagR%s@odata.etagsIf-MatchRtPATCHRRRRRRRRRR
s>HTTP Error %s on PATCH request to '%s', extended message: '%s'R$s(URL Error on PATCH request to '%s': '%s's"Failed PATCH request to '%s': '%s'R4(t
PATCH_HEADERSR6tgetR,RR)R8RR'R(R
RR/R0RR1R2R(	RR3R:RtrR<R4R5R$((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt
patch_requestPs:





cC`syft|dtj|�dtddd|jdd|jdd	td
tddd
td|j�
}Wn�tk
r�}|j	|�}itd6d|j
||fd6Stk
r�}itd6d||jfd6St
k
r}itd6d|t|�fd6SXitd6|d6S(NR%RRtDELETERRRRRRRRRR
R#s?HTTP Error %s on DELETE request to '%s', extended message: '%s'R$s)URL Error on DELETE request to '%s': '%s's#Failed DELETE request to '%s': '%s'R4(RR)R8tDELETE_HEADERSRR'R(R
RR/R0RR1R2R(RR3R:R4R5R$((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytdelete_requestrs(




cC`s�tjj|jd�}|jdkr�yD|j�jd�}tj|�}|dd}|dd}Wq�tk
r~q�Xn|S(s�
        Get Redfish ExtendedInfo message from response payload if present
        :param error: an HTTPError exception
        :type error: HTTPError
        :return: the ExtendedInfo message if present, else standard HTTP error
        ti�sutf-8terrors@Message.ExtendedInfoitMessage(	Rt	responsesR?R0R+tdecodeR)R*R2(RFR$tbodyR%text_info((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyR/�s
cC`sdS(N((R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyR�scC`s�|j|j|j�}|dtkr-|S|d}d|krUitd6dd6S|dd}|j|j|�}|dtkr�|S|d}|dd}|dd	kr�|d }n||_itd6S(
NR#R%tAccountServices!AccountService resource not foundR$s	@odata.idtAccountsi����t/(R6RRR(taccounts_uriR'(RtresponseR%taccount_servicetaccounts((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt_find_accountservice_resource�s 


	cC`s�|j|j|j�}|dtkr-|S|d}d|krUitd6dd6S|dd}|j|j|�}|dtkr�|S|d}|dd}|dd	kr�|d }n||_itd6S(
NR#R%tSessionServices!SessionService resource not foundR$s	@odata.idtSessionsi����RN(R6RRR(tsessions_uriR'(RRPR%tsession_servicetsessions((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt_find_sessionservice_resource�s 


	cC`s�|j|j|j�}|dtkr-|S|d}d|krUitd6dd6S|j|j|dd�}|dtkr�|Sg|djdg�D]}|d^q�|_|js�itd6dd6Sitd6S(	NR#R%tSystemssSystems resource not foundR$s	@odata.idtMemberss9ComputerSystem's Members array is either empty or missing(R6RRR(R?tsystems_urisR'(RRPR%ti((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt_find_systems_resource�s
0	cC`s�|j|j|j�}|dtkr-|S|d}d|krUitd6dd6S|dd}||_|j|j|�}|dtkr�|S|d}|dd}||_itd6SdS(	NR#R%t
UpdateServices UpdateService resource not foundR$s	@odata.idtFirmwareInventoryu	@odata.id(R6RRR(t
update_uritfirmware_uriR'(RRPR%tupdatetfirmware_inventory((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt_find_updateservice_resource�s
	
	cC`s�g}|j|j|j�}|dtkr3|S|d}d|kr[itd6dd6S|dd}|j|j|�}|dtkr�|S|d}x#|dD]}|j|d�q�W||_itd6SdS(	NR#R%tChassissChassis resource not foundR$s	@odata.iduMembersu	@odata.id(R6RRR(tappendtchassis_uri_listR'(Rtchassis_serviceRPR%tchassistmember((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt_find_chassis_resource�s 

	cC`s�|j|j|j�}|dtkr-|S|d}d|krUitd6dd6S|dd}|j|j|�}|dtkr�|S|d}x|dD]}|d}q�W||_itd6SdS(	NR#R%tManagerssManager resource not foundR$s	@odata.iduMembersu	@odata.id(R6RRR(tmanager_uriR'(RRPR%tmanagerRktmanager_service((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt_find_managers_resource�s

	c

C`s�g}g}|j|j|j�}|dtkr9|S|d}d|kraitd6dd6S|dd}|j|j|�}|dtkr�|S|d}x_|dD]S}|j|j|d�}|dtkr�|S|d}|j|d	d�q�Wx�|D]�}i}	g}
|j|j|�}|dtkrH|S|d}|d
|	d
<xJ|dD]>}|
jtd|dd
|dd|dd|d��qkW|jd�d}|
|	|<|j|	�qWitd6|d6S(NR#R%tLogServicessLogServices resource not foundR$s	@odata.iduMembersu	@odata.idtEntriestDescriptiontNameuNametCreateduCreatedRGuMessagetSeverityuSeverityRNi����tentries(R6RRnR(RgR,tsplitR'(
Rtlog_svcs_uri_listtlist_of_logsRPR%tlogs_uritlog_svcs_entryt_datatlog_svcs_uritlogstlist_of_log_entriestlogEntrytlog_name((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_logssJ








cC`sH|j|j|j�}|dtkr-|S|d}d|krUitd6dd6S|dd}|j|j|�}|dtkr�|S|d}x�|dD]�}|j|j|d�}|dtkr�|S|d}d|kr�d	|d
kr9|j|j|d
d	di�|dtkr6|Sq9q�q�Witd6S(NR#R%RrsLogServices resource not foundR$s	@odata.iduMemberstActionss#LogService.ClearLoguActionsttarget(R6RRnR(R;R'(RRPR%R|R}R~((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt
clear_logs?s,


#cC`s�t}g}x_|jD]T}||�}|jd�o:|}d|kr|ji|d6|df�qqWtd|d|�S(NR#Rxtsystems_uri(R'R\tpopRgR,(RtfuncR#RxR�t	inventory((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt	aggregate\scC`s�i}g}g}ddddddddd	d
dg}d}|j|j|�}|d
tkri|S|d}d|kr�itd
6dd6S|dd}	|j|j|	�}|d
tkr�|St|d
<|d}|dr�x�|dD]�}
|
d}|j|j|�}|d}||kr�||}xR|D]G}i}
x+|D]#}||krR|||
|<qRqRW|j|
�q?Wn||d<q�W|Sitd
6dd6SdS(NtCacheSummarytFirmwareVersiontIdentifierstLocationtManufacturertModelRut
PartNumbertSerialNumbert	SpeedGbpstStatustStorageControllersR#R%tStoragesStorage resource not foundR$s	@odata.iduMembersu	@odata.idRx(R6RR(R'Rg(RR�tresulttcontroller_listtcontroller_resultst
propertiestkeyRPR%tstorage_uritstorage_membertstorage_member_urit
controllertcontroller_resulttproperty((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt get_storage_controller_inventorygsF	








cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt&get_multi_storage_controller_inventory�scC`s|igd6}g}g}dddddddd	d
ddd
ddddddddg}|j|j|�}|dtkr�|S|d}d|kr�d|kr�itd6dd6Sd|krE|dd}|j|j|�}|dtkr�|St|d<|d}|drEx#|dD]}	|j|	d�q&Wx�|D]�}
|j|
}|j|�}|dtkr~|S|d}d|krHx�|d D]�}|j|d}
|j|
�}|d}i}x>|D]6}||kr�||dk	r||||<qq�q�W|j|�q�WqHqHW|dj|�qEnd|krx|dd!}|j|j|�}|dtkr�|St|d<|d}x#|dD]}	|j|	d�q�Wx�|D]�}
|j|
}|j|�}|dtkr|S|d}xS|d"D]G}i}x+|D]#}||kr(||||<q(q(W|j|�qWq�W|dj|�n|S(#NRxtBlockSizeBytestCapableSpeedGbst
CapacityBytestEncryptionAbilitytEncryptionStatustFailurePredictedtHotspareTypetIdR�R�t	MediaTypeR�RuR�tPhysicalLocationtProtocoltRevisiontRotationSpeedRPMR�R�R#R%t
SimpleStorageR�sASimpleStorage and Storage resource                      not foundR$uStorageu	@odata.iduMemberstDrivesuDrivess	@odata.iduDevices(R6RR(R'RgtNone(RR�R�R�tdisk_resultsR�RPR%R�R�tcR3tdevicetdisk_uritdisk_resultR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_disk_inventory�s�
	















cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_disk_inventory�scC`sHigd6}g}g}g}dddddddd	d
ddd
ddddg}|j|j|�}|dtkr|S|d}d|kr�d|kr�itd6dd6Sd|kr2|dd}	|j|j|	�}|dtkr�|St|d<|d}|jd�rDx#|dD]}
|j|
d�q%Wx�|D]�}|j|}|j|�}|dtkr}|S|d}d|krG|dd}
|j|j|
�}|d}|jd�rx#|dD]}|j|d�q�Wx|D]}|j|}|j|�}|dtkr3|S|d}i}x>|D]6}||krJ||dk	r�||||<q�qJqJWg}d|krd|d krxG|d d!D]7}|d}|jd"�d#}|ji|d6�q�W||d$<qn|j|�q�WqqGqGW|dj|�qDnitd6d%d6S|S(&NRxR�RutRAIDTypet
VolumeTypeR�tCapacityR�tCapacitySourcest	EncryptedtEncryptionTypesR�t
OperationstOptimumIOSizeBytestAccessCapabilitiestAllocatedPoolsR�R#R%R�R�sASimpleStorage and Storage resource                      not foundR$uStorageu	@odata.idR[uMemberstVolumesuVolumestLinksR�uLinksuDrivesRNi����t
Linked_drivessStorage resource not found(R6RR(R'R?RgR�Ry(RR�R�R�tvolume_listtvolume_resultsR�RPR%R�R�R�R3tvolumes_uritvolumeR"t
volume_resultR�t
drive_id_listtlinkt
drive_id_linktdrive_id((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_volume_inventory�s|
			












cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_volume_inventory@scC`s�i}d}|j|j|j�}|dtkr9|St|d<|d}||dd}idd6}|j|j||�}|dtkr�|Sitd6S(NR�R#R%s#Manager.ResetR�tGracefulRestartt	ResetType(R6RRnR(R'R;(RR�R�RPR%t
action_uritpayload((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytrestart_manager_gracefullyCs


c	C`s
i}d}idd6dd6dd6}i}x�|jD]�}|j|j|�}|dtkrg|St|d<|d	}||kr�itd6d
|d6S||j�kr�i||d6}|j|j||�}|dtkr|Sq7itd6dd6Sq7W|S(
NtIndicatorLEDtLittIndicatorLedOntOfftIndicatorLedOfftBlinkingtIndicatorLedBlinkR#R%sKey %s not foundR$sInvalid command(RhR6RR(R'tkeysRA(	RtcommandR�R�tpayloadstchassis_uriRPR%R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytmanage_indicator_ledUs&

cC`sd}|j|j|jd�}|dtkr7|S|d}|d}|dkru|dkruitd6td6S|d	kr�|dkr�itd6td6S||d}|d
}|jdg�}d}	d|kr�d|kr�d}	n|dkridd6}
n�|dkr(idd6}
n�|dkrDidd6}
n�|dkr`idd6}
nf|d
kr|idd6}
nJ|dkr�|dkr�i|	d6}
q�idd6}
nitd6dd6S|j|j||
�}|dtkr�|Sitd6td6S(NR�iR#R%t
PowerStatetOntPowerOntchangedR�tPowerGracefulShutdownt
PowerForceOffs#ComputerSystem.ResetR�s![email protected]�tForceRestartR�tForceOfftPowerForceRestarttPowerGracefulRestarttGracefulShutdowntPowerRebootsInvalid CommandR$(R�R�(R6RR\R(R'R?R;(RR�R�RPR%tpower_statetreset_actionR�tallowable_valstrestart_cmdR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytmanage_system_powerosF


	cC`s%i}g}g}ddddddg}|j|j|j�}|dtkrW|St|d<|d}x#|d	D]}|j|d
�qvWx�|D]{}i}	|j|j|�}|dtkr�|S|d}x+|D]#}
|
|kr�||
|	|
<q�q�W|j|	�q�W||d<|S(NR�RutUserNametRoleIdtLockedtEnabledR#R%uMembersu	@odata.idRx(R6RROR(R'Rg(RR�t	user_listt
users_resultsR�RPR%tusersR3RR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt
list_users�s.





c	C`s�|j|jd|d}i|dd6}i|dd6}i|dd6}itd	6}x@||||fD],}|j||�}|d
tkro|SqoWitd
6S(NRNtuseridtusernameR�tuserpswdtPasswordtuserroleR�R�R#(RROR'RAR((	RRR3RRtroleidtenabledR�RP((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytadd_user�s
cC`sZ|j|jd|d}itd6}|j||�}|dtkrO|Sitd6S(NRNR�R�R#(RROR'RAR((RRR3R�RP((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytenable_user�s
cC`sZ|j|jd|d}idd6}|j||�}|dtkrO|Sitd6S(NRNR�RER�R#(RRORAR(R'(RRR3R�RP((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytdelete_user�s
cC`sZ|j|jd|d}itd6}|j||�}|dtkrO|Sitd6S(NRNR�R�R#(RROR(RAR'(RRR3R�RP((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytdisable_user�s
cC`s^|j|jd|d}i|dd6}|j||�}|dtkrS|Sitd6S(NRNR�RR�R#(RRORAR(R'(RRR3R�RP((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytupdate_user_role�scC`s^|j|jd|d}i|dd6}|j||�}|dtkrS|Sitd6S(NRNR�RRR#(RRORAR(R'(RRR3R�RP((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytupdate_user_password�scC`si}g}g}ddddg}|j|j|j�}|dtkrQ|St|d<|d}x#|dD]}|j|d�qpWx�|D]{}i}	|j|j|�}|dtkr�|S|d}x+|D]#}
|
|kr�||
|	|
<q�q�W|j|	�q�W||d	<|S(
NRtR�RuR�R#R%uMembersu	@odata.idRx(R6RRVR(R'Rg(RR�tsession_listtsessions_resultsR�RPR%RXR3tsessionR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_sessions�s.





cC`s	i}|j|j|j�}|dtkr3|St|d<i|d<|d}d|kr�|d}t|�dkr�xt|j�D]Q}|j|�}d|kr�|d}n|}|jddg�|d|<q�Wqid	d6d
d6Snid	d6dd6S|S(
NR#RxR%R�ittitles([email protected]Key [email protected] not foundR(sActions list is empty.R$sKey Actions not found.(R6RRaR(R'tlenR�R?(RR�RPR%tactionsR�tactionR((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt get_firmware_update_capabilitiess(




	c
C`si}|j|j|j�}|dtkr3|St|d<|d}g|d<x�|dD]�}|j|d}|j|�}|dtkr�|St|d<|d}i}xKdddd	d
ddd
dg	D](}||kr�|j|�||<q�q�W|dj|�q\W|S(NR#R%RxuMembersu	@odata.idRuR�R�tVersiont
Updateablet
SoftwareIdtLowestSupportedVersionR�tReleaseDate(R6RRbR(R'R?Rg(RR�RPR%R�R3tfirmwareR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_firmware_inventory1s,




	
c	C`s�i}i}d}|j|j|�}|dtkr<|St|d<|d}||krritd6d|d6S||d}|j|j|�}|dtkr�|St|d<|d}x*|dj�D]}|d||d	<q�W||d
<|S(NtBiosR#R%sKey %s not foundR$s	@odata.idu
AttributesiiRx(R6RR(R'R.(	RR�R�tbios_attributesR�RPR%tbios_urit	attribute((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_bios_attributesLs(




cC`s|j|j�S(N(R�R (R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_bios_attributesgsc	C`s?i}ddg}|j|j|�}|dtkr<|St|d<|d}d|ksld|dkr~itd6dd6S|d}|d}d	|krd
|d	kr|d	d
}|j|j|�}|dtkr�|S|d}d|kritd6dd6S|d}	ng}	i}
x�|	D]�}d
|krRitd6d
d6S|d
}|j|j|�}|dtkr�|S|d}d|kr�itd6dd6S|d}
i}x+|D]#}||kr�||||<q�q�W||
|
<q.Wg}x.|D]&}|j|
j|i|d6��qW||d<|S(NtDisplayNametBootOptionReferenceR#R%tBoott	BootOrdersKey BootOrder not foundR$tBootOptionss	@odata.idR[s*Members not found in BootOptionsCollections"@odata.id not found in BootOptionss+BootOptionReference not found in BootOptionRx(R6RR(R'RgR?(RR�R�R�RPR%tboott
boot_ordertboot_options_uritmemberstboot_options_dictRktboot_option_uritboot_option_reft
boot_propstproptboot_device_listtref((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_boot_orderjsZ













cC`s|j|j�S(N(R�R2(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_boot_order�sc	C`s
i}dddddg}|j|j|�}|dtkrE|St|d<|d}d|krwitd6d	d
6S|d}i}d|kr�|dtk	r�xA|D]6}||kr�||dk	r�||||<q�q�q�Wq�nitd6dd
6S||d<|S(
NtBootSourceOverrideEnabledtBootSourceOverrideTargettBootSourceOverrideModetUefiTargetBootSourceOverrides0[email protected]#R%R$sKey Boot not foundR$sNo boot override is enabled.Rx(R6RR(R'R�(	RR�R�R�RPR%R'tboot_overridesR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_boot_override�s*




cC`s|j|j�S(N(R�R9(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_boot_override�scC`si}d}|j|j|jd�}|dtkr=|St|d<|d}||krsitd6d|d6S||d}|j|j|�}|dtkr�|St|d<|d}|dd	d
}|j|j|i�}|dtkr�|Sitd6td6dd6S(
NRiR#R%sKey %s not foundR$s	@odata.idR�s#Bios.ResetBiosR�R�sSet BIOS to default settings(R6RR\R(R'R;(RR�R�RPR%Rtreset_bios_settings_uri((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytset_bios_default_settings�s(



cC`s�i}d}|s$itd6dd6S|j|j|jd�}|dtkrU|St|d<|d}||kr�itd6d|d6S||}d}	|	|kr�||	}
t|
t�r�||
kr�itd6d	||
fd6Sn|jd
�}|jd�}|jd�}
|jd
�}|dkr�|sKitd6dd6S|dkr�||kr�||
kr�itd6td6Siidd
6|d6|d6d6}n�|dkr%|s�itd6dd6S|dkr||kr||kritd6td6Siidd
6|d6|d
6d6}nE|dkrO||krOitd6td6Siidd
6|d6d6}|j|j|jd|�}|dtkr�|Sitd6td6S(NR$R#s-bootdevice option required for SetOneTimeBootR$iR%sKey %s not founds0[email protected]Boot device %s not in list of allowable values (%s)R4R5R7tBootNextt
UefiTargets<uefi_target option required to SetOneTimeBoot for UefiTargettOnceR�tUefiBootNexts<boot_next option required to SetOneTimeBoot for UefiBootNext(	R(R6RR\R't
isinstancetlistR?RA(Rt
bootdevicetuefi_targett	boot_nextR�R�RPR%R't
annotationtallowable_valuesRR�tcur_uefi_targett
cur_boot_nextR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytset_one_time_boot_device�sp






$
$ c
C`s�i}d}|j|j|jd�}|dtkr=|St|d<|d}||krsitd6d|d6S||d}|j|j|�}|dtkr�|St|d<|d}|d|d	kr�itd6d
d6S|d	|d|dkritd6td6d
d6S|ddd}d|dd|dd}itj|�d6}	|j|j||	�}|dtkr�|Sitd6td6dd6S(NRiR#R%sKey %s not foundR$s	@odata.idtbios_attr_nameu
AttributessBIOS attribute not foundtbios_attr_valueR�sBIOS attribute already sets@Redfish.SettingstSettingsObjects{"s":"s"}t
AttributessModified BIOS attribute(R6RR\R(R'R)R*RA(
RtattrR�R�RPR%Rtset_bios_attr_urit	bios_attrR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytset_bios_attributes<s4



c	C`s�i}g}dddddddg}x�|jD]�}|j|j|�}|dtkra|St|d<|d	}i}x+|D]#}||kr�||||<q�q�W|j|�q1W||d
<|S(NtChassisTypeR�tAssetTagR�R�R�R�R#R%Rx(RhR6RR(R'Rg(	RR�tchassis_resultsR�R�RPR%tchassis_resultR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_chassis_inventoryes"	



cC`s5i}g}d}ddddg}x|jD]�}|j|j|�}|dtkr^|St|d<|d}||kr.||d}|j|j|�}|dtkr�|St|d<|d}xV|d	D]G}	i}
x+|D]#}||	kr�|	||
|<q�q�W|j|
�q�Wq.q.W||d
<|S(NtThermaltFanNametReadingtReadingUnitsR�R#R%s	@odata.iduFansRx(RhR6RR(R'Rg(RR�tfan_resultsR�R�R�RPR%tthermal_uriR�tfanR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_fan_inventory}s2





c
	C`sei}d}dddddddd	d
g	}g}x!|jD]}i}|j|j|�}|dtkrs|St|d<|d}||krA|j|j||d
�}|d}d|krt|d�dkr1|dd}x.|D]#}	|	|kr�||	||	<q�q�Wq1nitd6dd6S|j|�q=itd6dd6Sq=W||d<|S(NtPowerRutPowerAllocatedWattstPowerAvailableWattstPowerCapacityWattstPowerConsumedWattstPowerMetricstPowerRequestedWattstRelatedItemR�R#R%s	@odata.idtPowerControlisKey PowerControl not found.R$sKey Power not found.Rx(RhR6RR(R'RRg(
RR�R�R�tchassis_power_resultsR�tchassis_power_resultRPR%R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_chassis_power�s8




c
C`s�i}g}d}dddddddd	d
ddd
dg
}x"|jD]}|j|j|�}|dtkry|St|d<|d}||krI||d}|j|j|�}|dtkr�|St|d<|d}d|kr`xi|dD]Z}	i}
x>|D]6}||	kr|	|dk	rE|	||
|<qEqqW|j|
�q�Wq`qIqIW|dkr�itd6dd6S||d<|S(NRXRutPhysicalContexttUpperThresholdCriticaltUpperThresholdFataltUpperThresholdNonCriticaltLowerThresholdCriticaltLowerThresholdFataltLowerThresholdNonCriticaltMaxReadingRangeTemptMinReadingRangeTemptReadingCelsiusRgtSensorNumberR#R%s	@odata.idtTemperaturesuTemperaturessKey Temperatures was not found.R$Rx(RhR6RR(R'R�Rg(RR�tsensorsR�R�R�RPR%R]tsensort
sensor_resultR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_chassis_thermals�sD			





cC`s�i}g}g}d}dddddddg}|j|j|�}|d	tkr]|St|d	<|d
}||kr�itd	6d|d6S||d
}	|j|j|	�}|d	tkr�|St|d	<|d
}x#|dD]}
|j|
d�q�Wx�|D]�}i}
|j|}|j|�}|d	tkrH|S|d
}x+|D]#}
|
|krY||
|
|
<qYqYW|j|
�qW||d<|S(Nt
ProcessorsR�R�R�tMaxSpeedMHzt
TotalCorestTotalThreadsR�R#R%sKey %s not foundR$s	@odata.iduMembersu	@odata.idRx(R6RR(R'Rg(RR�R�tcpu_listtcpu_resultsR�R�RPR%tprocessors_uritcpuR�R3R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_cpu_inventory�sD








cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_cpu_inventorysc
C`s�i}g}g}d}dddddddd	d
dg
}|j|j|�}|dtkrf|St|d<|d
}||kr�itd6d|d6S||d}	|j|j|	�}|dtkr�|St|d<|d
}x#|dD]}
|j|
d�q�Wx�|D]�}i}
|j|}|j|�}|dtkrQ|S|d
}d	|krd|d	kr�|d	ddkr�qq�q�nqx+|D]#}
|
|kr�||
|
|
<q�q�W|j|
�qW||d<|S(NtMemoryR�tMemoryDeviceTypet	PartNubertMemoryLocationt	RankCounttCapacityMiBtOperatingMemoryModesR�R�RuR#R%sKey %s not foundR$s	@odata.iduMembersu	@odata.idtStatetAbsentRx(R6RR(R'Rg(RR�R�tmemory_listtmemory_resultsR�R�RPR%t
memory_uritdimmtmR3R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_memory_inventorysN	








cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_memory_inventoryTscC`s�i}g}g}d}dddddddd	d
ddg}|j|j|�}|d
tkri|St|d
<|d}||kr�itd
6d|d6S||d}	|j|j|	�}|d
tkr�|St|d
<|d}x#|dD]}
|j|
d�q�Wx�|D]�}i}
|j|}|j|�}|d
tkrT|S|d}x+|D]#}
|
|kre||
|
|
<qeqeW|j|
�qW||d<|S(NtEthernetInterfacesRttFQDNt
IPv4Addressest
IPv6AddressestNameServerst
MACAddresstPermanentMACAddresst	SpeedMbpstMTUSizetAutoNegR�R#R%sKey %s not foundR$s	@odata.iduMembersu	@odata.idRx(R6RR(R'Rg(Rtresource_uriR�tnic_listtnic_resultsR�R�RPR%tethernetinterfaces_uritnictnR3R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_nic_inventoryWsF	








cC`s�t}g}|dkr$|j}n|dkr?|jg}nx_|D]W}|j|�}|jd�om|}d|krF|ji|d6|df�qFqFWtd|d|�S(NRZtManagerR#RxR�(R'R\RnR�R�RgR,(Rt
resource_typeR#Rxt
resource_urisR�R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_nic_inventory�s
c
C`s�i}g}g}d}dddddddd	d
dg
}|j|j|�}|dtkrf|St|d<|d
}||kr�itd6d|d6S||d}	|j|j|	�}|dtkr�|St|d<|d
}x#|dD]}
|j|
d�q�Wx�|D]�}i}
|j|}|j|�}|dtkrQ|S|d
}x+|D]#}
|
|krb||
|
|
<qbqbW|j|
�qW||d<|S(NtVirtualMediaRttConnectedViaR�t
MediaTypestImaget	ImageNameRutWriteProtectedtTransferMethodtTransferProtocolTypeR#R%sKey %s not foundR$s	@odata.iduMembersu	@odata.idRx(R6RR(R'Rg(RR�R�tvirtualmedia_listtvirtualmedia_resultsR�R�RPR%tvirtualmedia_uritvirtualmediaR�R3R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_virtualmedia�sF








cC`s�t}g}|jg}x_|D]W}|j|�}|jd�oF|}d|kr|ji|d6|df�qqWtd|d|�S(NR#RxR�(R'RnR�R�RgR,(RR#RxR�R�R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_virtualmedia�s
c	C`s�i}g}g}d}dddddddd	d
g	}|j}xn|D]f}|j|j|�}|dtkry|St|d<|d}	d
|	krI|	dd}
nqI|j|j|
�}|d}	||	kr�itd6d|d6S|	|}x�|D]�}t}i}
x}|D]u}||kr||dk	r�|d
krzd||krz||ddkrwt}qwqzn|||
|<q�qqW|r�qn|j|
�qWqIW||d<|ds�itd6dd6S|S(Nt
PowerSuppliesRuR�R�R�R�R�RctPowerSupplyTypeR�R#R%R`uPoweru	@odata.idsKey %s not foundR$R�R�RxsNo PowerSupply objects found(RhR6RR(R'R�Rg(RR�tpsu_listtpsu_resultsR�R�RhR�RPR%t	power_uritpsutpsu_not_presenttpsu_dataR�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_psu_inventory�sP			








cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_psu_inventory
scC`s�i}i}ddddddddd	d
ddd
ddg}|j|j|�}|dtkri|St|d<|d}x+|D]#}||kr�||||<q�q�W||d<|S(NR�tHostNameR�R�R�R�t
SystemTypeRTt
ServiceTagR�tSKUtBiosVersiont
MemorySummarytProcessorSummarytTrustedModulesR#R%Rx(R6RR(R'(RR�R�R�R�RPR%R�((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_system_inventorys 



cC`s|j|j�S(N(R�R�(R((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pytget_multi_system_inventory&s(?t__name__t
__module__RR6R;RARDtstaticmethodR/RRSRYR^ReRlRqR�R�R�R�R�R�R�R�R�R�R�R�R�RRRR	R
RRRRR R!R2R3R9R:R<RJRRRWR_RkR{R�R�R�R�R�R�R�R�R�R�R�R�(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyR
sx					"									1			0		S		P				/	!							!					C					N	)		 	%	*	/		6		/		/		5		(t
__future__RRRttypet
__metaclass__R)tansible.module_utils.urlsRtansible.module_utils._textRRtansible.module_utils.six.movesRt+ansible.module_utils.six.moves.urllib.errorRRR&R9R>RCtobjectR
(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/redfish_utils.pyt<module>s



Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]