%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/modules/drac.pyc

�
���^c@@s0dZddlmZmZmZddlZddlZddlm	Z	ddl
mZeje
�Zd�Zd�Zd�Zd	�Zd
�Zd�Zed�Zd
�Zd�Zdd�Zdd�Zdd�Zdd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$dS(u
Manage Dell DRAC
i(tabsolute_importtprint_functiontunicode_literalsN(tsix(trangecC@s#tjjjd�rtStdfS(NuracadmuFThe drac execution module cannot be loaded: racadm binary not in path.(tsalttutilstpathtwhichtTruetFalse(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt__virtual__scC@s�i}d}x�|j�D]�}t|j��dkr�d|kr�||kr�||jtg|jd�D]}|j�^qlg��q�q|j�d }||kr|ri||<qqW|S(u 
    Parse Dell DRAC output
    uiu=i����(t
splitlinestlentrstriptupdatetdicttsplittstrip(toutputtdractsectiontitprop((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt__parse_dracs$
5cC@sKtddj|��}|ddkrGtjdj|d��tStS(u
    Execute rac commands
    ucmd.run_allu
racadm {0}uretcodeiu!racadm return an exit code '{0}'.(t__salt__tformattlogtwarningR
R	(tcommandtcmd((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt
__execute_cmd0s
cC@sKtdd�}|ddkr=tjdj|d��nt|d�S(us
    Return System information

    CLI Example:

    .. code-block:: bash

        salt dell drac.system_info
    ucmd.run_alluracadm getsysinfouretcodeiu!racadm return an exit code '{0}'.ustdout(RRRRR(R((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytsystem_info=s
cC@sKtdd�}|ddkr=tjdj|d��nt|d�S(uw
    Return Network Configuration

    CLI Example:

    .. code-block:: bash

        salt dell drac.network_info
    ucmd.run_alluracadm getniccfguretcodeiu!racadm return an exit code '{0}'.ustdout(RRRRR(R((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytnetwork_infoOscG@sot|�dkr#tjd�tSxEtdt|�d�D]*}tdj|||d��s=tSq=WtS(u�
    Configure the nameservers on the DRAC

    CLI Example:

    .. code-block:: bash

        salt dell drac.nameservers [NAMESERVERS]
        salt dell drac.nameservers ns1.example.com ns2.example.com
    iu$racadm only supports two nameserversiuAconfig -g cfgLanNetworking -o                 cfgDNSServer{0} {1}(R
RRR
RRRR	(tnsR((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytnameserversbs
 cC@s/|r%td�r%tdj|��Std�S(uk
    Configure syslog remote logging, by default syslog will automatically be
    enabled if a server is specified. However, if you want to disable syslog
    you will need to specify a server followed by False

    CLI Example:

    .. code-block:: bash

        salt dell drac.syslog [SYSLOG IP] [ENABLE/DISABLE]
        salt dell drac.syslog 0.0.0.0 False
    uCconfig -g cfgRemoteHosts -o                 cfgRhostsSyslogEnable 1uFconfig -g cfgRemoteHosts -o                 cfgRhostsSyslogServer1 {0}u3config -g cfgRemoteHosts -o cfgRhostsSyslogEnable 0(RR(tservertenable((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytsyslogys

		cC@s|rtd�Std�SdS(u�
    Enable/Disable email alerts

    CLI Example:

    .. code-block:: bash

        salt dell drac.email_alerts True
        salt dell drac.email_alerts False
    uEconfig -g cfgEmailAlert -o                 cfgEmailAlertEnable -i 1 1uEconfig -g cfgEmailAlert -o                 cfgEmailAlertEnable -i 1 0N(R(taction((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytemail_alerts�s
cC@si}d}x�tdd�D]�}tddj|��}|ddkrhtjdj|d��nx�|d	j�D]�}|jd
�s�qyn|jd�\}}|jd�r�|j�}|r�i|d
6||<q�Pqy||j	i||6�qyWqW|S(ul
    List all DRAC users

    CLI Example:

    .. code-block:: bash

        salt dell drac.list_users
    uiiucmd.run_allu7racadm getconfig -g                 cfgUserAdmin -i {0}uretcodeiu!racadm return an exit code '{0}'.ustdoutucfgu=ucfgUserAdminUserNameuindex(
RRRRRRt
startswithRRR(tuserst	_usernametidxRtusertkeytval((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt
list_users�s$
 cC@s]|dkr&t�}||d}n|r?tdj|��Stjdj|��tStS(u�
    Delete a user

    CLI Example:

    .. code-block:: bash

        salt dell drac.delete_user [USERNAME] [UID - optional]
        salt dell drac.delete_user diana 4
    uindexuVconfig -g cfgUserAdmin -o                               cfgUserAdminUserName -i {0} ""u'{0}' does not existN(tNoneR0RRRRR
R	(tusernametuidR-((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytdelete_user�s	cC@s`|dkr&t�}||d}n|rBtdj||��Stjdj|��tStS(u�
    Change users password

    CLI Example:

    .. code-block:: bash

        salt dell drac.change_password [USERNAME] [PASSWORD] [UID - optional]
        salt dell drac.change_password diana secret
    uindexuIconfig -g cfgUserAdmin -o                 cfgUserAdminPassword -i {0} {1}u'{0}' does not existN(R1R0RRRRR
R	(R2tpasswordR3R-((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytchange_password�s	cC@sZt�}|d
kr!t�}n||krGtjdj|��tSx,tj|�D]}|j	||d�qWWt
tttdd��|�dt
�j�}tdj||��s�t||�tSt|||�stjd�t||�tSt|||�s0tjd�t||�tStd	j|��sVt||�tSt
S(u�
    Create user accounts

    CLI Example:

    .. code-block:: bash

        salt dell drac.create_user [USERNAME] [PASSWORD] [PRIVILEGES]
        salt dell drac.create_user diana secret login,test_alerts,clear_logs

    DRAC Privileges
      * login                   : Login to iDRAC
      * drac                    : Configure iDRAC
      * user_management         : Configure Users
      * clear_logs              : Clear Logs
      * server_control_commands : Execute Server Control Commands
      * console_redirection     : Access Console Redirection
      * virtual_media           : Access Virtual Media
      * test_alerts             : Test Alerts
      * debug_commands          : Execute Debug Commands
    u'{0}' already existsuindexiitreverseuJconfig -g cfgUserAdmin -o                  cfgUserAdminUserName -i {0} {1}uunable to set user permissionsuunable to set user passworduOconfig -g cfgUserAdmin -o                           cfgUserAdminEnable -i {0} 1N(tsetR1R0RRRR
RtiterkeystaddtsortedtlistRR	tpopRR4tset_permissionsR6(R2R5tpermissionsR*t_uidsR,R3((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytcreate_user�s4	1





cC@s�i	dd6dd6dd6dd6d	d
6dd6d
d6dd6dd6}d}|dkrqt�}||d}nxI|jd�D]8}|j�}||kr�|t||d�7}q�q�Wtdj||��S(u�
    Configure users permissions

    CLI Example:

    .. code-block:: bash

        salt dell drac.set_permissions [USERNAME] [PRIVILEGES] [USER INDEX - optional]
        salt dell drac.set_permissions diana login,test_alerts,clear_logs 4

    DRAC Privileges
      * login                   : Login to iDRAC
      * drac                    : Configure iDRAC
      * user_management         : Configure Users
      * clear_logs              : Clear Logs
      * server_control_commands : Execute Server Control Commands
      * console_redirection     : Access Console Redirection
      * virtual_media           : Access Virtual Media
      * test_alerts             : Test Alerts
      * debug_commands          : Execute Debug Commands
    u	0x0000001uloginu	0x0000002udracu	0x0000004uuser_managementu	0x0000008u
clear_logsu	0x0000010userver_control_commandsu	0x0000020uconsole_redirectionu	0x0000040u
virtual_mediau	0x0000080utest_alertsu	0x0000100udebug_commandsiuindexu,iuLconfig -g cfgUserAdmin -o             cfgUserAdminPrivilege -i {0} 0x{1:08X}N(R1R0RRtintRR(R2R?R3t
privilegest
permissionR-Rtperm((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyR>;s&

	cC@stdj|��S(u�
    Configure SNMP community string

    CLI Example:

    .. code-block:: bash

        salt dell drac.set_snmp [COMMUNITY]
        salt dell drac.set_snmp public
    u@config -g cfgOobSnmp -o             cfgOobSnmpAgentCommunity {0}(RR(t	community((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytset_snmpmscC@stdj|||��S(u�
    Configure Network

    CLI Example:

    .. code-block:: bash

        salt dell drac.set_network [DRAC IP] [NETMASK] [GATEWAY]
        salt dell drac.set_network 192.168.0.2 255.255.255.0 192.168.0.1
    usetniccfg -s {0} {1} {2}(RR(tiptnetmasktgateway((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytset_network|s	cC@s
td�S(u
    Issues a power-cycle operation on the managed server. This action is
    similar to pressing the power button on the system's front panel to
    power down and then power up the system.

    CLI Example:

    .. code-block:: bash

        salt dell drac.server_reboot
    userveraction powercycle(R(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt
server_reboot�scC@s
td�S(u}
    Powers down the managed server.

    CLI Example:

    .. code-block:: bash

        salt dell drac.server_poweroff
    userveraction powerdown(R(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytserver_poweroff�s
cC@s
td�S(uz
    Powers up the managed server.

    CLI Example:

    .. code-block:: bash

        salt dell drac.server_poweron
    userveraction powerup(R(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytserver_poweron�s
cC@s
td�S(u�
    Performs a reset (reboot) operation on the managed server.

    CLI Example:

    .. code-block:: bash

        salt dell drac.server_hardreset
    userveraction hardreset(R(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pytserver_hardreset�s
cC@sAtd�r0td�rtStjd�tSntjd�tS(u�
    Configure server to PXE perform a one off PXE boot

    CLI Example:

    .. code-block:: bash

        salt dell drac.server_pxe
    uCconfig -g cfgServerInfo -o             cfgServerFirstBootDevice PXEu.config -g cfgServerInfo -o cfgServerBootOnce 1ufailed to set boot orderufailed to configure PXE boot(RRLRRR
(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt
server_pxe�s
	

(%t__doc__t
__future__RRRtloggingtsalt.utils.pathRtsalt.extRtsalt.ext.six.movesRt	getLoggert__name__RRRRR R!R#R	R&R(R0R1R4R6RAR>RGRKRLRMRNRORP(((s5/usr/lib/python2.7/site-packages/salt/modules/drac.pyt<module>s4			
					'?2				
	
	

Zerion Mini Shell 1.0