??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
 Udac@sddlZddlZddlZddlZddlmZddlmZddlm Z m Z ddl m Z m Z ddlmZddlmZddlmZydd lmZWnek rd ZnXydd lmZeZWnek r eZnXyddlZeZWnek r=eZnXddlZydd l m Z m!Z!Wn'ek rdd l"m Z m!Z!nXeZ#e$d ddddddd?dd@ddAddBddCddDddE Z%e$d ddddd ddFddGddHddIddJddKddL Z&y@dd!l'm(Z(dd"l)m*Z*dd#l+m,Z,m-Z-eZ#Wne.k rweZ#nXd$Z/d%Z0d&Z1d'Z2d(Z3dd)Z5dd*Z6dd+Z7d,Z8d-e9fd.YZ:ded/Z;ddd0eedd1edddeed2 Z<d3d4ed5d6d7d8Z=d9Z>ed:Z?d;e9fd<YZ@d=e9fd>YZAdS(MiN(tpformat(tsix(t AnsibleModuletmissing_required_lib(t HTTPErrortURLError(topen_url(tbasic_auth_argument_spec(t to_native(t __version__tunknown(tzapi(turlparset urlunparsetbytesitbtkbitmbitgbittbitpbitebitzbitybii(tElementFactory(tTimeIntervalFrequency(tSchedulet ScheduleInfocCstS(N(tHAS_NETAPP_LIB(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pythas_netapp_libjscCstS(N(t HAS_SF_SDK(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt has_sf_sdknscCstdtdtdddtdtddddgdtdtdddd gd td tdtdd d tdtdtdd d tdtdtdddtdtdddtdtddd dddddgS(Nthostnametrequiredttypetstrtusernametaliasestusertpasswordtpasstno_logthttpstbooltdefaulttvalidate_certst http_porttinttontapituse_resttAutotchoicestNevertAlways(tdicttTruetFalse(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytna_ontap_host_argument_specrs$cCs^tdtdtdddtdtddddgdtdtdddd gd tS( NR R!R"R#R$R%R&R'R(R)(R6R7(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytontap_sf_host_argument_specscCsmtdtdtdddtdtdddtdtdtddd td tdtddd tS( Ntapi_urlR!R"R#R-R+R,tapi_keyR)t secret_key(R6R7R8(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytaws_cvs_host_argument_specs c Cs|jd}|jd}|jd}tr|r|r|ry#tj|||d|}|SWqtk rtdqXn|jdddS(NR R$R'tportsUnable to create SF connectiontmsgs+the python SolidFire SDK module is required(tparamsRRtcreatet Exceptiont fail_json(tmoduleR?R R$R't return_val((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytcreate_sf_connections    c Cs|jd}|jd}|jd}|jd}|jd}|jd}|jd}tr{tj|} | j|| j||r| j|n|r|} nd} | jd d d | |r5|dkrd }nd } |t krPt j j dd r2t tddr2tjt_q2qPn|dkrJd}nd} | j| | j|| jd| S|jdddS(NR R$R'R*R-R.R0intmajoritminoritHTTPStPYTHONHTTPSVERIFYtt_create_unverified_contextiPtHTTPtFILERR@s(the python NetApp-Lib module is required(RARR tNaServert set_usernamet set_passwordt set_vservertset_api_versiontNoneR8tostenvirontgettgetattrtsslRMt_create_default_https_contexttset_transport_typetset_porttset_server_typeRD( REtvserverR R$R'R*R-R?tversiontserverRIttransport_type((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytsetup_na_ontap_zapis@             (     cCs|jd}|jd}|jd}trtj|}|j||j||rl|j|n|jdddd|jd|j d |j d |S|j d d dS( NR R$R'RHiRIiniPRORNR@s(the python NetApp-Lib module is required( RARR RPRQRRRSRTR]R^R\RD(RER_R R$R'Ra((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytsetup_ontap_zapis        cCst}|jtdtdddtdtdddtdtdtdddtdtdddtd d d tdd dtd t|S( sLRetrieve a base argument specification common to all NetApp E-Series modulest api_usernameR"R#R!t api_passwordR)R;tssidR,t1R-R+(RtupdateR6R7R8(t argument_spec((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyteseries_host_argument_specs  tNetAppESeriesModulecBseZdZdZdZdZdZidd6dd6ded 6Zd eZ e d d d d dddd#dd$dd%dd&dd'dd(dd) Z d*e d*d*d*d*edZdZd Zd*d!d*e d"ZRS(+sBase class for all NetApp E-Series modules. Provides a set of common methods for NetApp E-Series modules, including version checking, mode (proxy, embedded) verification, http requests, secure http redirection for embedded web services, and logging setup. Be sure to add the following lines in the module's documentation section: extends_documentation_fragment: - netapp.eseries :param dict(dict) ansible_options: dictionary of ansible option definitions :param str web_services_version: minimally required web services rest api version (default value: "02.00.0000.0000") :param bool supports_check_mode: whether the module will support the check_mode capabilities (default=False) :param list(list) mutually_exclusive: list containing list(s) of mutually exclusive options (optional) :param list(list) required_if: list containing list(s) containing the option, the option value, and then a list of required options. (optional) :param list(list) required_one_of: list containing list(s) of options for which at least one is required. (optional) :param list(list) required_together: list containing list(s) of options that are required together. (optional) :param bool log_requests: controls whether to log each request (default: True) i<t8443s devmgr/v2/sdevmgr/utils/aboutsapplication/jsons Content-TypetAccepts Ansible-%ssnetapp-client-types Ansible / %sRiRRiRiRiRiRiRiRiRic Cst} | j|td| d|d|d|d|d||_|jj} |r^|nd|_| d|_| d |_||_t d | d d | d d| d|_ |jj ds|jd7_nd|_ d|_dS(NRjtsupports_check_modetmutually_exclusivet required_iftrequired_one_oftrequired_togethers02.00.0000.0000RgR;t url_usernameRet url_passwordRfR-t/(RkRiRRERAtweb_services_versionRgturlt log_requestsR6tcredstendswithRUtis_embedded_modetis_web_services_valid_cache( tselftansible_optionsRwRoRpRqRrRsRyRjtargs((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt__init__ s"         c CsW|jsSt|j}|j s,|j rI|jjdd|jn|jdkru|jjdd|jnd|j|jf|_|j|j}t|d|j d|j d t |j \}}|d kr|jj d |jd |jjd d|_|j|j}y.t|d|j d|j |j \}}Wqtk r}|jjdd|jt|fqXn|djd\}}}} |jjd\} } }} || kp || kr|| kp || ko || ko | | ks7|jjdd|d|jfn|jjdt |_ndS(sVerify proxy or embedded web services meets minimum version required for module. The minimum required web services version is evaluated against version supplied through the web services rest api. AnsibleFailJson exception will be raised when the minimum is not met or exceeded. This helper function will update the supplied api url if secure http is not used for embedded web services :raise AnsibleFailJson: raised when the contacted api service does not meet the minimum required version. R@sYFailed to provide valid API URL. Example: https://192.168.1.100:8443/devmgr/v2. URL [%s].thttpR*s)Protocol must be http or https. URL [%s].s%s://%s/ttimeouttheaderst ignore_errorsis]Failed to retrieve web services about information! Retrying with secure ports. Array Id [%s].shttps://%s:8443/t:isPFailed to retrieve the webservices about information! Array Id [%s]. Error [%s].R`t.skWeb services version does not meet minimum version required. Current version: [%s]. Version required: [%s].s?Web services rest api version met the minimum required version.N(Rshttps(R}R RxtschemetnetlocRERDtDEFAULT_REST_API_ABOUT_PATHtrequesttDEFAULT_TIMEOUTtDEFAULT_HEADERSR7RztwarnRgtsplitRCRRwtlog( R~t url_partst about_urltrctdataterrorRHRItothertrevisiont minimum_majort minimum_minortminimum_revision((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt_check_web_services_version&s6 0 . $cCs|j|jdkr|j|j}y<t|d|jd|j|j\}}|d |_Wqt k r}|j j dd|j t |fqXn|jS(sDetermine whether web services server is the embedded web services. If web services about endpoint fails based on an URLError then the request will be attempted again using secure http. :raise AnsibleFailJson: raised when web services about endpoint failed to be contacted. :return bool: whether contacted web services is running from storage array (embedded) or from a proxy. RRtrunningAsProxyR@sPFailed to retrieve the webservices about information! Array Id [%s]. Error [%s].N(RR|RURxRRRRRzRCRERDRgR(R~RRRR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt is_embeddedSs *tGETcCs|j|dkr"|j}nt|t rT|ddkrTtj|}n|jdrp|d}n|j|j |}|j st r|j j ttd|d|d|ntd|d|d|d|d t d td dd |jd |jdt d||j S(sIssue an HTTP request to a url, retrieving an optional JSON response. :param str path: web services rest api endpoint path (Example: storage-systems/1/graph). Note that when the full url path is specified then that will be used without supplying the protocol, hostname, port and rest path. :param data: data required for the request (data may be json or any python structured data) :param str method: request method such as GET, POST, DELETE. :param dict headers: dictionary containing request headers. :param bool ignore_errors: forces the request to ignore any raised exceptions. s Content-Typesapplication/jsonRviRxRtmethodRt use_proxytforcet last_mod_timeRt http_agenttforce_basic_authRN(RRURt isinstanceR#tjsontdumpst startswithRxtDEFAULT_REST_API_PATHRyR7RERRR6RR8Rt HTTP_AGENTRz(R~tpathRRRRt request_url((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRis     .0ii@IIIll N(t__name__t __module__t__doc__RtDEFAULT_SECURE_PORTRRtansible_versionRRR6t SIZE_UNIT_MAPRUR8R7RRRR(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRls  *   - c CsddjgtdD]}ttjdd^q}t}d}tjr`d}|dk rx8|D]-\}} |j d|d|d| gqoWnx|D]\} } } t | d i} |r| j d n | j } |j d|d | | fd t j | dpd d| gWdQXqW|j d|dg|j|}natjd}|dk rx\|D]Q\}} |j tjd|tjd|tjdtj| gqWnx|D]\} } } t | d } |r| j d n | j } |j tjd|tjd | | ftjd t j | dpnd tjd| gWdQXqW|j tjd|dg|j|}id|d6tt|d6}||fS(s"Create the data for a multipart/form request. :param list(list) files: list of lists each containing (name, filename, path). :param list(list) fields: list of lists each containing (key, value). :param bool send_8kb: only sends the first 8kb of the files (default: False). s---------------------------RLiii s s--%ss)Content-Disposition: form-data; name="%s"trbi s8Content-Disposition: form-data; name="%s"; filename="%s"sContent-Type: %ssapplication/octet-streamNs--%s--s multipart/form-data; boundary=%ss Content-TypesContent-Length(tjointrangeR#trandomtrandinttlistRURtPY2textendtopentreadt mimetypest guess_typeRtlen(tfilestfieldstsend_8kbtxtboundaryt data_partsRtnewlinetkeytvaluetnametfilenameRtfhR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytcreate_multipart_formdatasT>    !    !#   Ri cCs^|dkr#idd6dd6}n|jidtd6| sNdt} ny[td|d|d |d |d |d |d |d|d|d| d| d| d| }Wntk r}|j}nXy.|j}|rtj|}nd}Wn&t k r| rqt |nX|j }|dkrP| rPt ||n ||fSdS(sEIssue an HTTP request to a url, retrieving an optional JSON response.sapplication/jsons Content-TypeRns Ansible-%ssnetapp-client-types Ansible / %sRxRRRRRRRR-RtRuRRiN( RURiRRRtfpRRtloadsRCtgetcode(RxRRRRRRRR-RtRuRRRtrterrtraw_datat resp_code((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRs2  $      tAnsiblet12345t Informationtsetuptfalsec Cstjd}|jd||jd||jd||jd||jd||jd||jdd |jd ||j|tdS( Nsems-autosupport-logs computer-namesevent-ids event-sources app-versiontcategorysevent-descriptions log-levelt6s auto-support(R t NaElementt add_new_childtinvoke_successfullyR7( tsourceRaRtidR`Rteventt autosupporttems_log((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt ems_log_eventscCstjd}tjjdidd6}tjd}|j||j||j|dt}|jd}|jd}|jdS( Nsvserver-get-iters vserver-infotadmins vserver-typetquerytenable_tunnelingsattributes-lists vserver-name(R Rtcreate_node_with_childrentadd_child_elemRR8tget_child_by_nametget_child_content(Rat vserver_infot query_detailsRtresulttattribute_listt vserver_list((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytget_cserver_zapis    cCs|st|Sidd6}d}|j||\}}|dksS|dk rWdS|jd}|dk rx&|D]}|ddkry|dSqyWt|dkr|ddSndS( NR"Rsprivate/cli/vservertrecordsRR_ii(RRXRUR(t connectiontis_restRAtapiRRtvserversR_((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt get_cserver s     t OntapRestAPIcBseZddZdZd edZdZd dZd dZ d dZ d dZ d d Z d Z d ZRS( i<cCs||_|jjd|_|jjd|_|jjd|_|jjd|_|jjd|_||_d|jd|_t |_ t |_ |j dS(NR$R'R R1R-shttps://s/api/( RERAR$R'R R1tverifyRRxRterrorst debug_logstcheck_required_library(R~RER((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyR!s    cCs&ts"|jjdtdndS(NR@trequests(t HAS_REQUESTSRERDR(R~((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyR.sc Cs|j|}d }d }d } d } d } d} yttj||d|jd|j|jfd|d|jd|} | j}| j }| j | | \} } Wntj j k r}| | \}} | d kro|j |d|t|} qonktj jk r<}|j |d|t|} n3tk rn}|j |d |t|} nX| d k r|j |d || f| } n|j|||r|| fS| | fS( sC send http request and process reponse, including error conditions cSs>y|j}Wntk r$dSX|jd}||fS(s, extract json, and error message if present RN(NN(Rt ValueErrorRURX(tresponseRR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytget_json;s  RtauthRARRsHTTP error: %ssConnection error: %ssOther error: %ssEndpoint error: %d: %sN(RxRURRRR$R'Rtcontentt status_codetraise_for_statust exceptionsRt log_errorR#tConnectionErrorRCt log_debug(R~RRRARtreturn_status_codeRxRRt json_dictt json_errort error_detailsRRRt__((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt send_request2s>  B       cCsd}|j|||S(NR(R(R~RRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRX_scCsd}|j|||d|S(NtPOSTR(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytpostcscCsd}|j|||d|S(NtPATCHR(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytpatchgscCsd}|j|||d|S(NtDELETER(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytdeletekscCs|jdkr?|r2ddj|}t|fStdfSn|jdksT|r^tdfSd}d}|j||dddt\}}|d krtdfStdfS( NR5s(REST API currently does not support '%s's, R4tHEADscluster/softwareRAR i(R1RR7RUR8R(R~t used_unsupported_rest_propertiesRRRRR ((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt_is_restos   $  cCs/|j|\}}|dkr%|S||fS(s+ only return error if there is a reason to N(RRU(R~RR1R((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRs cCs*|jj||jj||fdS(N(RtappendR(R~Rtmessage((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRscCs|jj||fdS(N(RR(R~RR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRsN(RRRRRUR8RRXRRRRRRR(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyR s -       t AwsCvsRestAPIcBsneZddZdZd dZd dZd dZd dZd dZ d dZ d Z RS( i<cCs||_|jjd|_|jjd|_|jjd|_|jjd|_||_d|jd|_|jdS(NR<R=R;R-shttps://s/v1/( RERAR<R=R;RRRxR(R~RER((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRs  cCs&ts"|jjdtdndS(NR@R(RRERDR(R~((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRsc CsL|j|}d }d }d }d } d } idd6|jd6|jd6dd6} d} yFtj||d| d |jd |} | j}| | \}} Wntjj k r}| | \}} | d kr-t |} q-nCtjj k r}t |} nt k r,}t |} nX| d k rB| } n|| fS( sC send http request and process reponse, including error conditions sapplication/jsons Content-typesapi-keys secret-keysno-caches Cache-ControlcSsey|j}Wntk r$dSXdddg}|j|krU|jd}nd}||fS(s, extract json, and error message if present iiiRN(NN(RRRURRX(RRt success_codeR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRs RRRN( RxRUR<R=RRRRRRR#RRC(R~RRRARRxRRR R R RRRRR ((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRs6     '    cCsd}|j|||S(NR(R(R~RRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRXscCsd}|j|||d|S(NRR(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRscCsd}|j|||d|S(NRR(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRscCsd}|j|||d|S(NtPUTR(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pytputscCsd}|j|||d|S(NRR(R(R~RRRAR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRscCsYd}|jd|\}}x3t|ddkrT|jd|\}}q"WdS(s$ Method to get the state of the job RsJobs/%ststatetdone(RXR#(R~tjobIdRRR((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyt get_states N( RRRRRURRXRRRRR!(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyRs  /     i@Biʚ;IIƤ~Id l@=7M.clB3v^!<ii@IIIll (BRRVRRtpprintRtansible.module_utilsRtansible.module_utils.basicRRt+ansible.module_utils.six.moves.urllib.errorRRtansible.module_utils.urlsRtansible.module_utils.apiRtansible.module_utils._textRt$ansible.module_utils.ansible_releaseR Rt ImportErrortnetapp_lib.api.zapiR R7RR8RRRZR R t urllib.parseRR6t SF_BYTE_MAPt POW2_BYTE_MAPtsolidfire.factoryRtsolidfire.custom.modelsRtsolidfire.modelsRRRCRRR9R:R>RURGRcRdRktobjectRlRRRRRRR(((s?/usr/lib/python2.7/site-packages/ansible/module_utils/netapp.pyts                         *  <  &  p