Anons79 Mini Shell

Directory : /proc/self/root/lib/python2.7/site-packages/ansible/plugins/httpapi/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pyo

�
�Udac@`s�ddlmZmZmZeZdZddlmZddl	m
Z
ddlmZddl
Z
ddlZdefd��YZdS(	i(tabsolute_importtdivisiontprint_functions
---
author:
    - Miguel Angel Munoz (@magonzalez)
httpapi : fortios
short_description: HttpApi Plugin for Fortinet FortiOS Appliance or VM
description:
  - This HttpApi plugin provides methods to connect to Fortinet FortiOS Appliance or VM via REST API
version_added: "2.9"
(tHttpApiBase(tto_text(turllibNtHttpApicB`sGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cC`s#tt|�j|�d|_dS(Nt(tsuperRt__init__t_ccsrftoken(tselft
connection((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pyR	4scC`sdS(s�
        Elevation is not required on Fortinet devices - Skipped
        :param become_context: Unused input.
        :return: None
        N(tNone(Rtbecome_context((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pyt
set_become9scC`sudtjj|�dtjj|�d}|jddd|dd�\}}|d	d
krqtd��ndS(
sACall a defined login endpoint to receive an authentication token.s	username=s&secretkey=s&ajax=1turls/loginchecktdatatmethodtPOSTit1sWrong credentials. Please checkN(Rtparsetquotetsend_requestt	Exception(RtusernametpasswordRtdummytresult_data((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pytloginAs.$cC`s|jdddd�dS(s" Call to implement session logout.Rs/logoutRRN(R(R((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pytlogoutIsc
C`s?i}g}t|jd�r-|jj}n)g|jD]}||j|f^q7}x�|D]�\}}|j�dkr�d|kr�||d<|jd�}|dkr*||td�jd�d}||_q*q]|j�dkr]d|kr]tj	d	|�}	|	r*|	j
d�|_q*q]q]W|j|d
<|S(s�
        Get cookies and obtain value for csrftoken that will be used on next requests
        :param response: Response given by the server.
        :param response_text Unused_input.
        :return: Dictionary containing headers
        t_headerss
set-cookiet
APSCOOKIE_tCookiesccsrftoken=i����s"is"(.*)"sx-csrftoken(thasattrtheadersRtlowertfindtlentsplitR
tretsearchtgroup(
Rtresponset
response_textR#tresp_raw_headerstattrtvaltx_ccsrftoken_positionttoken_stringtcsrftoken_search((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pytupdate_authNs$)
!
cC`s|S(ss
        Not required on Fortinet devices - Skipped
        :param exc: Unused input.
        :return: exc
        ((Rtexc((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pythandle_httperrornsc	K`s�|jdd�}|jdd�}|jdd�}yh|jj||d|�\}}d}t|d�r{|j}n|jj}|t|j��fSWnt	k
r�}t	|��nXdS(	s�
        Responsible for actual sending of data to the connection httpapi base plugin.
        :param message_kwargs: A formatted dictionary containing request info: url, data, method

        :return: Status code and response data.
        Rt/RRRtGETtstatusN(
tgetRtsendR
R"R8R#RtgetvalueR(	Rtmessage_kwargsRRRR+t
response_datatresponse_statusterr((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pyRvs!(	t__name__t
__module__R	RRRR3R5R(((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pyR3s					 	(t
__future__RRRttypet
__metaclass__t
DOCUMENTATIONtansible.plugins.httpapiRtansible.module_utils.basicRtansible.module_utils.six.movesRtjsonR(R(((sC/usr/lib/python2.7/site-packages/ansible/plugins/httpapi/fortios.pyt<module>s

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