%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/smartos_vmadm.pyo

�
���^c@@s dZddlmZmZmZddlZddlZyddlmZ	Wn!e
k
rqddlmZ	nXddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlmZddlmZeje�Zidd6Zd	Zd
�Zd�Zdddd
�Zdddd�Z ddd�Z!e"dd�Z#e"dd�Z$ddde%d�Z&dde"d�Z'ddd�Z(dd�Z)dd�Z*ddd�Z+dd�Z,dd�Z-dd�Z.dd�Z/dd �Z0ddd!�Z1dd"�Z2d#�Z3dS($u-
Module for running vmadm command on SmartOS
i(tabsolute_importtunicode_literalstprint_functionN(tquote(tOrderedDict(tsixulistulist_vmsuvmadmcC@sStjjj�r@tjjjd�r@tjjjd�r@tStdjt�fS(u#
    Provides vmadm on SmartOS
    uvmadmuzfsu6{0} module can only be loaded on SmartOS compute nodes(	tsalttutilstplatformtis_smartos_globalzonetpathtwhicht__virtualname__tFalsetformat(((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyt__virtual__&scC@s#idd6dd6dd6|}|S(u(
    Translate exit status of vmadm
    uSuccessful completion.iuAn error occurred.iuUsage error.i((tretcodetret((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyt_exit_status6s
ucreatecC@s�i}tjj|�s%|dkr<dj|�|d<|Sdjd|d|dk	rgt|�dndd|�}td	|�}|d
}|dkrt|�|d<d|kr�|ddd
kr�tj	j
j|d�|d<q�|d|d<n|Sdjd|d|dk	r"|ndd|�}td	|�}|d
}|dkr�t|�|d<d|kr�|ddd
kr�tj	j
j|d�|d<q�|d|d<n|S|djd�r�|ddSt
S(u
    Create vm from file
    uFile ({0}) does not exists!uErroru'vmadm validate {mode} {brand} -f {path}tmodetbrandubranduR
ucmd.run_alluretcodeiustderru{uvmadm {mode} {uuid} -f {path}tuuiduSuccessfully created VMiN(tosR
tisfiletNoneRtgett__salt__RRRtjsontloadst
startswithtTrue(RRR
RtcmdtresR((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyt_create_update_from_file@sB	"	
 		
 c	C@si}tddd�}tjjj|d��}tjjj||�WdQXdjd|d|dk	r{t	|�d	nd
d|�}td|d
t
�}|d}|dkrt|�|d<d|kr|dddkrtjjj|d�|d<q|d|d<n|Sdjd|d|dk	r<|nd
d|�}td|d
t
�}|d}|dkr�t|�|d<d|kr�|dddkr�tjjj|d�|d<q�|d|d<n|Stjjj
|�|djd�r|ddSt
S(u&
    Create vm from configuration
    u	temp.filetprefixuvmadm-uwNu2vmadm validate {mode} {brand} -f {vmadm_json_file}RRubrandutvmadm_json_fileucmd.run_alltpython_shelluretcodeiuErrorustderru{u(vmadm {mode} {uuid} -f {vmadm_json_file}RuSuccessfully created VMi(RRRtfilestfopenRtdumpRRRRRRtsafe_rmR(	RRtvmcfgRR#t
vmadm_jsonRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyt_create_update_from_cfgnsD	"	
 		
 uuuidcC@s�i}|dkr d|d<|Stdj||�dt�}d|krN|Sdjd	|d
|ri|nd�}td|�}|d
}|dkr�d|kr�|dn	t|�|d<|StS(u
    Start a vm

    vm : string
        vm to be started
    options : string
        optional additional options
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543
        salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543 'order=c,once=d cdrom=/path/to/image.iso,ide'
        salt '*' vmadm.start vm=nacl key=alias
        salt '*' vmadm.start vm=nina.example.org key=hostname
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}toneuvmadm start {uuid} {options}Rtoptionsuucmd.run_alluretcodeiustderr(uuuidualiasuhostname(tlookupRRRR(tvmR-tkeyRRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytstart�s 
	
&cC@s�i}|dkr d|d<|Stdj||�dt�}d|krN|Sdjd	|rcd
ndd|�}td
|�}|d}|dkr�t|�|d<|StS(u�
    Stop a vm

    vm : string
        vm to be stopped
    force : boolean
        force stop of vm if true
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543
        salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543 True
        salt '*' vmadm.stop vm=nacl key=alias
        salt '*' vmadm.stop vm=nina.example.org key=hostname
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,uvmadm stop {force} {uuid}tforceu-FuRucmd.run_alluretcodei(uuuidualiasuhostname(R.RRRR(R/R2R0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytstop�s 
		
cC@s�i}|dkr d|d<|Stdj||�dt�}d|krN|Sdjd	|rcd
ndd|�}td
|�}|d}|dkr�d|kr�|dn	t|�|d<|StS(u�
    Reboot a vm

    vm : string
        vm to be rebooted
    force : boolean
        force reboot of vm if true
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543
        salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543 True
        salt '*' vmadm.reboot vm=nacl key=alias
        salt '*' vmadm.reboot vm=nina.example.org key=hostname
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,uvmadm reboot {force} {uuid}R2u-FuRucmd.run_alluretcodeiustderr(uuuidualiasuhostname(R.RRRR(R/R2R0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytreboot�s 
		
&uuuid,type,ram,state,aliasc
C@s�i}djd|r$dj|�ndd|r?dj|�ndd|rQ|nd�}td|�}|d	}|r�t�ng}|d
kr�d|kr�|dn	t|�|d<|S|jd
�}	x�|dj�D]�}
t�}|
jd�}
|rcxL|	D]D}|	j|�d
kr+q
n|
|	j|�j�||j�<q
W|||
d
<q�t|
�dkr�x>|	D])}|
|	j|�j�||j�<q|Wn
|
d
}|j	|�q�W|S(u{
    Return a list of VMs

    search : string
        vmadm filter property
    sort : string
        vmadm sort (-s) property
    order : string
        vmadm order (-o) property -- Default: uuid,type,ram,state,alias
    keyed : boolean
        specified if the output should be an array (False) or dict (True)
            For a dict the key is the first item from the order parameter.
            Note: If key is not unique last vm wins.

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.list
        salt '*' vmadm.list order=alias,ram,cpu_cap sort=-ram,-cpu_cap
        salt '*' vmadm.list search='type=KVM'
    u(vmadm list -p -H {order} {sort} {search}torderu-o {0}utsortu-s {0}tsearchucmd.run_alluretcodeiustderruErroru,ustdoutu:i(
RRRRtsplitt
splitlinestindextstriptlentappend(
R7R6R5tkeyedRRR RtresulttfieldsR/tvm_datatfield((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytlist_vmss6	
&	
'
*
c	C@s�i}djd|rdndd|r6dj|�ndd|rH|nd�}td	|�}|d
}g}|dkr�d|kr�|dn	t|�|d
<|S|r�|d}n1x.tjjj|d�D]}|j|�q�W|S(u�
    Return a list of VMs using lookup

    search : string
        vmadm filter property
    order : string
        vmadm order (-o) property -- Default: uuid,type,ram,state,alias
    one : boolean
        return only one result (vmadm's -1)

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.lookup search='state=running'
        salt '*' vmadm.lookup search='state=running' order=uuid,alias,hostname
        salt '*' vmadm.lookup search='alias=nacl' one=True
    u#vmadm lookup {one} {order} {search}R,u-1u-jR5u-o {0}uR7ucmd.run_alluretcodeiustderruErrorustdout(RRRRRRRR=(	R7R5R,RRR RR?R/((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyR.Vs 	
&
 unmicC@s�i}|dkr d|d<|S|dkr:d|d<|Std	j||�d
t�}d|krh|Sdjd|d
|�}td|�}|d}|dkr�d|kr�|dn	t|�|d<|StS(u�
    Send non-maskable interrupt to vm or capture a screenshot

    vm : string
        vm to be targeted
    action : string
        nmi or screenshot -- Default: nmi
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 nmi
        salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 screenshot
        salt '*' vmadm.sysrq nacl nmi key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErrorunmiu
screenshotu'Action must be either nmi or screenshotu{0}={1}R,uvmadm sysrq {uuid} {action}Rtactionucmd.run_alluretcodeiustderr(uuuidualiasuhostname(unmiu
screenshot(R.RRRR(R/RDR0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytsysrq�s&

		
&cC@s�i}|d
kr d|d<|Stdj||�dt�}d|krN|Sdj|�}td	|�}|d
}|dkr�d|kr�|dn	t|�|d<|StS(u(
    Delete a vm

    vm : string
        vm to be deleted
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.delete 186da9ab-7392-4f55-91a5-b8f1fe770543
        salt '*' vmadm.delete nacl key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,uvmadm delete {0}ucmd.run_alluretcodeiustderr(uuuidualiasuhostname(R.RRRR(R/R0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytdelete�s

&cC@s�i}|dkr d|d<|Stdj||�dt�}d|krN|Sdj|�}td	|�}|d
}|dkr�d|kr�|dn	t|�|d<|Stjjj|d
�S(u>
    Output the JSON object describing a VM

    vm : string
        vm to be targeted
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.get 186da9ab-7392-4f55-91a5-b8f1fe770543
        salt '*' vmadm.get nacl key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,u
vmadm get {0}ucmd.run_alluretcodeiustderrustdout(uuuidualiasuhostname(	R.RRRRRRRR(R/R0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyR�s

&uallcC@s�i}|dkr d|d<|S|dkr:d|d<|Stdj||�dt�}d|krh|Sdjd|d|�}td|�}|d}|dkr�d|kr�|dn	t|�|d<|Stjjj|d�S(u
    Lookup info on running kvm

    vm : string
        vm to be targeted
    info_type : string [all|block|blockstats|chardev|cpus|kvm|pci|spice|version|vnc]
        info type to return
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543
        salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543 vnc
        salt '*' vmadm.info nacl key=alias
        salt '*' vmadm.info nacl vnc key=alias
    uallublocku
blockstatsuchardevucpusukvmupciuspiceuversionuvncu$Requested info_type is not availableuErroruuuidualiasuhostnameu*Key must be either uuid, alias or hostnameu{0}={1}R,uvmadm info {uuid} {type}Rttypeucmd.run_alluretcodeiustderrustdout(
uallublocku
blockstatsuchardevucpusukvmupciuspiceuversionuvnc(uuuidualiasuhostname(	R.RRRRRRRR(R/t	info_typeR0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytinfo�s&

		
&cC@si}|dkr d|d<|Stdj||�dt�}d|krN|St|�}d|krtd	|d<|S|d
dkr�d|d<|S|d
dkr�d|d<|Sdjd|d|�}td|�}|d}|dkrd|kr|dn	t|�|d<|StS(uA
    Create snapshot of a vm

    vm : string
        vm to be targeted
    name : string
        snapshot name
            The snapname must be 64 characters or less
            and must only contain alphanumeric characters and
            characters in the set [-_.:%] to comply with ZFS restrictions.
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.create_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
        salt '*' vmadm.create_snapshot nacl baseline key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,udatasetsuVM cannot have datasetsubrandukvmuVM must be of type OSu
zone_stateurunningu%VM must be running to take a snapshotu'vmadm create-snapshot {uuid} {snapshot}tsnapshotRucmd.run_alluretcodeiustderr(uuuidualiasuhostname(ukvm(urunning(R.RRRRR(R/tnameR0RtvmobjRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytcreate_snapshots4



		
&cC@s�i}|dkr d|d<|Stdj||�dt�}d|krN|St|�}d|krtd	|d<|S|d
dkr�d|d<|Sd
jd|d|�}td|�}|d}|dkr�d|kr�|dn	t|�|d<|StS(uA
    Delete snapshot of a vm

    vm : string
        vm to be targeted
    name : string
        snapshot name
            The snapname must be 64 characters or less
            and must only contain alphanumeric characters and
            characters in the set [-_.:%] to comply with ZFS restrictions.
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.delete_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
        salt '*' vmadm.delete_snapshot nacl baseline key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,udatasetsuVM cannot have datasetsubrandukvmuVM must be of type OSu'vmadm delete-snapshot {uuid} {snapshot}RJRucmd.run_alluretcodeiustderr(uuuidualiasuhostname(ukvm(R.RRRRR(R/RKR0RRLRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytdelete_snapshotJs.


		
&cC@s�i}|dkr d|d<|Stdj||�dt�}d|krN|St|�}d|krtd	|d<|S|d
dkr�d|d<|Sd
jd|d|�}td|�}|d}|dkr�d|kr�|dn	t|�|d<|StS(uG
    Rollback snapshot of a vm

    vm : string
        vm to be targeted
    name : string
        snapshot name
            The snapname must be 64 characters or less
            and must only contain alphanumeric characters and
            characters in the set [-_.:%] to comply with ZFS restrictions.
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.rollback_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
        salt '*' vmadm.rollback_snapshot nacl baseline key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,udatasetsuVM cannot have datasetsubrandukvmuVM must be of type OSu)vmadm rollback-snapshot {uuid} {snapshot}RJRucmd.run_alluretcodeiustderr(uuuidualiasuhostname(ukvm(R.RRRRR(R/RKR0RRLRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytrollback_snapshotzs.


		
&c	C@si}|dkr d|d<|Stdj||�dt�}d|krN|S|td�krxd	j|�|d<|Stjd
�jdtjjj	|�dt
tjjji|d
6���}td|dt�}|d}|dkrd|kr|dn	t
|�|d<|StS(u�
    Reprovision a vm

    vm : string
        vm to be reprovisioned
    image : string
        uuid of new image
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.reprovision 186da9ab-7392-4f55-91a5-b8f1fe770543 c02a2044-c1bd-11e4-bd8c-dfc1db8b0182
        salt '*' vmadm.reprovision nacl c02a2044-c1bd-11e4-bd8c-dfc1db8b0182 key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,uimgadm.listu'Image ({0}) is not present on this hostu'echo {image} | vmadm reprovision {uuid}Rtimageu
image_uuiducmd.run_allR$uretcodeiustderr(uuuidualiasuhostname(R.RRRRt	text_typeRRtstringutilst
to_unicodet_quote_argsRtdumpsR(R/RPR0RRR R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytreprovision�s&
%
&cK@sui}i}tjjj|�}x'tj|�D]\}}|||<q1W|ratdd|�Stdd|�SdS(u�
    Create a new vm

    from_file : string
        json file to create the vm from -- if present, all other options will be ignored
    kwargs : string|int|...
        options to set for the vm

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.create from_file=/tmp/new_vm.json
        salt '*' vmadm.create image_uuid='...' alias='...' nics='[{ "nic_tag": "admin", "ip": "198.51.100.123", ...}, {...}]' [...]
    ucreateR
R)N(RRtargstclean_kwargsRt	iteritemsR!R+(t	from_filetkwargsRR)tktv((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytcreate�sc	K@s�i}i}tjjj|�}x'tj|�D]\}}|||<q1W|dkred|d<|Stdj||�dt�}d|kr�|S|r�t	d|d	|�St
d|d
|�SdS(
ux
    Update a new vm

    vm : string
        vm to be updated
    from_file : string
        json file to update the vm with -- if present, all other options will be ignored
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter
    kwargs : string|int|...
        options to update for the vm

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 from_file=/tmp/new_vm.json
        salt '*' vmadm.update vm=nacl key=alias from_file=/tmp/new_vm.json
        salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 max_physical_memory=1024
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru{0}={1}R,uupdateR
R)N(uuuidualiasuhostname(RRRWRXRRYR.RRR!R+(	R/RZR0R[RR)R\R]R((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytupdate�s
c

C@s�i}|dkr d|d<|Stjj|�s@d|d<|Stdj||�dt�}d|krn|Sd	jd
|dtjj|dj|���}td
|dt�}|d}|dkr�d|kr�|dn	t|�|d<|St	|�}d|krtSt
jd�t
jd�x�|dD]�}|jd�}	|	d}	djd|dtjj|dj||	���}td
|dt�}|d}|dkr5d|kr�|dn	t|�|d<|Sq5WtS(u
    Send a vm to a directory

    vm : string
        vm to be sent
    target : string
        target directory
    key : string [uuid|alias|hostname]
        value type of 'vm' parameter

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.send 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
        salt '*' vmadm.send vm=nacl target=/opt/backups key=alias
    uuuidualiasuhostnameu*Key must be either uuid, alias or hostnameuErroru"Target must be a directory or hostu{0}={1}R,uvmadm send {uuid} > {target}Rttargetu
{0}.vmdataucmd.run_allR$uretcodeiustderrudatasetsu5one or more datasets detected, this is not supported!utrying to zfs send datasets...u/i����uzfs send {dataset} > {target}tdatasetu
{0}-{1}.zfsds(uuuidualiasuhostname(
RR
tisdirR.RRtjoinRRRtlogtwarningR8(
R/R`R0RRR RRLRaRK((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytsendsF

	!
&


	$
&c	C@sei}tjj|�s&d|d<|Stjjtjj|dj|���sgdj|�|d<|Sdjdtjj|dj|���}td|dt�}|d	}|d
kr�|djd�r�d|kr�|dn	t	|�|d<|St
|�}d|krtStjd
�tjd�x�|dD]�}|j
d�}|d}djd|dtjj|dj||���}td|dt�}|d	}|d
kr<d|kr�|dn	t	|�|d<|Sq<Wdj|�}td|dt�}|d	}|d
kra|djd�rad|krM|dn	t	|�|d<|StS(u
    Receive a vm from a directory

    uuid : string
        uuid of vm to be received
    source : string
        source directory

    CLI Example:

    .. code-block:: bash

        salt '*' vmadm.receive 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
    u"Source must be a directory or hostuErroru
{0}.vmdatauUnknow vm with uuid in {0}uvmadm receive < {source}tsourceucmd.run_allR$uretcodeiustderrudatasetsu5one or more datasets detected, this is not supported!uDtrying to restore datasets, mountpoints will need to be set again...u/i����u zfs receive {dataset} < {source}Rau
{0}-{1}.zfsdsuvmadm install {0}(RR
RbtexistsRcRRRtendswithRRRdReR8(	RRgRRR RRLRaRK((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pytreceiveSsJ
*	!
 &


	$
&
 &(4t__doc__t
__future__RRRtloggingRtshlexRRTtImportErrortpipestsalt.utils.argsRtsalt.utils.filestsalt.utils.jsontsalt.utils.pathtsalt.utils.platformtsalt.utils.stringutilstsalt.utils.odictRtsalt.extRt	getLoggert__name__Rdt__func_alias__RRRRR!R+R1R
R3R4RRCR.RERFRRIRMRNRORVR^R_RfRj(((s>/usr/lib/python2.7/site-packages/salt/modules/smartos_vmadm.pyt<module>sP

		
.6(((:**!!+300)):

Zerion Mini Shell 1.0