o
    6d{	                    @   s  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ G dd dejZeeZG dd deZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZ ee Z!G dd dejZ"ee"Z#G dd dejZ$ee$Z%G d d! d!ejZ&ee&Z'G d"d# d#ejZ(ee(Z)G d$d% d%ejZ*ee*Z+G d&d' d'ejZ,ee,Z-G d(d) d)ejZ.ee.Z/G d*d+ d+ejZ0ee0Z1G d,d- d-ejZ2ee2Z3G d.d/ d/ejZ4ee4Z5G d0d1 d1ejZ6ee6Z7G d2d3 d3eZ8ee8Z9G d4d5 d5ejZ:ee:Z;G d6d7 d7ejZ<ee<Z=G d8d9 d9ejZ>ee>Z?G d:d; d;ejZ@ee@ZAG d<d= d=ejZBeeBZCG d>d? d?ejZDeeDZEG d@dA dAejZFeeFZGG dBdC dCejZHeeHZIG dDdE dEejZJeeJZKG dFdG dGejZLeeLZMG dHdI dIejZNeeNZOG dJdK dKejZPeePZQG dLdM dMejZReeRZSG dNdO dOejZTeeTZUG dPdQ dQejZVeeVZWG dRdS dSejZXeeXZYG dTdU dUejZZeeZZ[G dVdW dWe$Z\ee\Z]G dXdY dYe$Z^ee^Z_G dZd[ d[e$Z`ee`ZaG d\d] d]e$ZbeebZcG d^d_ d_ejZdeedZeG d`da daejZfeefZgG dbdc dcejZheehZiG ddde deejZjeejZkG dfdg dgejZleelZmG dhdi dielZneenZoG djdk dkejpZqeeqZrG dldm dmejZseesZtG dndo doejZueeuZvG dpdq dqelZweewZxG drds dsewZyeeyZzG dtdu duejZ{ee{Z|G dvdw dwe{Z}ee}Z~G dxdy dyelZeeZG dzd{ d{ejZeeZG d|d} d}e{ZeeZG d~d delZeeZG dd deZeeZG dd dejZeeZG dd deuZeeZG dd dejZeeZG dd de{ZeeZG dd delZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd de	jZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd deZeeZG dd dejZeeZG dd dejZeeZG dd dejZee¡ZG dd dejZeeġZG dd deZeeơZG dd dejZeeȡZG ddÄ deZeeʡZG ddń dejZee̡ZG ddǄ dejZeeΡZG ddɄ deZeeСZG dd˄ dejZeeҡZG dd̈́ deZeeԡZG ddτ dejZee֡ZG ddф deZeeءZG ddӄ dejZeeڡZG ddՄ dejZeeܡZG ddׄ dejZeeޡZG ddل dejZeeZG ddۄ dejZeeZG dd݄ dejZeeZG dd߄ dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZ ee ZG dd de ZeeZG dd dejZeeZG dd deZeeZG d d de ZeeZ	G dd deZ
ee
ZG dd dejZeeZG dd dejZeeZG dd	 d	ejZeeZG d
d dejZeeZG dd deZeeZG dd dejZeeZG dd deZeeZG dd de	jZeeZG dd de	jZeeZG dd de	jZ ee Z!G dd de	jZ"ee"Z#G dd deZ$ee$Z%G dd dejZ&ee&Z'G dd de&Z(ee(Z)G d d! d!e&Z*ee*Z+G d"d# d#eZ,ee,Z-G d$d% d%ejZ.ee.Z/G d&d' d'eZ0ee0Z1G d(d) d)ejZ2ee2Z3G d*d+ d+ejZ4ee4Z5G d,d- d-ejZ6ee6Z7G d.d/ d/ejZ8ee8Z9G d0d1 d1e8Z:ee:Z;G d2d3 d3e8Z<ee<Z=G d4d5 d5ejZ>ee>Z?G d6d7 d7ejZ@ee@ZAG d8d9 d9ejZBeeBZCG d:d; d;ejZDeeDZEG d<d= d=ejZFeeFZGG d>d? d?ejZHeeHZIG d@dA dAejZJeeJZKG dBdC dCejZLeeLZMG dDdE dEejZNeeNZOG dFdG dGejZPeePZQG dHdI dIeZReeRZSG dJdK dKe*ZTeeTZUG dLdM dMe,ZVeeVZWG dNdO dOeVZXeeXZYG dPdQ dQeZZeeZZ[G dRdS dSejZ\ee\Z]G dTdU dUeZ^ee^Z_G dVdW dWejZ`ee`ZaG dXdY dYejZbeebZcG dZd[ d[eZdeedZeG d\d] d]ejZfeefZgG d^d_ d_ejZheehZiG d`da daeZjeejZkG dbdc dcejZleelZmG ddde deeZneenZoG dfdg dge,ZpeepZqG dhdi dieVZreerZsG djdk dkejZteetZuG dldm dme,ZveevZwG dndo doejZxeexZyG dpdq dqeZzeezZ{G drds dsejZ|ee|Z}G dtdu duejZ~ee~ZG dvdw dwejZeeZG dxdy dyejZeeZG dzd{ d{ejZeeZG d|d} d}ejZeeZG d~d dejZeeZG dd de<ZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd de(ZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd de&Zee¡ZG dd dejZeeġZG dd deăZeeơZG dd de&ZeeȡZG dd de	jZeeʡZG ddÄ de	jZee̡ZG dĐdń dejZeeΡZG dƐdǄ dejZeeСZG dȐdɄ dejZeeҡZG dʐd˄ dejZeeԡZG d̐d̈́ dejZee֡ZG dΐdτ dejZeeءZG dАdф dejZeeڡZG dҐdӄ dejZeeܡZG dԐdՄ dejZeeޡZG d֐dׄ dejZeeZG dؐdل dejZeeZG dڐdۄ de&ZeeZG dܐd݄ dݐeăZeeZG dސd߄ de&ZeeZG dd dejZeeZG dd dejZeeZG dd deăZeeZG dd de&ZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd deZeeZG dd dejZeeZG dd dejZeeZG dd dejZ ee ZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd deZeeZ	G d d dejZ
ee
ZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd	 d	ejZeeZG d
d dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZeeZG dd dejZ ee Z!G dd dejZ"ee"Z#G dd dejZ$ee$Z%G dd dejZ&ee&Z'G dd dejZ(ee(Z)e*eZ+ej,d d!Z-ej,d"d#Z.ej,d$d#Z/eZ0eZ1eZ2eZ3eZ4eZ5ej,d%d&Z6e*e;Z7e*e8e9 Z:ej,d'd!Z;ej<Z<ej=Z=ej,d(d)d*Z>ej?d+d,Z@e, ejA_Be8e, ejC_Be8e, ejD_Be8e
jEejF_Be8e
jEejG_BeHg d-e_Id.ejAjBfd/ejCjBfd0ejDjBfd1ejFjBfd2ejGjBfge_Je, ejK_Be, ejL_Be, ejM_Be8e
jEejN_BejIOeHg d3e_IejJd4ejKjBfd5ejLjBfd6ejMjBfd7ejNjBfg e_Je<e_Pe
jQe_Re
jQe_Se
jQe_Te
jQe_Ue
jQe_Ve
jQe_We
jQe_Xe
jQe_YeZ e_[ejPejRejSejTejUejVejWejXejYej[d8
e_\ed9e_]e*e#ej^_BeHd:ge_Id:ej^jBfge_JeZ e__eZ e_`eZ e_[ej_ej`ej[d;e_\ed<e_aed=e_bed9e_]e*eejc_BeHd>ge_Id>ejcjBfge_JeZ e _deZ e _eeZ e _feZ e _ge jde jee jfe jgd?e _\e d@e _he dAe _ie dBe _je dCe _ke, e"jl_Be, e"jm_Be8e, e"jn_Be8e, e"jo_Be8e
jEe"jp_Beq e"jr_BeHg dDe"_IdEe"jljBfdFe"jmjBfdGe"jnjBfdHe"jojBfdIe"jpjBfdJe"jrjBfge"_Je, e$js_BeHdKge$_IdKe$jsjBfge$_Jee&_tee&_uee&_veZ e&_[e&jte&jue&jve&j[dLe&_\e&d9e&_]eZ e(_weZ e(_[e(jwe(j[dMe(_\e(dNe(_xe(d9e(_]ee*_Pe'e*_yeZ e*_[e*jPe*jye*j[dOe*_\e*d9e*_]e*e'e,j_BeHdPge,_IdPe,jjBfge,_Je8e
jze.js_Be8e
jze.j{_BeHdKdQge._IdKe.jsjBfdQe.j{jBfge._JeZ e0_[d9e0j[ie0_\e0d9e0_]e
jQe2_Pe
jQe2_|e
jQe2_}eZ e2_[e2jPe2j|e2j}e2j[dRe2_\e2d9e2_]e*e#e4j~_BeHdSge4_IdSe4j~jBfge4_Je*ee6jc_BeHd>ge6_Id>e6jcjBfge6_Je, e8j_Be;e8j_Be, e8j_Be, e8j_Beq e8j_BejIOeHg dTe8_IejJdUe8jjBfdVe8jjBfdWe8jjBfdXe8jjBfdYe8jjBfg e8_JeZ e:_eZ e:_eZ e:_eZ e:_[e:je:je:je:j[dZe:_\e:d[e:_e:d\e:_e:d]e:_e:d9e:_]e, e<jA_Be, e<j_BeHd.d^ge<_Id.e<jAjBfd^e<jjBfge<_Je:e>j_Be:e>j_Be:e>j_Be:e>j_Be:e>j_Be:e>j]_Be:e>j_BeHg d_e>_Id[e>jjBfd`e>jjBfd]e>jjBfdae>jjBfdbe>jjBfd9e>j]jBfdce>jjBfge>_Jej?d%dddee@j_BeHdfge@_Idfe@jjBfge@_Je, eBj_BeHdggeB_IdgeBjjBfgeB_JeZ eD_eZ eD_[eDjeDj[dheD_\eDdieD_eDd9eD_]eZ eF_eZ eF_[eFjeFj[djeF_\eFdkeF_eFd9eF_]e*eeHj_Be8e, eHj_Beq eHj_BeHg dleH_IdPeHjjBfdgeHjjBfdmeHjjBfgeH_Je8e*e'eJj_BeHdPgeJ_IdPeJjjBfgeJ_JeZ eL_eZ eL_weZ eL_[eLjeLjweLj[dneL_\eLdoeL_eLdNeL_xeLd9eL_]eQeNj_BeHdpgeN_IdpeNjjBfgeN_JeZ eP_PeZ eP_[ePjPePj[dqeP_\ePdreP_ePd9eP_]eZ eR_eZ eR_eZ eR_eZ eR_eZ eR_[eRjeRjeRjeRjeRj[dseR_\eRdteR_eRdueR_eRdveR_eRdweR_eRd9eR_]eeT_eeT_eeT_eeT_eZ eT_[eTjeTjeTjeTjeTj[dseT_\eTd9eT_]e*eSeVj_BeHdxgeV_IdxeVjjBfgeV_JeZ eX_eZ eX_[eXjeXj[dyeX_\eXdzeX_eXd9eX_]e*eUeZj_BeHd{geZ_Id{eZjjBfgeZ_Je:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be:e\j_Be$jIOeHg d|e\_Ie$jJd}e\jjBfd~e\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfde\jjBfg e\_Je?e^j_Be?e^j_Be?e^j_Be$jIOeHg de^_Ie$jJde^jjBfde^jjBfde^jjBfg e^_Je:e`j_Be:e`j_Be:e`j_Be:e`j_Be:e`j_Be$jIOeHg de`_Ie$jJde`jjBfde`jjBfde`jjBfde`jjBfde`jjBfg e`_Je:ebj_Be:ebj_Be:ebj_Be:ebj_Be*e*eebj_Be$jIOeHg deb_Ie$jJdebjjBfdebjjBfdebjjBfdebjjBfdebjjBfg eb_JeZ ed_eZ ed_edjedjded_\edded_edded_e, efjŐ_Beq efjƐ_Be8ejǡefjȐ_Be8ejɡefjʐ_BeHg def_IdefjŐjBfdefjƐjBfdefjȐjBfdefjʐjBfgef_JeZ eh_eZ eh_eZ eh_eZ eh_eZ eh_[ehjehjehjehjehj[deh_\ehdeh_ehdeh_ehdeh_ehdeh_ehd9eh_]eZ ej_eZ ej_[ejjejj[dej_\ejdej_ejd9ej_]eZ el_ΐdeljiel_\elj\ejj\ eldel_eZ en_֐denjien_\enj\elj\ enden_e8e*eteqjؐ_Be9 eqjF_BejpjIOeHdd1geq_IejpjJdeqjؐjBfd1eqjFjBfg eq_Jeesjِ_Beeesjڐ_BeHddges_IdesjِjBfdesjڐjBfges_Jeeujې_Be'eujܐ_BeHddgeu_IdeujېjBfdeujܐjBfgeu_JeZ ew_ݐdewjiew_\ewj\elj\ ewdew_eZ ey_ߐdeyjiey_\eyj\ewj\ eydey_eq e{j_BeHdge{_Ide{jjBfge{_Jee}jې_Be*ee}jؐ_Be{jIOeHddge}_Ie{jJde}jېjBfde}jؐjBfg e}_JeZ e_eZ e_e*e, e_e*e, e_eZ e_e*e, e_ejejejejejejߐde_\ej\elj\ ede_ede_ede_erej_Be	jej_BeHddge_IdejjBfdejjBfge_Jeejې_Be*e'ej_Be{jIOeHddPge_Ie{jJdejېjBfdPejjBfg e_JeZ e_ݐdejie_\ej\elj\ ede_eZ e_e*e, e_e*e, e_ejejejde_\ej\ej\ ede_eejې_Be)ej_BeHddPge_IdejېjBfdPejjBfge_Jeeejڐ_Beq ej_BeujIOeHddge_IeujJdejڐjBfdejjBfg e_Jeje_eje_ejejde_\eejې_Be8e, ej_Be8ejǡej_Be8ejɡej_Be{jIOeHg de_Ie{jJdejېjBfdejjBfdejjBfdejjBfg e_JeZ e_eZ e_eZ e_ejejej͐de_\ej\elj\ ede_ede_ede_eZ e_eZ e_[ejej[de_\ede_ed9e_]e, e_ere_ejejde_\ej?d%dddeej_BeHdfge_IdfejjBfge_Je, ej_BeHdgge_IdgejjBfge_JeZ e_eZ e_[ejej[dhe_\edie_ed9e_]e*ejej_Be, ej_Beq ej_BeHg dâe_IdejjBfdgejjBfdmejjBfge_Jeejې_Bej?d%dddeej_BeHddfge_IdejېjBfdfejjBfge_Je, ej_BeHdgge_IdgejjBfge_JeZ e_eZ e_[ejej[dhe_\edie_ed9e_]e*etejؐ_Be, ej_Beq ej_BeHg dŢe_IdejؐjBfdgejjBfdmejjBfge_JeZ e_dejie_\ej\e	jj\ edƃe_e*eje_e*e, e_ejejdǜe_\eq e_eZ e_[ejej[dȜe_\ed9e_]eq e_eZ e_[ejej[dɜe_\ed9e_]eq e_eZ e_[ejej[dʜe_\ed9e_]e, ej_Bejej _Be;ej_Be
jEej_Bejej_Beej_Be
jQej_Be, ej_Be9 ej_Bej	ej
_BeHg dˢe_IdejjBfdej jBfdejjBfdejjBfdejjBfdejjBfdejjBfdejjBfdejjBfdej
jBfg
e_Je-ej_Be/ej_Be8e.ej_Be8e
jEej_BeCejؐ_Beej_Be
jEejs_Be8e
jEej{_BeHg d֢e_IdejjBfdejjBfdejjBfdejjBfdejؐjBfdpejjBfdKejsjBfdQej{jBfge_JeZ e_eZ e_eZ e_eZ e_eZ e_eZ e_eZ e_[ejejejejejejej[dۜe_\ed܃e_ed݃e_edރe_ed߃e_ede_ede_ed9e_]eZ e_eZ e_eZ e_[ejejej[de_\ede_ede_ed9e_]e-ej_BeHdge_IdejjBfge_JeZ e_dejie_\ej\ej\ ede_ e*eej!_Be8e6ej_Beq ej_BeHg de_Idej!jBfdgejjBfdmejjBfge_Je-ej_BeHdge_IdejjBfge_Je-ej_Be8e6ej_BeHdאdgge_IdejjBfdgejjBfge_JeZ eĐ_eZ eĐ_VeZ eĐ_"eZ eĐ_[eĐjeĐjVeĐj"eĐj[deĐ_\eĐdeĐ_eĐdeĐ_#eĐdeĐ_$eĐd9eĐ_]eZ eƐ_VeZ eƐ_%eZ eƐ_&eƐjVeƐj%eƐj&deƐ_\eƐj\ej\ eƐdeƐ_#eƐdeƐ_'eƐdeƐ_(eq eȐj)_BeHdgeȐ_IdeȐj)jBfgeȐ_JeZ eʐ_VdeʐjVieʐ_\eʐj\ej\ eʐdeʐ_#e*ee̐j*_BeHdge̐_Ide̐j*jBfge̐_Je/eΐj_Be8e.eΐj_Be*ejeΐjؐ_Be8e
jEeΐjs_Be8e
jEeΐj{_BeHg deΐ_IdeΐjjBfdeΐjjBfdeΐjؐjBfdKeΐjsjBfdQeΐj{jBfgeΐ_JeZ eА_+eZ eА_,eZ eА_-eZ eА_.eZ eА_VeZ eА_/eZ eА_0eZ eА_1eАj+eАj,eАj-eАj.eАjVeАj/eАj0eАj1deА_\eАj\ej\ eАdeА_2eАdeА_3eАdeА_4eАdeА_5eАdeА_#eАdeА_6eАdeА_7eАdeА_8e-eҐj_BeHdgeҐ_IdeҐjjBfgeҐ_JeZ eԐ_9eZ eԐ_:eZ eԐ_eԐj9eԐj:eԐjdeԐ_\eԐj\ej\ eԐdeԐ_;eԐdeԐ_<eԐdeԐ_ e-e֐j_Be8e/e֐j_Be8e.e֐j_Be8e*eje֐jؐ_BeHg de֐_Ide֐jjBfde֐jjBfde֐jjBfde֐jؐjBfge֐_JeZ eؐ_VeZ eؐ_&eZ eؐ_9eZ eؐ_-eZ eؐ_.eZ eؐ_,eZ eؐ_/eZ eؐ_eؐjVeؐj&eؐj9eؐj-eؐj.eؐj,eؐj/eؐjdeؐ_\eؐj\ej\ eؐdeؐ_#eؐdeؐ_(eؐdeؐ_;eؐdeؐ_4eؐdeؐ_5eؐdeؐ_3eؐdeؐ_6eؐdeؐ_ e, eڐj_BeHd^geڐ_Id^eڐjjBfgeڐ_JeZ eܐ_=eZ eܐ_[eܐj=eܐj[deܐ_\eܐdeܐ_>eܐd9eܐ_]e*e#eސj?_BeHd geސ_Id eސj?jBfgeސ_Je, ej_Beq ej@_Beq ejA_Beq ejB_BeHg de_Id^ejjBfdej@jBfdejAjBfdejBjBfge_JeZ e_=eZ e_[ej=ej[de_\ede_>ed9e_]e8e*eejC_Be8e*e9ejD_Be8e*e{ejE_BeHg de_IdejCjBfdejDjBfdejEjBfge_Je8e, ej_BeHdgge_IdgejjBfge_JeZ e_"eZ e_[ej"ej[d	e_\ede_$ed9e_]e*eejF_Beq ej_Be8e, ej_BeHg d
e_IdejFjBfdmejjBfdgejjBfge_Je8e, ej_Beq ej@_Beq ejA_Beq ejB_BeHg de_IdgejjBfdej@jBfdejAjBfdejBjBfge_JeZ e_"eZ e_[ej"ej[d	e_\ede_$ed9e_]e*eejG_Beq ej_Be8e, ej_BeHg de_IdejGjBfdmejjBfdgejjBfge_Je8e, ej_BeHdgge_IdgejjBfge_JeZ e_"eZ e_[ej"ej[d	e_\ede_$ed9e_]e*eejF_Beq ej_Be8e, ej_BeHg d
e_IdejFjBfdmejjBfdgejjBfge_Je8e, ej_Beq ej@_Beq ejA_Beq ejB_BeHg de_IdgejjBfdej@jBfdejAjBfdejBjBfge_JeZ e_"eZ e_[ej"ej[d	e_\ede_$ed9e_]e*eejG_Beq ej_Be8e, ej_BeHg de_IdejGjBfdmejjBfdgejjBfge_Je'ejܐ_Beeejڐ_BeHddge_IdejܐjBfdejڐjBfge_Je
jQe jH_Be8e
jIe jJ_Be8e
jIe jK_Be8ejLe jM_Be8e, e jN_Beq e jO_Be8eq e jP_BeHg de _Ide jHjBfde jJjBfde jKjBfde jMjBfde jNjBfde jOjBfde jPjBfge _Je!ejQ_Be jIOeHdge_Ie jJdejQjBfg e_Je
jQe_Re
jQe_Se
jQe_Te
jQe_Ue
jQe_Ve
jQe_We
jQe_Xe
jQe_Ye
jQe_Ze
jQe_[ejRejSejTejUejVejWejXejYejZej[d
e_\ee_PdrejPie_\ej\Րej\ e8ej*e>d%dej\_Be jIOeHdge_Ie jJdej\jBfg e_Jee
_PeZ e
_[e
jPe
j[dqe
_\e
j\Րej\ e
d9e
_]e, ej_Be8e*eej]_Be8e*e9ej^_Be8e*e{ej__BeHg de_Id^ejjBfdej]jBfdej^jBfdej_jBfge_Je, ej_Be*e#ej?_BeHd^d ge_Id^ejjBfd ej?jBfge_Jejej_Be8e, ej`_Be8ejaejb_Be, ejc_Beq ejd_Be8e*ej<ej_Beej_Bejeej_Beejf_Be8e
jEejg_Be8e
jEejh_Be8e
jEeji_Be8e, ejj_Be8eq ejP_Be8e, ejk_BeHg de_Id^ejjBfd ej`jBfd!ejbjBfd"ejcjBfd#ejdjBfd$ejjBfdpejjBfdؐejjBfd%ejfjBfd&ejgjBfd'ejhjBfd(ejijBfd)ejjjBfdejPjBfd*ejkjBfge_JeZ e_ld+ejlie_\ed+e_meZ e_nd,ejnie_\ej\Րej\ ed,e_oeq ejp_BeHd-ge_Id-ejpjBfge_Je*eejq_BejIOeHd.ge_IejJd.ejqjBfg e_Je*ee_re, e_sejrejsd/e_\ej\e	jj\ e*ee_re, e_seZ e_[ejrejsej[d0e_\ej\e	jj\ ed9e_]e*ee _rd1e jrie _\e j\e	jj\ e*ee"_reZ e"_[e"jre"j[d2e"_\e"j\e	jj\ e"d9e"_]e*e	e$jq_BejIOeHd.ge$_IejJd.e$jqjBfg e$_Je'e&jܐ_BeHdge&_Ide&jܐjBfge&_Je'e(jt_Be'e(ju_Be&jIOeHd3d4ge(_Ie&jJd3e(jtjBfd4e(jujBfg e(_Jeq e*jv_Be&jIOeHd5ge*_Ie&jJd5e*jvjBfg e*_JeZ e,_neZ e,_[e,jne,j[d6e,_\e,j\Րej\ e,d,e,_oe,d9e,_]e'e.jܐ_BeHdge._Ide.jܐjBfge._JeZ e0_weZ e0_[e0jwe0j[d7e0_\e0j\Րej\ e0d8e0_xe0d9e0_]e*ee2jy_BeHd9ge2_Id9e2jyjBfge2_Je*e'e4jؐ_BeHdge4_Ide4jؐjBfge4_JeZ e6_[d9e6j[ie6_\e6d9e6_]e, e8_d:e8jie8_\ee:_zd;e:jzie:_\e:j\Րe8j\ ee<_zeZ e<_[e<jze<j[d<e<_\e<j\Րe8j\ e<d9e<_]e*e'e>jؐ_BeHdge>_Ide>jؐjBfge>_Je*e=e@j{_BeHd=ge@_Id=e@j{jBfge@_Je*ejeBj|_Be9 eBj}_BeHd>d?geB_Id>eBj|jBfd?eBj}jBfgeB_Jej?d%dddeeDj_Beq eDj~_BeHdfd@geD_IdfeDjjBfd@eDj~jBfgeD_Je, eFj_BeHdggeF_IdgeFjjBfgeF_JeZ eH_eZ eH_[eHjeHj[dheH_\eHdieH_eHd9eH_]eZ eJ_[d9eJj[ieJ_\eJd9eJ_]e*eeLjؐ_Be, eLj_Beq eLj_BeHg dŢeL_IdeLjؐjBfdgeLjjBfdmeLjjBfgeL_Je*eeNjؐ_Be, eNj_Beq eNj_BeHg dŢeN_IdeNjؐjBfdgeNjjBfdmeNjjBfgeN_Je'ePjܐ_BeHdgeP_IdePjܐjBfgeP_JeZ eR_eZ eR_neZ eR_ReZ eR_[eRjeRjneRjReRj[dAeR_\eRj\Րej\ eRdBeR_eRd,eR_oeRdCeR_eRd9eR_]e8e'eTjt_Be8e'eTju_Beq eTj_Beq eTj_Be*jIOeHg dDeT_Ie*jJd3eTjtjBfd4eTjujBfdEeTjjBfdFeTjjBfg eT_JeZ eV_eZ eV_eZ eV_eZ eV_eZ eV_eZ eV_eZ eV_eZ eV_eZ eV_eVjeVjeVjeVjeVjeVjeVjeVjeVjdG	eV_\eVj\Րe,j\ eVdHeV_eVdIeV_eVdJeV_eVdKeV_eVdLeV_eVdMeV_eVdNeV_eVdOeV_eVdPeV_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eZ eX_eXjeXjeXjeXjeXjeXjeXjeXjeXjeXjeXjdQeX_\eXj\ՐeVj\ eXdReX_eXdSeX_eXdTeX_eXdUeX_eXdVeX_eXdWeX_eXdXeX_eXdYeX_eXdZeX_eXd[eX_eXd\eX_eZ eZ_[d9eZj[ieZ_\eZj\Րej\ eZd9eZ_]e'e\jܐ_Be8ej*e>d%de\j_BeHdd]ge\_Ide\jܐjBfd]e\jjBfge\_JeZ e^_eZ e^_neZ e^_eZ e^_eZ e^_[e^je^jne^je^je^j[d^e^_\e^j\Րej\ e^d_e^_e^d,e^_oe^d`e^_e^dae^_e^d9e^_]eje`j_Be8e*ee`jy_BeHd^d9ge`_Id^e`jjBfd9e`jyjBfge`_Je'ebjܐ_Be!ebj_BeHddbgeb_IdebjܐjBfdbebjjBfgeb_JeZ ed_eZ ed_neZ ed_eZ ed_ReZ ed_[edjedjnedjedjRedj[dced_\edj\Րej\ edd_ed_edd,ed_oedd`ed_eddCed_edd9ed_]ejefj_Be!efjQ_BeHd^dgef_Id^efjjBfdefjQjBfgef_Je'ehjܐ_Be8e
jQehj_Be8ejLehj_Be8e
jIehj_Be8e
jIehj_Be8e, ehj_Be8eq ehj_BeHg ddeh_IdehjܐjBfdeehjjBfdfehjjBfdgehjjBfdhehjjBfdiehjjBfdjehjjBfgeh_JeZ ej_eZ ej_eZ ej_eZ ej_eZ ej_weZ ej_eZ ej_ZeZ ej_eZ ej_eZ ej_[ejjejjejjejjejjwejjejjZejjejjejj[dk
ej_\ejj\Րej\ ejdlej_ejdmej_ejdnej_Ðejdoej_Đejd8ej_xejdpej_Őejdqej_Ɛejdrej_ǐejdsej_Ȑejd9ej_]e'eljܐ_Bejɐeljʐ_BeHddtgel_IdeljܐjBfdteljʐjBfgel_JeZ en_wejːen_eZ en_[enjwenj̐enj[duen_\enj\Րej\ end8en_xend9en_]eZ ep_eZ ep_eZ ep_Repj͐epjΐepjRdvep_\epj\Րe,j\ epdwep_ϐepdxep_АepdCep_eZ er_eZ er_eZ er_eZ er_ԐerjѐerjҐerjӐerjԐdyer_\erj\ՐeVj\ erdzer_Րerd{er_֐erd|er_אerd}er_ؐe'etjܐ_BeHdget_IdetjܐjBfget_JeZ ev_eZ ev_RevjِevjRd~ev_\evj\Րe,j\ evdev_ڐevdCev_eZ ex_eZ ex_eZ ex_eZ ex_eZ ex_eZ ex_[exjېexjܐexjݐexjސexjߐexj[dex_\exdex_exdex_exdbex_exdex_exdex_exd9ex_]e, ezj_Beyezj_Be8e, ezj_Be8e, ezj_Be8e, ezj_BejIOeHg dez_IejJdezjjBfdVezjjBfdWezjjBfdezjjBfdezjjBfg ez_Je, e|j_Be
je|j_Bee|j_Be8eje|j_BeHg de|_Idؐe|jjBfde|jjBfde|jjBfd^e|jjBfge|_JeZ e~_eZ e~_eZ e~_eZ e~_eZ e~_[e~je~je~je~je~j[de~_\e~de~_e~de~_e~de~_e~de~_e~d9e~_]e'e_Pe'e_yeZ e_[ejPejyej[dOe_\ed9e_]eq ej_Beq ej_BeHddge_IdejjBfdejjBfge_Je
jQe_Pe
jQe_e
jQe_YeZ e_[ejPejejYej[de_\ed9e_]e*e#ej_BeHdge_IdejjBfge_Je*e!ejc_BeHd>ge_Id>ejcjBfge_Jeq ej_Be<jIOeHdge_Ie<jJdejjBfg e_Je=e_ee_e=e_ejejejde_\e*eej_BeHdge_IdejjBfge_JeZ e_[d9ej[ie_\ed9e_]e*eej_BeHdge_IdejjBfge_JeZ e_eZ e_=eZ e_[ejej=ej[de_\ede_ede_>ed9e_]eq ej_Be8eej_BeHdrdge_IdrejjBfdejjBfge_Je, ejl_Be, ej_Beq ej_BeHg de_IdEejljBfd^ejjBfdejjBfge_Je*eej _BeHdge_Idej jBfge_JeZ e_[d9ej[ie_\ed9e_]e*eej_BeHdge_IdejjBfge_JeZ e_eZ e_=eZ e_eZ e_[ejej=ejej[de_\ede_ede_>ede_ed9e_]eq ej_Be8eej_BeHdrdge_IdrejjBfdejjBfge_Je*eej_BeHdge_IdejjBfge_JeZ e_dejie_\ej\e(j\ ede_e8e*e, ej	_Be8e*e, ej
_BeHddge_Idej	jBfdej
jBfge_Je, e_eZ e_eZ e_eZ e_eZ e_Xe, e_eZ e_[ejejejejejXejej[de_\ede_ede_ede_ede_ed9e_]eHg e_Ig e_Jej?d%dddeej_BeHdfge_IdfejjBfge_Je, ej_BeHdgge_IdgejjBfge_JeZ e_eZ e_[ejej[dhe_\edie_ed9e_]eHg e_Ig e_Je*e, ej	_Be*e, ej
_Be, ej_Beq ej_BeHg de_Idej	jBfdej
jBfdgejjBfdmejjBfge_Je8e*e, ej	_Be8e*e, ej
_BeHddge_Idej	jBfdej
jBfge_Je, e_e, e_eZ e_eZ e_eZ e_XeZ e_[ejejejejejXej[de_\ede_ede_ede_ed9e_]eHg e_Ig e_Je, ej_Be9 ej_BeHddPge_IdejjBfdPejjBfge_JeZ e_eZ e_eZ e_[ejejej[de_\ede_ede_ed9e_]i e_\ej\e&j\ e
jeĐj_BeHdgeĐ_IdeĐjjBfgeĐ_Jeq eƐj_BeĐjIOeHdgeƐ_IeĐjJdeƐjjBfg eƐ_Ji eȐ_\eȐj\e&j\ eeʐ_reɐeʐ_seʐjreʐjsd/eʐ_\eʐj\e	jj\ ee̐_rd1e̐jrie̐_\e̐j\e	jj\ e, eΐj_Be8ejeΐj_BeHdؐdgeΐ_IdؐeΐjjBfdeΐjjBfgeΐ_JeZ eА_eZ eА_eZ eА_ ej!eА_"eZ eА_[eАjeАjeАj eАj"eАj[deА_\eАdeА_#eАdeА_$eАdeА_%eАd9eА_]e, eҐ_eeҐ_&eҐjeҐj&deҐ_\ej*e
jd%deԐj'_BeHdgeԐ_IdeԐj'jBfgeԐ_JeZ e֐_eZ e֐_(eZ e֐_)eZ e֐_[e֐je֐j(e֐j)e֐j[de֐_\e֐d܃e֐_e֐de֐_*e֐de֐_+e֐d9e֐_]ej?d%dddeeؐj_BeHdfgeؐ_IdfeؐjjBfgeؐ_Je, eڐj_BeHdggeڐ_IdgeڐjjBfgeڐ_JeZ eܐ_eZ eܐ_[eܐjeܐj[dheܐ_\eܐdieܐ_eܐd9eܐ_]eeސj,_BeHdgeސ_Ideސj,jBfgeސ_Je*eej-_Be, ej_Beq ej_BeHg de_Idej-jBfdgejjBfdmejjBfge_Je
jej_Be, ej_Beej_Beq ej._Bej/ej_Be*ej0ej1_BeHg d¢e_IdejjBfdؐejjBfdpejjBfdÐej.jBfdejjBfdĐej1jBfge_Ji e_\ej\e&j\ e, ej_BeĐjIOeHdge_IeĐjJdؐejjBfg e_JeZ e_eZ e_eZ e_ ejejej dŜe_\ej\e&j\ ede_#ede_$ede_%eZ e_eZ e_(eZ e_)eZ e_[ejej(ej)ej[de_\ed܃e_ede_*ede_+ed9e_]eZ e_2eZ e_[ej2ej[dƜe_\edǃe_3ed9e_]e8ejej_Be8e*ej4ej1_BeĐjIOeHddge_IeĐjJdejjBfdĐej1jBfg e_Jej!e_"dȐej"ie_\ej\e&j\ e, ej_Be, ej5_Be? ej6_Be? ej7_Be? ej8_Bej9ej*_BeHg dɢe_IdؐejjBfdʐej5jBfdːej6jBfd̐ej7jBfd͐ej8jBfdej*jBfge_Jeejِ_Be!ejQ_BeHddge_IdejِjBfdejQjBfge_Jeejِ_Be8e*eejy_BeHdd9ge_IdejِjBfd9ejyjBfge_Jeej:_BeHd;ge_Id;ej:jBfge_Je*ejej_Be
j;ej<_BejIOeHdĐdge_IejJdĐejjBfdΐej<jBfg e_Je>ej=_Bej,dϐd#ej_Bej,dАd#ej_BeHg dѢe_IdҐej=jBfdؐejjBfdِejjBfge_JeZ e_eZ e_>eZ e_?ee_@ejej>ej?ej@dӜe_\ed܃e_edԃe_AedՃe_BeZ e _CeZ e _De jCe jDd֜e _\e d׃e _Ee d؃e _Fej?d%dddeej_BeHdfge_IdfejjBfge_Je, ej_BeHdgge_IdgejjBfge_JeZ e_GeZ e_[ejGej[dٜe_\edڃe_Hed9e_]eZ e_diejie_\ej\Րej\ edie_e*e}e
jI_Be, e
j_Beq e
j_BeHg dۢe
_Idܐe
jIjBfdge
jjBfdme
jjBfge
_JeZ e_JeZ e_KeZ e_LeZ e_[ejJejKejLej[dݜe_\edރe_Med߃e_Nede_Oed9e_]eZ e_PeZ e_QeZ e_[ejPejQej[de_\ede_Rede_Sed9e_]eejT_BeHdge_IdejTjBfge_JeZ e_Ue? e_VeZ e_[ejUejVej[de_\ede_Wed9e_]e%e_Pe'e_ye'e_Xe'e_YeZ e_[ejPejyejXejYej[de_\ed9e_]e'ejܐ_Be@ejZ_BeHddge_IdejܐjBfdejZjBfge_Je'ejܐ_Be8e@ejZ_BeHddge_IdejܐjBfdejZjBfge_Je'ejܐ_Be*e3ejc_BeHdd>ge_IdejܐjBfd>ejcjBfge_Jee_Pe'e_yeZ e_[ejPejyej[dOe_\ed9e_]e'ejܐ_Be*eejc_BeHdd>ge_IdejܐjBfd>ejcjBfge_Jee _Pe'e _yeZ e _[e jPe jye j[dOe _\e d9e _]e'e"jܐ_Be*e
jQe"j_BeHdd$ge"_Ide"jܐjBfd$e"jjBfge"_Je'e$jܐ_Be*ee$jc_BeHdd>ge$_Ide$jܐjBfd>e$jcjBfge$_Jeje&_[ejLe&_\e
jQe&_]e&j[e&j\e&j]de&_\e*eje(_^e*ejLe(__e*e
jQe(_`e(j^e(j_e(j`de(_\dde@j_adefjƐ_ade{j_adej_addej_addej_adeȐj)_adej@_adejA_adejB_adej@_adejA_adejB_adej@_adejA_adejB_ade jO_ae jkejQ_adejp_ade*jv_addeDj_adeDj~_adeTj_adeTj_adej_adej_addej_adej_adej_adeƐj_addeؐj_addej_aebdd%deeeddddZcebdd%deeeddddZdebdd%deeeddddZeebdd%deeZ eddddZfebdd%deeeddddZgebdd%deWe[eYddddZhebdd%deZ eeZ ddddZiebdd%degereiddddZjebdd%dee	jkeoddddZlebdd%dee+eddddZmebdd%de	jne	joeddddZpebdd%deeeZ ddddZqebdd%deeeddddZrebdd%de~eeddddZsebd d%deeekddddZtebdd%deeeddddZuebdd%deeeddddZvebdd%dee+ezddddZwebdd%deereddddZxebdd%deϐe2eѐddddZyebdd%dee0eddddZzebdd%deeeǐddddZ{ebdd%deeeǐddddZ|ebd	d%deeeːddddZ}ebd
d%deeZ eՐddddZ~ebdd%deאe4eِddddZebdd%deeeݐddddZebdd%deeeddddZebdd%deeeddddZebdd%deeZ eddddZebdd%deeeddddZebdd%deKeOeMddddZebdd%deAeIeGddddZebdd%deCeIeEddddZebdd%deKeOeMddddZebdd%de-e*e+e)ddddZebdd%de-e*ee)ddddZebdd%dee*e+eddddZebddde%e#eZ ddddZebdd%dee!eZ ddddZebddde	jnee	jddddZebdd%de	jnee	jddddZebddde/ee1ddddZebdd%de/ee1ddddZebdd%deZ e3eZ ddddZebddde?eAe7ddddZebdd%de5e7e7ddddZebdddeEeOeKddddZebdd%deEeMeKddddZebdddeGeOeIddddZebdd%deGeMeIddddZebd d%de)e	jkesddddZebd!d%de	jne	joe	jddddZebd"d%deQeZ eSddddZebd#d%deUe	jkeYddddZebd$d%de	jne	joe	jddddZebd%d%deeeddddZebd&d%de5e7eZ ddddZebd'd%deeeZ ddddZebd(d%de'eZ e[ddddZebd)dde]eae_ddddZebd)d%decegeeddddZebd*ddeieekddddZebd*d%deieekddddZebd+ddemeeoddddZebd+d%demeeoddddZebd,d%de+eZ eqddddZebd-d%deueZ ewddddZebd.d%deeeddddZebd/d%deee	ddddZebd0d%dejejejddddZebd1d%dejejejddddZebd2d%deZ ejejddddZebd3d%dejejejddddZebd4d%de/e]e1ddddZebd5d%de/e_e1ddddZebd6d%de/eae1ddddZebd7d%de/ece1ddddZebd8d%deeeddddZebd9d%deeeddddZebd:d%deeeddddZebd;d%deeeddddZebd<d%deŐeeÐddddZebd=d%deǐe͐eɐddddZebd>d%de	jnee	jddddZebd?d%deϐeeѐddddZebd@d%dee*eӡeZ ddddZebdAd%deِeeߐddddZebdBd%deېeeݐddddZebdCd%deeZ eddddZebdDd%deeeddddZebdEd%deeeddddZebdFd%deZ eeddddZi decdeddeedefdegdehdeidejdeldemdepdeqderdesd etdeudevi dewdexdeydezde{de|d	e}d
e~dededededededededei dededededGededHededIedededJededKededLedei d ed!ed"ed#ed$ed%ed&ed'ed(edMed)edNed*edOed+ed,ed-ei d.ed/ed0ed1ed2ed3ed4ed5ed6ed7ed8ed9ed:ed;ed<ed=eÓd>eēeŐeƐeǐeȐeɐeʐeːe̐dPZ͐dQS (R      )unicode_literals)
stone_base)stone_validators)account)async_)common)file_properties)files)secondary_emails)team_common)team_policies)users)users_commonc                       s   e Zd ZdZg dZdZ					dddZedZ	ejddd	Z
ejd
dd	Zejddd	Zejddd	Z fddZ  ZS )DeviceSessiona  
    :ivar team.DeviceSession.session_id: The session id.
    :ivar team.DeviceSession.ip_address: The IP address of the last activity
        from this session.
    :ivar team.DeviceSession.country: The country from which the last activity
        from this session was made.
    :ivar team.DeviceSession.created: The time this session was created.
    :ivar team.DeviceSession.updated: The time of the last activity from this
        session.
    )_session_id_value_ip_address_value_country_value_created_value_updated_valueTNc                 C   sv   t j| _t j| _t j| _t j| _t j| _|d ur|| _|d ur"|| _|d ur)|| _	|d ur0|| _
|d ur9|| _d S d S N)bbNOT_SETr   r   r   r   r   
session_id
ip_addresscountrycreatedupdated)selfr   r   r   r   r    r   cC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\dropbox/team.py__init__+       
zDeviceSession.__init__r   r   nullabler   r   r   c                       t t| ||| d S r   )superr   _process_custom_annotationsr   Zannotation_typeZ
field_path	processor	__class__r   r   r&   P      z)DeviceSession._process_custom_annotationsNNNNN)__name__
__module____qualname____doc__	__slots___has_required_fieldsr    r   	Attributer   r   r   r   r   r&   __classcell__r   r   r)   r   r      s     

r   c                       sx   e Zd ZdZg dZdZ									d fdd	ZedZ	edZ
ed	Zejd
ddZ fddZ  ZS )ActiveWebSessiona}  
    Information on active web sessions.

    :ivar team.ActiveWebSession.user_agent: Information on the hosting device.
    :ivar team.ActiveWebSession.os: Information on the hosting operating system.
    :ivar team.ActiveWebSession.browser: Information on the browser used for
        this web session.
    :ivar team.ActiveWebSession.expires: The time this session expires.
    )_user_agent_value	_os_value_browser_value_expires_valueTNc
           
         sx   t t| ||||| tj| _tj| _tj| _tj| _|d ur#|| _	|d ur*|| _
|d ur1|| _|	d ur:|	| _d S d S r   )r%   r5   r    r   r   r6   r7   r8   r9   
user_agentosbrowserexpires)
r   r   r:   r;   r<   r   r   r   r   r=   r)   r   r   r    i   s&   

zActiveWebSession.__init__r:   r;   r<   r=   r"   c                    r$   r   )r%   r5   r&   r'   r)   r   r   r&      r+   z,ActiveWebSession._process_custom_annotations)	NNNNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r:   r;   r<   r=   r&   r4   r   r   r)   r   r5   U   s&    



r5   c                       s,  e Zd ZdZdZdZedd Zedd Zedd	 Z	ed
d Z
edd Zedd Zedd Zedd Zedd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Z d8d9 Z!d:d; Z" fd<d=Z#  Z$S )>AddSecondaryEmailResultad  
    Result of trying to add a secondary email to a user. 'success' is the only
    value indicating that a secondary email was successfully added to a user.
    The other values explain the type of error that occurred, and include the
    email for which the error occurred.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar secondary_emails.SecondaryEmail team.AddSecondaryEmailResult.success:
        Describes a secondary email that was successfully added to a user.
    :ivar str team.AddSecondaryEmailResult.unavailable: Secondary email is not
        available to be claimed by the user.
    :ivar str team.AddSecondaryEmailResult.already_pending: Secondary email is
        already a pending email for the user.
    :ivar str team.AddSecondaryEmailResult.already_owned_by_user: Secondary
        email is already a verified email for the user.
    :ivar str team.AddSecondaryEmailResult.reached_limit: User already has the
        maximum number of secondary emails allowed.
    :ivar str team.AddSecondaryEmailResult.transient_error: A transient error
        occurred. Please try again later.
    :ivar str team.AddSecondaryEmailResult.too_many_updates: An error occurred
        due to conflicting updates. Please try again later.
    :ivar str team.AddSecondaryEmailResult.unknown_error: An unknown error
        occurred.
    :ivar str team.AddSecondaryEmailResult.rate_limited: Too many emails are
        being sent to this email address. Please try again later.
    otherNc                 C   
   | d|S )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param secondary_emails.SecondaryEmail val:
        :rtype: AddSecondaryEmailResult
        successr   clsvalr   r   r   rA         
	zAddSecondaryEmailResult.successc                 C   r@   )z
        Create an instance of this class set to the ``unavailable`` tag with
        value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        unavailabler   rB   r   r   r   rF      rE   z#AddSecondaryEmailResult.unavailablec                 C   r@   )z
        Create an instance of this class set to the ``already_pending`` tag with
        value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        already_pendingr   rB   r   r   r   rG      rE   z'AddSecondaryEmailResult.already_pendingc                 C   r@   )z
        Create an instance of this class set to the ``already_owned_by_user``
        tag with value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        already_owned_by_userr   rB   r   r   r   rH      rE   z-AddSecondaryEmailResult.already_owned_by_userc                 C   r@   )z
        Create an instance of this class set to the ``reached_limit`` tag with
        value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        reached_limitr   rB   r   r   r   rI      rE   z%AddSecondaryEmailResult.reached_limitc                 C   r@   )z
        Create an instance of this class set to the ``transient_error`` tag with
        value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        transient_errorr   rB   r   r   r   rJ      rE   z'AddSecondaryEmailResult.transient_errorc                 C   r@   )z
        Create an instance of this class set to the ``too_many_updates`` tag
        with value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        too_many_updatesr   rB   r   r   r   rK      rE   z(AddSecondaryEmailResult.too_many_updatesc                 C   r@   )z
        Create an instance of this class set to the ``unknown_error`` tag with
        value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        unknown_errorr   rB   r   r   r   rL     rE   z%AddSecondaryEmailResult.unknown_errorc                 C   r@   )z
        Create an instance of this class set to the ``rate_limited`` tag with
        value ``val``.

        :param str val:
        :rtype: AddSecondaryEmailResult
        rate_limitedr   rB   r   r   r   rM     rE   z$AddSecondaryEmailResult.rate_limitedc                 C   
   | j dkS zN
        Check if the union tag is ``success``.

        :rtype: bool
        rA   Z_tagr   r   r   r   
is_success     
z"AddSecondaryEmailResult.is_successc                 C   rN   )zR
        Check if the union tag is ``unavailable``.

        :rtype: bool
        rF   rP   rQ   r   r   r   is_unavailable$  rS   z&AddSecondaryEmailResult.is_unavailablec                 C   rN   )zV
        Check if the union tag is ``already_pending``.

        :rtype: bool
        rG   rP   rQ   r   r   r   is_already_pending,  rS   z*AddSecondaryEmailResult.is_already_pendingc                 C   rN   )z\
        Check if the union tag is ``already_owned_by_user``.

        :rtype: bool
        rH   rP   rQ   r   r   r   is_already_owned_by_user4  rS   z0AddSecondaryEmailResult.is_already_owned_by_userc                 C   rN   )zT
        Check if the union tag is ``reached_limit``.

        :rtype: bool
        rI   rP   rQ   r   r   r   is_reached_limit<  rS   z(AddSecondaryEmailResult.is_reached_limitc                 C   rN   zV
        Check if the union tag is ``transient_error``.

        :rtype: bool
        rJ   rP   rQ   r   r   r   is_transient_errorD  rS   z*AddSecondaryEmailResult.is_transient_errorc                 C   rN   )zW
        Check if the union tag is ``too_many_updates``.

        :rtype: bool
        rK   rP   rQ   r   r   r   is_too_many_updatesL  rS   z+AddSecondaryEmailResult.is_too_many_updatesc                 C   rN   zT
        Check if the union tag is ``unknown_error``.

        :rtype: bool
        rL   rP   rQ   r   r   r   is_unknown_errorT  rS   z(AddSecondaryEmailResult.is_unknown_errorc                 C   rN   zS
        Check if the union tag is ``rate_limited``.

        :rtype: bool
        rM   rP   rQ   r   r   r   is_rate_limited\  rS   z'AddSecondaryEmailResult.is_rate_limitedc                 C   rN   zL
        Check if the union tag is ``other``.

        :rtype: bool
        r?   rP   rQ   r   r   r   is_otherd  rS   z AddSecondaryEmailResult.is_otherc                 C      |   std| jS )z
        Describes a secondary email that was successfully added to a user.

        Only call this if :meth:`is_success` is true.

        :rtype: secondary_emails.SecondaryEmail
        tag 'success' not setrR   AttributeError_valuerQ   r   r   r   get_successl     z#AddSecondaryEmailResult.get_successc                 C   ra   )z
        Secondary email is not available to be claimed by the user.

        Only call this if :meth:`is_unavailable` is true.

        :rtype: str
        ztag 'unavailable' not set)rT   rd   re   rQ   r   r   r   get_unavailablex  rg   z'AddSecondaryEmailResult.get_unavailablec                 C   ra   )z
        Secondary email is already a pending email for the user.

        Only call this if :meth:`is_already_pending` is true.

        :rtype: str
        ztag 'already_pending' not set)rU   rd   re   rQ   r   r   r   get_already_pending  rg   z+AddSecondaryEmailResult.get_already_pendingc                 C   ra   )z
        Secondary email is already a verified email for the user.

        Only call this if :meth:`is_already_owned_by_user` is true.

        :rtype: str
        z#tag 'already_owned_by_user' not set)rV   rd   re   rQ   r   r   r   get_already_owned_by_user  rg   z1AddSecondaryEmailResult.get_already_owned_by_userc                 C   ra   )z
        User already has the maximum number of secondary emails allowed.

        Only call this if :meth:`is_reached_limit` is true.

        :rtype: str
        ztag 'reached_limit' not set)rW   rd   re   rQ   r   r   r   get_reached_limit  rg   z)AddSecondaryEmailResult.get_reached_limitc                 C   ra   )z
        A transient error occurred. Please try again later.

        Only call this if :meth:`is_transient_error` is true.

        :rtype: str
        ztag 'transient_error' not set)rY   rd   re   rQ   r   r   r   get_transient_error  rg   z+AddSecondaryEmailResult.get_transient_errorc                 C   ra   )z
        An error occurred due to conflicting updates. Please try again later.

        Only call this if :meth:`is_too_many_updates` is true.

        :rtype: str
        ztag 'too_many_updates' not set)rZ   rd   re   rQ   r   r   r   get_too_many_updates  rg   z,AddSecondaryEmailResult.get_too_many_updatesc                 C   ra   )z~
        An unknown error occurred.

        Only call this if :meth:`is_unknown_error` is true.

        :rtype: str
        ztag 'unknown_error' not set)r\   rd   re   rQ   r   r   r   get_unknown_error  rg   z)AddSecondaryEmailResult.get_unknown_errorc                 C   ra   z
        Too many emails are being sent to this email address. Please try again
        later.

        Only call this if :meth:`is_rate_limited` is true.

        :rtype: str
        ztag 'rate_limited' not setr^   rd   re   rQ   r   r   r   get_rate_limited     	z(AddSecondaryEmailResult.get_rate_limitedc                    r$   r   )r%   r>   r&   r'   r)   r   r   r&     r+   z3AddSecondaryEmailResult._process_custom_annotations)%r-   r.   r/   r0   
_catch_allr?   classmethodrA   rF   rG   rH   rI   rJ   rK   rL   rM   rR   rT   rU   rV   rW   rY   rZ   r\   r^   r`   rf   rh   ri   rj   rk   rl   rm   rn   rq   r&   r4   r   r   r)   r   r>      sT    

















r>   c                       @   e Zd ZdZdgZdZ	d
ddZedZ	 fdd	Z
  ZS )AddSecondaryEmailsArgzs
    :ivar team.AddSecondaryEmailsArg.new_secondary_emails: List of users and
        secondary emails to add.
    _new_secondary_emails_valueTNc                 C      t j| _|d ur|| _d S d S r   )r   r   rw   new_secondary_emails)r   ry   r   r   r   r         
zAddSecondaryEmailsArg.__init__ry   c                    r$   r   )r%   rv   r&   r'   r)   r   r   r&     r+   z1AddSecondaryEmailsArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   ry   r&   r4   r   r   r)   r   rv         

rv   c                       H   e Zd ZdZdZdZdZdZdd Zdd Z	dd	 Z
 fd
dZ  ZS )AddSecondaryEmailsErrora  
    Error returned when adding secondary emails fails.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.AddSecondaryEmailsError.secondary_emails_disabled: Secondary
        emails are disabled for the team.
    :ivar team.AddSecondaryEmailsError.too_many_emails: A maximum of 20
        secondary emails can be added in a single call.
    r?   Nc                 C   rN   )z`
        Check if the union tag is ``secondary_emails_disabled``.

        :rtype: bool
        secondary_emails_disabledrP   rQ   r   r   r   is_secondary_emails_disabled  rS   z4AddSecondaryEmailsError.is_secondary_emails_disabledc                 C   rN   )zV
        Check if the union tag is ``too_many_emails``.

        :rtype: bool
        too_many_emailsrP   rQ   r   r   r   is_too_many_emails  rS   z*AddSecondaryEmailsError.is_too_many_emailsc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z AddSecondaryEmailsError.is_otherc                    r$   r   )r%   r}   r&   r'   r)   r   r   r&   &  r+   z3AddSecondaryEmailsError._process_custom_annotations)r-   r.   r/   r0   rs   r~   r   r?   r   r   r`   r&   r4   r   r   r)   r   r}         r}   c                       ru   )AddSecondaryEmailsResultzi
    :ivar team.AddSecondaryEmailsResult.results: List of users and secondary
        email results.
    _results_valueTNc                 C   rx   r   r   r   r   resultsr   r   r   r   r   r    7  rz   z!AddSecondaryEmailsResult.__init__r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&   @  r+   z4AddSecondaryEmailsResult._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r   +  r{   r   c                       sT   e Zd ZdZdZdZdZdZdZdd Z	dd Z
dd Zd	d
 Z fddZ  ZS )	AdminTiera  
    Describes which team-related admin permissions a user has.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.AdminTier.team_admin: User is an administrator of the team - has
        all permissions.
    :ivar team.AdminTier.user_management_admin: User can do most user
        provisioning, de-provisioning and management.
    :ivar team.AdminTier.support_admin: User can do a limited set of common
        support tasks for existing users. Note: Dropbox is adding new types of
        admin roles; these may display as support_admin.
    :ivar team.AdminTier.member_only: User is not an admin of the team.
    Nc                 C   rN   )zQ
        Check if the union tag is ``team_admin``.

        :rtype: bool
        
team_adminrP   rQ   r   r   r   is_team_admina  rS   zAdminTier.is_team_adminc                 C   rN   )z\
        Check if the union tag is ``user_management_admin``.

        :rtype: bool
        user_management_adminrP   rQ   r   r   r   is_user_management_admini  rS   z"AdminTier.is_user_management_adminc                 C   rN   )zT
        Check if the union tag is ``support_admin``.

        :rtype: bool
        support_adminrP   rQ   r   r   r   is_support_adminq  rS   zAdminTier.is_support_adminc                 C   rN   )zR
        Check if the union tag is ``member_only``.

        :rtype: bool
        member_onlyrP   rQ   r   r   r   is_member_onlyy  rS   zAdminTier.is_member_onlyc                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z%AdminTier._process_custom_annotations)r-   r.   r/   r0   rs   r   r   r   r   r   r   r   r   r&   r4   r   r   r)   r   r   E  s    r   c                       s   e Zd ZdZg dZdZ						dddZedZ	edZ
ejd	dd
Zejddd
Zejddd
ZedZ fddZ  ZS )ApiAppa  
    Information on linked third party applications.

    :ivar team.ApiApp.app_id: The application unique id.
    :ivar team.ApiApp.app_name: The application name.
    :ivar team.ApiApp.publisher: The application publisher name.
    :ivar team.ApiApp.publisher_url: The publisher's URL.
    :ivar team.ApiApp.linked: The time this application was linked.
    :ivar team.ApiApp.is_app_folder: Whether the linked application uses a
        dedicated folder.
    )_app_id_value_app_name_value_publisher_value_publisher_url_value_linked_value_is_app_folder_valueTNc                 C   s   t j| _t j| _t j| _t j| _t j| _t j| _|d ur|| _|d ur&|| _	|d ur-|| _
|d ur4|| _|d ur;|| _|d urD|| _d S d S r   )r   r   r   r   r   r   r   r   app_idapp_name	publisherpublisher_urllinkedis_app_folder)r   r   r   r   r   r   r   r   r   r   r      &   
zApiApp.__init__r   r   r   r"   r   r   r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z"ApiApp._process_custom_annotationsNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r   r   r   r   r   r   r&   r4   r   r   r)   r   r     s$    	



r   c                       ru   )BaseDfbReportz
    Base report structure.

    :ivar team.BaseDfbReport.start_date: First date present in the results as
        'YYYY-MM-DD' or None.
    _start_date_valueTNc                 C   rx   r   )r   r   r   
start_date)r   r   r   r   r   r      rz   zBaseDfbReport.__init__r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z)BaseDfbReport._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r         

r   c                          e Zd ZdZdZdZedd Zedd Zedd	 Z	d
d Z
dd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )BaseTeamFolderErrora  
    Base error that all errors for existing team folders should extend.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``access_error`` tag with
        value ``val``.

        :param TeamFolderAccessError val:
        :rtype: BaseTeamFolderError
        access_errorr   rB   r   r   r   r     rE   z BaseTeamFolderError.access_errorc                 C   r@   )z
        Create an instance of this class set to the ``status_error`` tag with
        value ``val``.

        :param TeamFolderInvalidStatusError val:
        :rtype: BaseTeamFolderError
        status_errorr   rB   r   r   r   r     rE   z BaseTeamFolderError.status_errorc                 C   r@   )z
        Create an instance of this class set to the
        ``team_shared_dropbox_error`` tag with value ``val``.

        :param TeamFolderTeamSharedDropboxError val:
        :rtype: BaseTeamFolderError
        team_shared_dropbox_errorr   rB   r   r   r   r     rE   z-BaseTeamFolderError.team_shared_dropbox_errorc                 C   rN   )zS
        Check if the union tag is ``access_error``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_access_error  rS   z#BaseTeamFolderError.is_access_errorc                 C   rN   )zS
        Check if the union tag is ``status_error``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_status_error!  rS   z#BaseTeamFolderError.is_status_errorc                 C   rN   )z`
        Check if the union tag is ``team_shared_dropbox_error``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_team_shared_dropbox_error)  rS   z0BaseTeamFolderError.is_team_shared_dropbox_errorc                 C   rN   r_   rP   rQ   r   r   r   r`   1  rS   zBaseTeamFolderError.is_otherc                 C   ra   )zk
        Only call this if :meth:`is_access_error` is true.

        :rtype: TeamFolderAccessError
        ztag 'access_error' not set)r   rd   re   rQ   r   r   r   get_access_error9     z$BaseTeamFolderError.get_access_errorc                 C   ra   )zr
        Only call this if :meth:`is_status_error` is true.

        :rtype: TeamFolderInvalidStatusError
        ztag 'status_error' not set)r   rd   re   rQ   r   r   r   get_status_errorC  r   z$BaseTeamFolderError.get_status_errorc                 C   ra   )z
        Only call this if :meth:`is_team_shared_dropbox_error` is true.

        :rtype: TeamFolderTeamSharedDropboxError
        z'tag 'team_shared_dropbox_error' not set)r   rd   re   rQ   r   r   r   get_team_shared_dropbox_errorM  r   z1BaseTeamFolderError.get_team_shared_dropbox_errorc                    r$   r   )r%   r   r&   r'   r)   r   r   r&   W  r+   z/BaseTeamFolderError._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   r   r   r   r   r   r   r`   r   r   r   r&   r4   r   r   r)   r   r     s$    








r   c                       <   e Zd ZdZdZdZdZdd Zdd Z fdd	Z	  Z
S )
CustomQuotaErroraj  
    Error returned when getting member custom quota.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.CustomQuotaError.too_many_users: A maximum of 1000 users can be
        set for a single call.
    r?   Nc                 C   rN   zU
        Check if the union tag is ``too_many_users``.

        :rtype: bool
        too_many_usersrP   rQ   r   r   r   is_too_many_usersn  rS   z"CustomQuotaError.is_too_many_usersc                 C   rN   r_   rP   rQ   r   r   r   r`   v  rS   zCustomQuotaError.is_otherc                    r$   r   )r%   r   r&   r'   r)   r   r   r&   ~  r+   z,CustomQuotaError._process_custom_annotations)r-   r.   r/   r0   rs   r   r?   r   r`   r&   r4   r   r   r)   r   r   \      r   c                       h   e Zd ZdZdZdZedd Zedd Zdd	 Z	d
d Z
dd Zdd Zdd Z fddZ  ZS )CustomQuotaResulta  
    User custom quota.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UserCustomQuotaResult CustomQuotaResult.success: User's custom quota.
    :ivar UserSelectorArg CustomQuotaResult.invalid_user: Invalid user (not in
        team).
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param UserCustomQuotaResult val:
        :rtype: CustomQuotaResult
        rA   r   rB   r   r   r   rA     rE   zCustomQuotaResult.successc                 C   r@   )z
        Create an instance of this class set to the ``invalid_user`` tag with
        value ``val``.

        :param UserSelectorArg val:
        :rtype: CustomQuotaResult
        invalid_userr   rB   r   r   r   r     rE   zCustomQuotaResult.invalid_userc                 C   rN   rO   rP   rQ   r   r   r   rR     rS   zCustomQuotaResult.is_successc                 C   rN   zS
        Check if the union tag is ``invalid_user``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_invalid_user  rS   z!CustomQuotaResult.is_invalid_userc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zCustomQuotaResult.is_otherc                 C   ra   )z
        User's custom quota.

        Only call this if :meth:`is_success` is true.

        :rtype: UserCustomQuotaResult
        rb   rc   rQ   r   r   r   rf     rg   zCustomQuotaResult.get_successc                 C   ra   z
        Invalid user (not in team).

        Only call this if :meth:`is_invalid_user` is true.

        :rtype: UserSelectorArg
        tag 'invalid_user' not setr   rd   re   rQ   r   r   r   get_invalid_user  rg   z"CustomQuotaResult.get_invalid_userc                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z-CustomQuotaResult._process_custom_annotationsr-   r.   r/   r0   rs   r?   rt   rA   r   rR   r   r`   rf   r   r&   r4   r   r   r)   r   r     s    



r   c                       ru   )CustomQuotaUsersArgz>
    :ivar team.CustomQuotaUsersArg.users: List of users.
    _users_valueTNc                 C   rx   r   r   r   r   r   r   r   r   r   r   r      rz   zCustomQuotaUsersArg.__init__r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z/CustomQuotaUsersArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r         

r   c                       V   e Zd ZdZddgZdZ		dddZejdd	d
Z	ejdd	d
Z
 fddZ  ZS )	DateRangea/  
    Input arguments that can be provided for most reports.

    :ivar team.DateRange.start_date: Optional starting date (inclusive). If
        start_date is None or too long ago, this field will  be set to 6 months
        ago.
    :ivar team.DateRange.end_date: Optional ending date (exclusive).
    r   _end_date_valueFNc                 C   4   t j| _t j| _|d ur|| _|d ur|| _d S d S r   )r   r   r   r   r   end_date)r   r   r   r   r   r   r    	     
zDateRange.__init__r   Tr"   r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z%DateRange._process_custom_annotationsNN)r-   r.   r/   r0   r1   r2   r    r   r3   r   r   r&   r4   r   r   r)   r   r         

r   c                       0   e Zd ZdZdZdZdd Z fddZ  ZS )DateRangeErrora  
    Errors that can originate from problems in input arguments to reports.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r?   Nc                 C   rN   r_   rP   rQ   r   r   r   r`   +  rS   zDateRangeError.is_otherc                    r$   r   )r%   r   r&   r'   r)   r   r   r&   3  r+   z*DateRangeError._process_custom_annotations	r-   r.   r/   r0   rs   r?   r`   r&   r4   r   r   r)   r   r     s    r   c                       r   )DeleteSecondaryEmailResultaO  
    Result of trying to delete a secondary email address. 'success' is the only
    value indicating that a secondary email was successfully deleted. The other
    values explain the type of error that occurred, and include the email for
    which the error occurred.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.DeleteSecondaryEmailResult.success: The secondary email was
        successfully deleted.
    :ivar str team.DeleteSecondaryEmailResult.not_found: The email address was
        not found for the user.
    :ivar str team.DeleteSecondaryEmailResult.cannot_remove_primary: The email
        address is the primary email address of the user, and cannot be removed.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param str val:
        :rtype: DeleteSecondaryEmailResult
        rA   r   rB   r   r   r   rA   O  rE   z"DeleteSecondaryEmailResult.successc                 C   r@   )z
        Create an instance of this class set to the ``not_found`` tag with value
        ``val``.

        :param str val:
        :rtype: DeleteSecondaryEmailResult
        	not_foundr   rB   r   r   r   r   Z  rE   z$DeleteSecondaryEmailResult.not_foundc                 C   r@   )z
        Create an instance of this class set to the ``cannot_remove_primary``
        tag with value ``val``.

        :param str val:
        :rtype: DeleteSecondaryEmailResult
        cannot_remove_primaryr   rB   r   r   r   r   e  rE   z0DeleteSecondaryEmailResult.cannot_remove_primaryc                 C   rN   rO   rP   rQ   r   r   r   rR   p  rS   z%DeleteSecondaryEmailResult.is_successc                 C   rN   )zP
        Check if the union tag is ``not_found``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_not_foundx  rS   z'DeleteSecondaryEmailResult.is_not_foundc                 C   rN   )z\
        Check if the union tag is ``cannot_remove_primary``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_cannot_remove_primary  rS   z3DeleteSecondaryEmailResult.is_cannot_remove_primaryc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z#DeleteSecondaryEmailResult.is_otherc                 C   ra   )z
        The secondary email was successfully deleted.

        Only call this if :meth:`is_success` is true.

        :rtype: str
        rb   rc   rQ   r   r   r   rf     rg   z&DeleteSecondaryEmailResult.get_successc                 C   ra   )z
        The email address was not found for the user.

        Only call this if :meth:`is_not_found` is true.

        :rtype: str
        ztag 'not_found' not set)r   rd   re   rQ   r   r   r   get_not_found  rg   z(DeleteSecondaryEmailResult.get_not_foundc                 C   ra   )z
        The email address is the primary email address of the user, and cannot
        be removed.

        Only call this if :meth:`is_cannot_remove_primary` is true.

        :rtype: str
        z#tag 'cannot_remove_primary' not set)r   rd   re   rQ   r   r   r   get_cannot_remove_primary  rr   z4DeleteSecondaryEmailResult.get_cannot_remove_primaryc                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z6DeleteSecondaryEmailResult._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   rA   r   r   rR   r   r   r`   rf   r   r   r&   r4   r   r   r)   r   r   8  s$    





r   c                       ru   )DeleteSecondaryEmailsArgz{
    :ivar team.DeleteSecondaryEmailsArg.emails_to_delete: List of users and
        their secondary emails to delete.
    _emails_to_delete_valueTNc                 C   rx   r   )r   r   r   emails_to_delete)r   r   r   r   r   r      rz   z!DeleteSecondaryEmailsArg.__init__r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z4DeleteSecondaryEmailsArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r     r{   r   c                       <   e Zd ZdgZdZ	d	ddZedZ fddZ	  Z
S )
DeleteSecondaryEmailsResultr   TNc                 C   rx   r   r   r   r   r   r   r      rz   z$DeleteSecondaryEmailsResult.__init__r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z7DeleteSecondaryEmailsResult._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r         

r   c                       s   e Zd ZdZg dZdZ										d fdd	ZedZ	ejddd	Z
ed
ZedZedZ fddZ  ZS )DesktopClientSessiona)  
    Information about linked Dropbox desktop client sessions.

    :ivar team.DesktopClientSession.host_name: Name of the hosting desktop.
    :ivar team.DesktopClientSession.client_type: The Dropbox desktop client
        type.
    :ivar team.DesktopClientSession.client_version: The Dropbox client version.
    :ivar team.DesktopClientSession.platform: Information on the hosting
        platform.
    :ivar team.DesktopClientSession.is_delete_on_unlink_supported: Whether it's
        possible to delete all of the account files upon unlinking.
    )_host_name_value_client_type_value_client_version_value_platform_value$_is_delete_on_unlink_supported_valueTNc                    s   t t| ||||	|
 tj| _tj| _tj| _tj| _tj| _	|d ur'|| _
|d ur.|| _|d ur5|| _|d ur<|| _|d urE|| _d S d S r   )r%   r   r    r   r   r   r   r   r   r   	host_nameclient_typeclient_versionplatformis_delete_on_unlink_supported)r   r   r   r   r   r   r   r   r   r   r   r)   r   r   r      ,   
zDesktopClientSession.__init__r   r   user_definedr   r   r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&   1  r+   z0DesktopClientSession._process_custom_annotations
NNNNNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r   r   r   r   r   r&   r4   r   r   r)   r   r     s*    
!


r   c                       T   e Zd ZdZdZdZdZdZdZdd Z	dd Z
dd	 Zd
d Z fddZ  ZS )DesktopPlatforma  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.DesktopPlatform.windows: Official Windows Dropbox desktop client.
    :ivar team.DesktopPlatform.mac: Official Mac Dropbox desktop client.
    :ivar team.DesktopPlatform.linux: Official Linux Dropbox desktop client.
    r?   Nc                 C   rN   )zN
        Check if the union tag is ``windows``.

        :rtype: bool
        windowsrP   rQ   r   r   r   
is_windowsK  rS   zDesktopPlatform.is_windowsc                 C   rN   )zJ
        Check if the union tag is ``mac``.

        :rtype: bool
        macrP   rQ   r   r   r   is_macS  rS   zDesktopPlatform.is_macc                 C   rN   )zL
        Check if the union tag is ``linux``.

        :rtype: bool
        linuxrP   rQ   r   r   r   is_linux[  rS   zDesktopPlatform.is_linuxc                 C   rN   r_   rP   rQ   r   r   r   r`   c  rS   zDesktopPlatform.is_otherc                    r$   r   )r%   r   r&   r'   r)   r   r   r&   k  r+   z+DesktopPlatform._process_custom_annotations)r-   r.   r/   r0   rs   r   r   r   r?   r   r   r   r`   r&   r4   r   r   r)   r   r   6  s    
r   c                       N   e Zd ZdZddgZdZ		dddZedZ	ed	Z
 fd
dZ  ZS )DeviceSessionArgz
    :ivar team.DeviceSessionArg.session_id: The session id.
    :ivar team.DeviceSessionArg.team_member_id: The unique id of the member
        owning the device.
    r   _team_member_id_valueTNc                 C   r   r   )r   r   r   r   r   team_member_id)r   r   r   r   r   r   r    ~  r   zDeviceSessionArg.__init__r   r   c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z,DeviceSessionArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r   r&   r4   r   r   r)   r   r   p      


r   c                       s   e Zd ZdZg dZdZ							dddZedZ	edZ
ed	Zed
ZedZedZedZ fddZ  ZS )DevicesActivea  
    Each of the items is an array of values, one value per day. The value is the
    number of devices active within a time window, ending with that day. If
    there is no data for a day, then the value will be None.

    :ivar team.DevicesActive.windows: Array of number of linked windows
        (desktop) clients with activity.
    :ivar team.DevicesActive.macos: Array of number of linked mac (desktop)
        clients with activity.
    :ivar team.DevicesActive.linux: Array of number of linked linus (desktop)
        clients with activity.
    :ivar team.DevicesActive.ios: Array of number of linked ios devices with
        activity.
    :ivar team.DevicesActive.android: Array of number of linked android devices
        with activity.
    :ivar team.DevicesActive.other: Array of number of other linked devices
        (blackberry, windows phone, etc)  with activity.
    :ivar team.DevicesActive.total: Array of total number of linked clients with
        activity.
    )_windows_value_macos_value_linux_value
_ios_value_android_value_other_value_total_valueTNc                 C      t j| _t j| _t j| _t j| _t j| _t j| _t j| _|d ur#|| _	|d ur*|| _
|d ur1|| _|d ur8|| _|d ur?|| _|d urF|| _|d urO|| _d S d S r   )r   r   r   r   r   r   r   r  r  r   macosr   iosandroidr?   total)r   r   r  r   r  r  r?   r  r   r   r   r      ,   
zDevicesActive.__init__r   r  r   r  r  r?   r  c                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z)DevicesActive._process_custom_annotationsNNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r   r  r   r  r  r?   r  r&   r4   r   r   r)   r   r     s(    








r   c                       ru   )ExcludedUsersListArgzy
    Excluded users list argument.

    :ivar team.ExcludedUsersListArg.limit: Number of results to return per call.
    _limit_valueFNc                 C   rx   r   r   r   r  limitr   r  r   r   r   r      rz   zExcludedUsersListArg.__init__r  c                    r$   r   )r%   r
  r&   r'   r)   r   r   r&     r+   z0ExcludedUsersListArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r
        

r
  c                       ru   )ExcludedUsersListContinueArgz
    Excluded users list continue argument.

    :ivar team.ExcludedUsersListContinueArg.cursor: Indicates from what point to
        get the next set of users.
    _cursor_valueTNc                 C   rx   r   r   r   r  cursorr   r  r   r   r   r      rz   z%ExcludedUsersListContinueArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z8ExcludedUsersListContinueArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r    r   r  c                       r   )
ExcludedUsersListContinueErroraL  
    Excluded users list continue error.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ExcludedUsersListContinueError.invalid_cursor: The cursor is
        invalid.
    r?   Nc                 C   rN   zU
        Check if the union tag is ``invalid_cursor``.

        :rtype: bool
        invalid_cursorrP   rQ   r   r   r   is_invalid_cursor6  rS   z0ExcludedUsersListContinueError.is_invalid_cursorc                 C   rN   r_   rP   rQ   r   r   r   r`   >  rS   z'ExcludedUsersListContinueError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   F  r+   z:ExcludedUsersListContinueError._process_custom_annotationsr-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  $  r   r  c                       r   )
ExcludedUsersListErrora+  
    Excluded users list error.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ExcludedUsersListError.list_error: An error occurred.
    r?   Nc                 C   rN   )zQ
        Check if the union tag is ``list_error``.

        :rtype: bool
        
list_errorrP   rQ   r   r   r   is_list_error\  rS   z$ExcludedUsersListError.is_list_errorc                 C   rN   r_   rP   rQ   r   r   r   r`   d  rS   zExcludedUsersListError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   l  r+   z2ExcludedUsersListError._process_custom_annotations)r-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  K      
r  c                       ^   e Zd ZdZg dZdZ			dddZedZ	ejddd	Z
ed
Z fddZ  ZS )ExcludedUsersListResulta  
    Excluded users list result.

    :ivar team.ExcludedUsersListResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_member_space_limits_excluded_users_list_continue`
        to obtain additional excluded users.
    :ivar team.ExcludedUsersListResult.has_more: Is true if there are additional
        excluded users that have not been returned yet. An additional call to
        :meth:`dropbox.dropbox_client.Dropbox.team_member_space_limits_excluded_users_list_continue`
        can retrieve them.
    )r   r  _has_more_valueTNc                 C   J   t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur#|| _d S d S r   )r   r   r   r  r"  r   r  has_more)r   r   r$  r  r   r   r   r         
z ExcludedUsersListResult.__init__r   r  r"   r$  c                    r$   r   )r%   r!  r&   r'   r)   r   r   r&     r+   z3ExcludedUsersListResult._process_custom_annotationsNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r   r  r$  r&   r4   r   r   r)   r   r!  q      


r!  c                       D   e Zd ZdZdgZdZ	dddZejddd	Z	 fd
dZ
  ZS )ExcludedUsersUpdateArgz
    Argument of excluded users update operation. Should include a list of users
    to add/remove (according to endpoint), Maximum size of the list is 1000
    users.

    :ivar team.ExcludedUsersUpdateArg.users: List of users to be added/removed.
    r   FNc                 C   rx   r   r   r   r   r   r   r      rz   zExcludedUsersUpdateArg.__init__r   Tr"   c                    r$   r   )r%   r)  r&   r'   r)   r   r   r&     r+   z2ExcludedUsersUpdateArg._process_custom_annotationsr   r   r   r   r)   r   r)        	
r)  c                       r|   )ExcludedUsersUpdateErrora  
    Excluded users update error.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ExcludedUsersUpdateError.users_not_in_team: At least one of the
        users is not part of your team.
    :ivar team.ExcludedUsersUpdateError.too_many_users: A maximum of 1000 users
        for each of addition/removal can be supplied.
    r?   Nc                 C   rN   )zX
        Check if the union tag is ``users_not_in_team``.

        :rtype: bool
        users_not_in_teamrP   rQ   r   r   r   is_users_not_in_team  rS   z-ExcludedUsersUpdateError.is_users_not_in_teamc                 C   rN   r   rP   rQ   r   r   r   r     rS   z*ExcludedUsersUpdateError.is_too_many_usersc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z!ExcludedUsersUpdateError.is_otherc                    r$   r   )r%   r+  r&   r'   r)   r   r   r&     r+   z4ExcludedUsersUpdateError._process_custom_annotations)r-   r.   r/   r0   rs   r,  r   r?   r-  r   r`   r&   r4   r   r   r)   r   r+    r   r+  c                       D   e Zd ZdZdgZdZ	dddZejdddZ	 fd	d
Z
  ZS )ExcludedUsersUpdateResultzh
    Excluded users update result.

    :ivar team.ExcludedUsersUpdateResult.status: Update status.
    _status_valueTNc                 C   rx   r   )r   r   r0  status)r   r1  r   r   r   r      rz   z"ExcludedUsersUpdateResult.__init__r1  r   c                    r$   r   )r%   r/  r&   r'   r)   r   r   r&     r+   z5ExcludedUsersUpdateResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r1  r&   r4   r   r   r)   r   r/    s    
r/  c                       r   )
ExcludedUsersUpdateStatusa8  
    Excluded users update operation status.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ExcludedUsersUpdateStatus.success: Update successful.
    r?   Nc                 C   rN   rO   rP   rQ   r   r   r   rR     rS   z$ExcludedUsersUpdateStatus.is_successc                 C   rN   r_   rP   rQ   r   r   r   r`   &  rS   z"ExcludedUsersUpdateStatus.is_otherc                    r$   r   )r%   r2  r&   r'   r)   r   r   r&   .  r+   z5ExcludedUsersUpdateStatus._process_custom_annotations)r-   r.   r/   r0   rs   rA   r?   rR   r`   r&   r4   r   r   r)   r   r2    r  r2  c                       `   e Zd ZdZdZdZdZdZdZdZ	dd Z
dd Zdd	 Zd
d Zdd Z fddZ  ZS )Featurea  
    A set of features that a Dropbox Business account may support.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.Feature.upload_api_rate_limit: The number of upload API calls
        allowed per month.
    :ivar team.Feature.has_team_shared_dropbox: Does this team have a shared
        team root.
    :ivar team.Feature.has_team_file_events: Does this team have file events.
    :ivar team.Feature.has_team_selective_sync: Does this team have team
        selective sync enabled.
    r?   Nc                 C   rN   z\
        Check if the union tag is ``upload_api_rate_limit``.

        :rtype: bool
        upload_api_rate_limitrP   rQ   r   r   r   is_upload_api_rate_limitP  rS   z Feature.is_upload_api_rate_limitc                 C   rN   z^
        Check if the union tag is ``has_team_shared_dropbox``.

        :rtype: bool
        has_team_shared_dropboxrP   rQ   r   r   r   is_has_team_shared_dropboxX  rS   z"Feature.is_has_team_shared_dropboxc                 C   rN   z[
        Check if the union tag is ``has_team_file_events``.

        :rtype: bool
        has_team_file_eventsrP   rQ   r   r   r   is_has_team_file_events`  rS   zFeature.is_has_team_file_eventsc                 C   rN   z^
        Check if the union tag is ``has_team_selective_sync``.

        :rtype: bool
        has_team_selective_syncrP   rQ   r   r   r   is_has_team_selective_synch  rS   z"Feature.is_has_team_selective_syncc                 C   rN   r_   rP   rQ   r   r   r   r`   p  rS   zFeature.is_otherc                    r$   r   )r%   r4  r&   r'   r)   r   r   r&   x  r+   z#Feature._process_custom_annotations)r-   r.   r/   r0   rs   r6  r9  r<  r?  r?   r7  r:  r=  r@  r`   r&   r4   r   r   r)   r   r4  3  s    r4  c                          e Zd ZdZdZdZedd Zedd Zedd	 Z	ed
d Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS ) FeatureValueaI  
    The values correspond to entries in :class:`Feature`. You may get different
    value according to your Dropbox Business plan.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``upload_api_rate_limit``
        tag with value ``val``.

        :param UploadApiRateLimitValue val:
        :rtype: FeatureValue
        r6  r   rB   r   r   r   r6    rE   z"FeatureValue.upload_api_rate_limitc                 C   r@   )z
        Create an instance of this class set to the ``has_team_shared_dropbox``
        tag with value ``val``.

        :param HasTeamSharedDropboxValue val:
        :rtype: FeatureValue
        r9  r   rB   r   r   r   r9    rE   z$FeatureValue.has_team_shared_dropboxc                 C   r@   )z
        Create an instance of this class set to the ``has_team_file_events`` tag
        with value ``val``.

        :param HasTeamFileEventsValue val:
        :rtype: FeatureValue
        r<  r   rB   r   r   r   r<    rE   z!FeatureValue.has_team_file_eventsc                 C   r@   )z
        Create an instance of this class set to the ``has_team_selective_sync``
        tag with value ``val``.

        :param HasTeamSelectiveSyncValue val:
        :rtype: FeatureValue
        r?  r   rB   r   r   r   r?    rE   z$FeatureValue.has_team_selective_syncc                 C   rN   r5  rP   rQ   r   r   r   r7    rS   z%FeatureValue.is_upload_api_rate_limitc                 C   rN   r8  rP   rQ   r   r   r   r:    rS   z'FeatureValue.is_has_team_shared_dropboxc                 C   rN   r;  rP   rQ   r   r   r   r=    rS   z$FeatureValue.is_has_team_file_eventsc                 C   rN   r>  rP   rQ   r   r   r   r@    rS   z'FeatureValue.is_has_team_selective_syncc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zFeatureValue.is_otherc                 C   ra   )zv
        Only call this if :meth:`is_upload_api_rate_limit` is true.

        :rtype: UploadApiRateLimitValue
        z#tag 'upload_api_rate_limit' not set)r7  rd   re   rQ   r   r   r   get_upload_api_rate_limit  r   z&FeatureValue.get_upload_api_rate_limitc                 C   ra   )zz
        Only call this if :meth:`is_has_team_shared_dropbox` is true.

        :rtype: HasTeamSharedDropboxValue
        %tag 'has_team_shared_dropbox' not setr:  rd   re   rQ   r   r   r   get_has_team_shared_dropbox  r   z(FeatureValue.get_has_team_shared_dropboxc                 C   ra   )zt
        Only call this if :meth:`is_has_team_file_events` is true.

        :rtype: HasTeamFileEventsValue
        z"tag 'has_team_file_events' not set)r=  rd   re   rQ   r   r   r   get_has_team_file_events  r   z%FeatureValue.get_has_team_file_eventsc                 C   ra   )zz
        Only call this if :meth:`is_has_team_selective_sync` is true.

        :rtype: HasTeamSelectiveSyncValue
        %tag 'has_team_selective_sync' not setr@  rd   re   rQ   r   r   r   get_has_team_selective_sync  r   z(FeatureValue.get_has_team_selective_syncc                    r$   r   )r%   rB  r&   r'   r)   r   r   r&     r+   z(FeatureValue._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   r6  r9  r<  r?  r7  r:  r=  r@  r`   rC  rF  rG  rJ  r&   r4   r   r   r)   r   rB  }  s,    	











rB  c                       ru   )FeaturesGetValuesBatchArgz
    :ivar team.FeaturesGetValuesBatchArg.features: A list of features in
        :class:`Feature`. If the list is empty, this route will return
        :class:`FeaturesGetValuesBatchError`.
    _features_valueTNc                 C   rx   r   )r   r   rL  features)r   rM  r   r   r   r      rz   z"FeaturesGetValuesBatchArg.__init__rM  c                    r$   r   )r%   rK  r&   r'   r)   r   r   r&   "  r+   z5FeaturesGetValuesBatchArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   rM  r&   r4   r   r   r)   r   rK    r  rK  c                       r   )
FeaturesGetValuesBatchErrora~  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.FeaturesGetValuesBatchError.empty_features_list: At least one
        :class:`Feature` must be included in the
        :class:`FeaturesGetValuesBatchArg`.features list.
    r?   Nc                 C   rN   )zZ
        Check if the union tag is ``empty_features_list``.

        :rtype: bool
        empty_features_listrP   rQ   r   r   r   is_empty_features_list8  rS   z2FeaturesGetValuesBatchError.is_empty_features_listc                 C   rN   r_   rP   rQ   r   r   r   r`   @  rS   z$FeaturesGetValuesBatchError.is_otherc                    r$   r   )r%   rN  r&   r'   r)   r   r   r&   H  r+   z7FeaturesGetValuesBatchError._process_custom_annotations)r-   r.   r/   r0   rs   rO  r?   rP  r`   r&   r4   r   r   r)   r   rN  '  r  rN  c                       r   )
FeaturesGetValuesBatchResult_values_valueTNc                 C   rx   r   )r   r   rR  values)r   rS  r   r   r   r    U  rz   z%FeaturesGetValuesBatchResult.__init__rS  c                    r$   r   )r%   rQ  r&   r'   r)   r   r   r&   ^  r+   z8FeaturesGetValuesBatchResult._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   rS  r&   r4   r   r   r)   r   rQ  M  r   rQ  c                       s   e Zd ZdZg dZdZ															d fdd	ZedZ	edZ
ed	Zed
ZedZedZedZedZedZedZedZedZedZedZ fddZ  ZS )GetActivityReportaa  
    Activity Report Result. Each of the items in the storage report is an array
    of values, one value per day. If there is no data for a day, then the value
    will be None.

    :ivar team.GetActivityReport.adds: Array of total number of adds by team
        members.
    :ivar team.GetActivityReport.edits: Array of number of edits by team
        members. If the same user edits the same file multiple times this is
        counted as a single edit.
    :ivar team.GetActivityReport.deletes: Array of total number of deletes by
        team members.
    :ivar team.GetActivityReport.active_users_28_day: Array of the number of
        users who have been active in the last 28 days.
    :ivar team.GetActivityReport.active_users_7_day: Array of the number of
        users who have been active in the last week.
    :ivar team.GetActivityReport.active_users_1_day: Array of the number of
        users who have been active in the last day.
    :ivar team.GetActivityReport.active_shared_folders_28_day: Array of the
        number of shared folders with some activity in the last 28 days.
    :ivar team.GetActivityReport.active_shared_folders_7_day: Array of the
        number of shared folders with some activity in the last week.
    :ivar team.GetActivityReport.active_shared_folders_1_day: Array of the
        number of shared folders with some activity in the last day.
    :ivar team.GetActivityReport.shared_links_created: Array of the number of
        shared links created.
    :ivar team.GetActivityReport.shared_links_viewed_by_team: Array of the
        number of views by team users to shared links created by the team.
    :ivar team.GetActivityReport.shared_links_viewed_by_outside_user: Array of
        the number of views by users outside of the team to shared links created
        by the team.
    :ivar team.GetActivityReport.shared_links_viewed_by_not_logged_in: Array of
        the number of views by non-logged-in users to shared links created by
        the team.
    :ivar team.GetActivityReport.shared_links_viewed_total: Array of the total
        number of views to shared links created by the team.
    )_adds_value_edits_value_deletes_value_active_users_28_day_value_active_users_7_day_value_active_users_1_day_value#_active_shared_folders_28_day_value"_active_shared_folders_7_day_value"_active_shared_folders_1_day_value_shared_links_created_value"_shared_links_viewed_by_team_value*_shared_links_viewed_by_outside_user_value+_shared_links_viewed_by_not_logged_in_value _shared_links_viewed_total_valueTNc                    sL  t t| | tj| _tj| _tj| _tj| _tj| _	tj| _
tj| _tj| _tj| _tj| _tj| _tj| _tj| _tj| _|d urG|| _|d urN|| _|d urU|| _|d ur\|| _|d urc|| _|d urj|| _|d urq|| _|	d urx|	| _|
d ur|
| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _ d S d S r   )!r%   rT  r    r   r   rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  addseditsdeletesactive_users_28_dayactive_users_7_dayactive_users_1_dayactive_shared_folders_28_dayactive_shared_folders_7_dayactive_shared_folders_1_dayshared_links_createdshared_links_viewed_by_team#shared_links_viewed_by_outside_user$shared_links_viewed_by_not_logged_inshared_links_viewed_total)r   r   rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  r)   r   r   r      sX   
zGetActivityReport.__init__rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  c                    r$   r   )r%   rT  r&   r'   r)   r   r   r&   	  r+   z-GetActivityReport._process_custom_annotationsNNNNNNNNNNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  r&   r4   r   r   r)   r   rT  c  sF    &
=












rT  c                       sl   e Zd ZdZg dZdZ				d fdd	ZejdddZ	ejd	ddZ
ejd
ddZ fddZ  ZS )GetDevicesReporta\  
    Devices Report Result. Contains subsections for different time ranges of
    activity. Each of the items in each subsection of the storage report is an
    array of values, one value per day. If there is no data for a day, then the
    value will be None.

    :ivar team.GetDevicesReport.active_1_day: Report of the number of devices
        active in the last day.
    :ivar team.GetDevicesReport.active_7_day: Report of the number of devices
        active in the last 7 days.
    :ivar team.GetDevicesReport.active_28_day: Report of the number of devices
        active in the last 28 days.
    )_active_1_day_value_active_7_day_value_active_28_day_valueTNc                    sZ   t t| | tj| _tj| _tj| _|d ur|| _|d ur"|| _	|d ur+|| _
d S d S r   )r%   rr  r    r   r   rs  rt  ru  active_1_dayactive_7_dayactive_28_day)r   r   rv  rw  rx  r)   r   r   r    	  s   
zGetDevicesReport.__init__rv  r   rw  rx  c                    r$   r   )r%   rr  r&   r'   r)   r   r   r&   8	  r+   z,GetDevicesReport._process_custom_annotationsNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   rv  rw  rx  r&   r4   r   r   r)   r   rr  	  s    rr  c                       x   e Zd ZdZg dZdZ						d fdd	ZedZ	edZ
ed	Zed
ZedZ fddZ  ZS )GetMembershipReporta  
    Membership Report Result. Each of the items in the storage report is an
    array of values, one value per day. If there is no data for a day, then the
    value will be None.

    :ivar team.GetMembershipReport.team_size: Team size, for each day.
    :ivar team.GetMembershipReport.pending_invites: The number of pending
        invites to the team, for each day.
    :ivar team.GetMembershipReport.members_joined: The number of members that
        joined the team, for each day.
    :ivar team.GetMembershipReport.suspended_members: The number of suspended
        team members, for each day.
    :ivar team.GetMembershipReport.licenses: The total number of licenses the
        team has, for each day.
    )_team_size_value_pending_invites_value_members_joined_value_suspended_members_value_licenses_valueTNc                       t t| | tj| _tj| _tj| _tj| _tj| _	|d ur#|| _
|d ur*|| _|d ur1|| _|d ur8|| _|d urA|| _d S d S r   )r%   r{  r    r   r   r|  r}  r~  r  r  	team_sizepending_invitesmembers_joinedsuspended_memberslicenses)r   r   r  r  r  r  r  r)   r   r   r    X	  "   
zGetMembershipReport.__init__r  r  r  r  r  c                    r$   r   )r%   r{  r&   r'   r)   r   r   r&   	  r+   z/GetMembershipReport._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r  r&   r4   r   r   r)   r   r{  =	  s"    




r{  c                       rz  )GetStorageReporta  
    Storage Report Result. Each of the items in the storage report is an array
    of values, one value per day. If there is no data for a day, then the value
    will be None.

    :ivar team.GetStorageReport.total_usage: Sum of the shared, unshared, and
        datastore usages, for each day.
    :ivar team.GetStorageReport.shared_usage: Array of the combined size (bytes)
        of team members' shared folders, for each day.
    :ivar team.GetStorageReport.unshared_usage: Array of the combined size
        (bytes) of team members' root namespaces, for each day.
    :ivar team.GetStorageReport.shared_folders: Array of the number of shared
        folders owned by team members, for each day.
    :ivar team.GetStorageReport.member_storage_map: Array of storage summaries
        of team members' account sizes. Each storage summary is an array of key,
        value pairs, where each pair describes a storage bucket. The key
        indicates the upper bound of the bucket and the value is the number of
        users in that bucket. There is one such summary per day. If there is no
        data for a day, the storage summary will be empty.
    )_total_usage_value_shared_usage_value_unshared_usage_value_shared_folders_value_member_storage_map_valueTNc                    r  r   )r%   r  r    r   r   r  r  r  r  r  total_usageshared_usageunshared_usageshared_foldersmember_storage_map)r   r   r  r  r  r  r  r)   r   r   r    	  r  zGetStorageReport.__init__r  r  r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   	  r+   z,GetStorageReport._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r  r&   r4   r   r   r)   r   r  	  s"    




r  c                       <   e Zd ZdZdZdZdZdd Zdd Z fddZ	  Z
S )	GroupAccessTypea  
    Role of a user in group.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupAccessType.member: User is a member of the group, but has no
        special permissions.
    :ivar team.GroupAccessType.owner: User can rename the group, and add/remove
        members.
    Nc                 C   rN   )zM
        Check if the union tag is ``member``.

        :rtype: bool
        memberrP   rQ   r   r   r   	is_member	  rS   zGroupAccessType.is_memberc                 C   rN   )zL
        Check if the union tag is ``owner``.

        :rtype: bool
        ownerrP   rQ   r   r   r   is_owner	  rS   zGroupAccessType.is_ownerc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   	  r+   z+GroupAccessType._process_custom_annotations)r-   r.   r/   r0   rs   r  r  r  r  r&   r4   r   r   r)   r   r  	  s    r  c                       sp   e Zd ZdZg dZdZ				dddZedZ	edZ
ejd	dd
ZejddddZ fddZ  ZS )GroupCreateArga  
    :ivar team.GroupCreateArg.group_name: Group name.
    :ivar team.GroupCreateArg.add_creator_as_owner: Automatically add the
        creator of the group.
    :ivar team.GroupCreateArg.group_external_id: The creator of a team can
        associate an arbitrary external ID to the group.
    :ivar team.GroupCreateArg.group_management_type: Whether the team can be
        managed by selected users, or only by team admins.
    )_group_name_value_add_creator_as_owner_value_group_external_id_value_group_management_type_valueTNc                 C   `   t j| _t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur%|| _|d ur.|| _	d S d S r   )
r   r   r  r  r  r  
group_nameadd_creator_as_ownergroup_external_idgroup_management_type)r   r  r  r  r  r   r   r   r    
     
zGroupCreateArg.__init__r  r  r  r"   r  r#   r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   +
  r+   z*GroupCreateArg._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r&   r4   r   r   r)   r   r  	  s    



r  c                       r3  )GroupCreateErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupCreateError.group_name_already_used: The requested group
        name is already being used by another group.
    :ivar team.GroupCreateError.group_name_invalid: Group name is empty or has
        invalid characters.
    :ivar team.GroupCreateError.external_id_already_in_use: The requested
        external ID is already being used by another group.
    :ivar team.GroupCreateError.system_managed_group_disallowed: System-managed
        group cannot be manually created.
    r?   Nc                 C   rN   z^
        Check if the union tag is ``group_name_already_used``.

        :rtype: bool
        group_name_already_usedrP   rQ   r   r   r   is_group_name_already_usedL
  rS   z+GroupCreateError.is_group_name_already_usedc                 C   rN   zY
        Check if the union tag is ``group_name_invalid``.

        :rtype: bool
        group_name_invalidrP   rQ   r   r   r   is_group_name_invalidT
  rS   z&GroupCreateError.is_group_name_invalidc                 C   rN   za
        Check if the union tag is ``external_id_already_in_use``.

        :rtype: bool
        external_id_already_in_userP   rQ   r   r   r   is_external_id_already_in_use\
  rS   z.GroupCreateError.is_external_id_already_in_usec                 C   rN   zf
        Check if the union tag is ``system_managed_group_disallowed``.

        :rtype: bool
        system_managed_group_disallowedrP   rQ   r   r   r   "is_system_managed_group_disallowedd
  rS   z3GroupCreateError.is_system_managed_group_disallowedc                 C   rN   r_   rP   rQ   r   r   r   r`   l
  rS   zGroupCreateError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   t
  r+   z,GroupCreateError._process_custom_annotations)r-   r.   r/   r0   rs   r  r  r  r  r?   r  r  r  r  r`   r&   r4   r   r   r)   r   r  0
      r  c                       r   )
GroupSelectorErrora  
    Error that can be raised when :class:`GroupSelector` is used.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupSelectorError.group_not_found: No matching group found. No
        groups match the specified group ID.
    r?   Nc                 C   rN   )zV
        Check if the union tag is ``group_not_found``.

        :rtype: bool
        group_not_foundrP   rQ   r   r   r   is_group_not_found
  rS   z%GroupSelectorError.is_group_not_foundc                 C   rN   r_   rP   rQ   r   r   r   r`   
  rS   zGroupSelectorError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   
  r+   z.GroupSelectorError._process_custom_annotations)r-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  y
  r   r  c                       ,   e Zd ZdZdZdd Z fddZ  ZS )GroupSelectorWithTeamGroupErrora  
    Error that can be raised when :class:`GroupSelector` is used and team groups
    are disallowed from being used.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupSelectorWithTeamGroupError.system_managed_group_disallowed:
        This operation is not supported on system-managed groups.
    Nc                 C   rN   r  rP   rQ   r   r   r   r  
  rS   zBGroupSelectorWithTeamGroupError.is_system_managed_group_disallowedc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   
  r+   z;GroupSelectorWithTeamGroupError._process_custom_annotations)r-   r.   r/   r0   r  r  r&   r4   r   r   r)   r   r  
  
    r  c                       r  )GroupDeleteErrora*  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupDeleteError.group_already_deleted: This group has already
        been deleted.
    Nc                 C   rN   )z\
        Check if the union tag is ``group_already_deleted``.

        :rtype: bool
        group_already_deletedrP   rQ   r   r   r   is_group_already_deleted
  rS   z)GroupDeleteError.is_group_already_deletedc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   
  r+   z,GroupDeleteError._process_custom_annotations)r-   r.   r/   r0   r  r  r&   r4   r   r   r)   r   r  
  
    
r  c                       s`   e Zd ZdZddgZdZ							d fdd	Zejddd	Z	ed
Z
 fddZ  ZS )GroupFullInfoz
    Full description of a group.

    :ivar team.GroupFullInfo.members: List of group members.
    :ivar team.GroupFullInfo.created: The group creation time as a UTC timestamp
        in milliseconds since the Unix epoch.
    _members_valuer   TNc                    sL   t t| ||||| tj| _tj| _|d ur|| _|d ur$|| _d S d S r   )	r%   r  r    r   r   r  r   membersr   )r   r  group_idr  r   r  Zmember_countr  r)   r   r   r    
  s   
zGroupFullInfo.__init__r  r"   r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z)GroupFullInfo._process_custom_annotationsr	  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r   r&   r4   r   r   r)   r   r  
  s"    	
r  c                       V   e Zd ZdZddgZdZ		dddZejddd	Z	ejd
dd	Z
 fddZ  ZS )GroupMemberInfoz
    Profile of group member, and role in group.

    :ivar team.GroupMemberInfo.profile: Profile of group member.
    :ivar team.GroupMemberInfo.access_type: The role that the user has in the
        group.
    _profile_value_access_type_valueTNc                 C   r   r   )r   r   r  r  profileaccess_type)r   r  r  r   r   r   r      r   zGroupMemberInfo.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   &  r+   z+GroupMemberInfo._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r        	
r  c                       r  )GroupMemberSelectorz
    Argument for selecting a group and a single user.

    :ivar team.GroupMemberSelector.group: Specify a group.
    :ivar team.GroupMemberSelector.user: Identity of a user that is a member of
        ``group``.
    _group_value_user_valueTNc                 C   r   r   )r   r   r  r  groupuser)r   r  r  r   r   r   r    ;  r   zGroupMemberSelector.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   K  r+   z/GroupMemberSelector._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  +  r  r  c                       r  )GroupMemberSelectorErrora  
    Error that can be raised when :class:`GroupMemberSelector` is used, and the
    user is required to be a member of the specified group.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupMemberSelectorError.member_not_in_group: The specified user
        is not a member of this group.
    Nc                 C   rN   zZ
        Check if the union tag is ``member_not_in_group``.

        :rtype: bool
        member_not_in_grouprP   rQ   r   r   r   is_member_not_in_group`  rS   z/GroupMemberSelectorError.is_member_not_in_groupc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   h  r+   z4GroupMemberSelectorError._process_custom_annotationsr-   r.   r/   r0   r  r  r&   r4   r   r   r)   r   r  P  r  r  c                       r  )GroupMemberSetAccessTypeErrorai  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar
        team.GroupMemberSetAccessTypeError.user_cannot_be_manager_of_company_managed_group:
        A company managed group cannot be managed by a user.
    Nc                 C   rN   zv
        Check if the union tag is ``user_cannot_be_manager_of_company_managed_group``.

        :rtype: bool
        /user_cannot_be_manager_of_company_managed_grouprP   rQ   r   r   r   2is_user_cannot_be_manager_of_company_managed_group{  rS   zPGroupMemberSetAccessTypeError.is_user_cannot_be_manager_of_company_managed_groupc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z9GroupMemberSetAccessTypeError._process_custom_annotations)r-   r.   r/   r0   r  r  r&   r4   r   r   r)   r   r  m  s
    r  c                       ru   )IncludeMembersArga  
    :ivar team.IncludeMembersArg.return_members: Whether to return the list of
        members in the group.  Note that the default value will cause all the
        group members  to be returned in the response. This may take a long time
        for large groups.
    _return_members_valueFNc                 C   rx   r   )r   r   r  return_members)r   r  r   r   r   r      rz   zIncludeMembersArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z-IncludeMembersArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r    r   r  c                       X   e Zd ZdZddgZdZ			d fdd	Zejddd	Z	ed
Z
 fddZ  ZS )GroupMembersAddArgz
    :ivar team.GroupMembersAddArg.group: Group to which users will be added.
    :ivar team.GroupMembersAddArg.members: List of users to be added to the
        group.
    r  r  TNc                    D   t t| | tj| _tj| _|d ur|| _|d ur || _d S d S r   )	r%   r  r    r   r   r  r  r  r  )r   r  r  r  r)   r   r   r         
zGroupMembersAddArg.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z.GroupMembersAddArg._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r    s    
r  c                       s   e Zd ZdZdZdZdZedd Zedd Z	edd Z
d	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )GroupMembersAddErrora1  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupMembersAddError.duplicate_user: You cannot add duplicate
        users. One or more of the members you are trying to add is already a
        member of the group.
    :ivar team.GroupMembersAddError.group_not_in_team: Group is not in this
        team. You cannot add members to a group that is outside of your team.
    :ivar list of [str] team.GroupMembersAddError.members_not_in_team: These
        members are not part of your team. Currently, you cannot add members to
        a group if they are not part of your team, though this may change in a
        subsequent version. To add new members to your Dropbox Business team,
        use the :route:`members/add` endpoint.
    :ivar list of [str] team.GroupMembersAddError.users_not_found: These users
        were not found in Dropbox.
    :ivar team.GroupMembersAddError.user_must_be_active_to_be_owner: A suspended
        user cannot be added to a group as ``GroupAccessType.owner``.
    :ivar list of [str]
        team.GroupMembersAddError.user_cannot_be_manager_of_company_managed_group:
        A company-managed group cannot be managed by a user.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``members_not_in_team`` tag
        with value ``val``.

        :param list of [str] val:
        :rtype: GroupMembersAddError
        members_not_in_teamr   rB   r   r   r   r    rE   z(GroupMembersAddError.members_not_in_teamc                 C   r@   )z
        Create an instance of this class set to the ``users_not_found`` tag with
        value ``val``.

        :param list of [str] val:
        :rtype: GroupMembersAddError
        users_not_foundr   rB   r   r   r   r    rE   z$GroupMembersAddError.users_not_foundc                 C   r@   )z
        Create an instance of this class set to the
        ``user_cannot_be_manager_of_company_managed_group`` tag with value
        ``val``.

        :param list of [str] val:
        :rtype: GroupMembersAddError
        r  r   rB   r   r   r   r    s   

zDGroupMembersAddError.user_cannot_be_manager_of_company_managed_groupc                 C   rN   )zU
        Check if the union tag is ``duplicate_user``.

        :rtype: bool
        duplicate_userrP   rQ   r   r   r   is_duplicate_user  rS   z&GroupMembersAddError.is_duplicate_userc                 C   rN   zX
        Check if the union tag is ``group_not_in_team``.

        :rtype: bool
        group_not_in_teamrP   rQ   r   r   r   is_group_not_in_team  rS   z)GroupMembersAddError.is_group_not_in_teamc                 C   rN   zZ
        Check if the union tag is ``members_not_in_team``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_members_not_in_team  rS   z+GroupMembersAddError.is_members_not_in_teamc                 C   rN   zV
        Check if the union tag is ``users_not_found``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_users_not_found#  rS   z'GroupMembersAddError.is_users_not_foundc                 C   rN   )zf
        Check if the union tag is ``user_must_be_active_to_be_owner``.

        :rtype: bool
        user_must_be_active_to_be_ownerrP   rQ   r   r   r   "is_user_must_be_active_to_be_owner+  rS   z7GroupMembersAddError.is_user_must_be_active_to_be_ownerc                 C   rN   r  rP   rQ   r   r   r   r  3  rS   zGGroupMembersAddError.is_user_cannot_be_manager_of_company_managed_groupc                 C   ra   )a  
        These members are not part of your team. Currently, you cannot add
        members to a group if they are not part of your team, though this may
        change in a subsequent version. To add new members to your Dropbox
        Business team, use the
        :meth:`dropbox.dropbox_client.Dropbox.team_members_add` endpoint.

        Only call this if :meth:`is_members_not_in_team` is true.

        :rtype: list of [str]
        !tag 'members_not_in_team' not setr  rd   re   rQ   r   r   r   get_members_not_in_team;     z,GroupMembersAddError.get_members_not_in_teamc                 C   ra   z
        These users were not found in Dropbox.

        Only call this if :meth:`is_users_not_found` is true.

        :rtype: list of [str]
        ztag 'users_not_found' not setr  rd   re   rQ   r   r   r   get_users_not_foundK  rg   z(GroupMembersAddError.get_users_not_foundc                 C   ra   )z
        A company-managed group cannot be managed by a user.

        Only call this if :meth:`is_user_cannot_be_manager_of_company_managed_group` is true.

        :rtype: list of [str]
        z=tag 'user_cannot_be_manager_of_company_managed_group' not set)r  rd   re   rQ   r   r   r   3get_user_cannot_be_manager_of_company_managed_groupW  rg   zHGroupMembersAddError.get_user_cannot_be_manager_of_company_managed_groupc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   c  r+   z0GroupMembersAddError._process_custom_annotations)r-   r.   r/   r0   r  r  r  rt   r  r  r  r  r  r  r  r  r  r  r  r  r&   r4   r   r   r)   r   r    s*    




r  c                       R   e Zd ZdZddgZdZ		dddZejddd	Z	ed
Z
 fddZ  ZS )GroupMembersChangeResultax  
    Result returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_add` and
    :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_remove`.

    :ivar team.GroupMembersChangeResult.group_info: The group info after member
        change operation has been performed.
    :ivar team.GroupMembersChangeResult.async_job_id: For legacy purposes
        async_job_id will always return one space ' '. Formerly, it was an ID
        that was used to obtain the status of granting/revoking group-owned
        resources. It's no longer necessary because the async processing now
        happens automatically.
    _group_info_value_async_job_id_valueTNc                 C   r   r   )r   r   r  r  
group_infoasync_job_id)r   r  r  r   r   r   r    ~  r   z!GroupMembersChangeResult.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z4GroupMembersChangeResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  h  s    

r  c                       r  )GroupMembersRemoveArgz
    :ivar team.GroupMembersRemoveArg.group: Group from which users will be
        removed.
    :ivar team.GroupMembersRemoveArg.users: List of users to be removed from the
        group.
    r  r   TNc                    r  r   )	r%   r  r    r   r   r  r   r  r   )r   r  r   r  r)   r   r   r      r  zGroupMembersRemoveArg.__init__r  r   r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z1GroupMembersRemoveArg._process_custom_annotationsr&  r-   r.   r/   r0   r1   r2   r    r   r3   r  r   r&   r4   r   r   r)   r   r    s    
r  c                       r  )GroupMembersSelectorErrora  
    Error that can be raised when :class:`GroupMembersSelector` is used, and the
    users are required to be members of the specified group.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupMembersSelectorError.member_not_in_group: At least one of
        the specified users is not a member of the group.
    Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   z0GroupMembersSelectorError.is_member_not_in_groupc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z5GroupMembersSelectorError._process_custom_annotationsr  r   r   r)   r   r    r  r  c                       sd   e Zd ZdZdZedd Zedd Zdd Zd	d
 Z	dd Z
dd Zdd Z fddZ  ZS )GroupMembersRemoveErrora`  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupMembersRemoveError.group_not_in_team: Group is not in this
        team. You cannot remove members from a group that is outside of your
        team.
    :ivar list of [str] team.GroupMembersRemoveError.members_not_in_team: These
        members are not part of your team.
    :ivar list of [str] team.GroupMembersRemoveError.users_not_found: These
        users were not found in Dropbox.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``members_not_in_team`` tag
        with value ``val``.

        :param list of [str] val:
        :rtype: GroupMembersRemoveError
        r  r   rB   r   r   r   r    rE   z+GroupMembersRemoveError.members_not_in_teamc                 C   r@   )z
        Create an instance of this class set to the ``users_not_found`` tag with
        value ``val``.

        :param list of [str] val:
        :rtype: GroupMembersRemoveError
        r  r   rB   r   r   r   r    rE   z'GroupMembersRemoveError.users_not_foundc                 C   rN   r  rP   rQ   r   r   r   r    rS   z,GroupMembersRemoveError.is_group_not_in_teamc                 C   rN   r  rP   rQ   r   r   r   r    rS   z.GroupMembersRemoveError.is_members_not_in_teamc                 C   rN   r  rP   rQ   r   r   r   r    rS   z*GroupMembersRemoveError.is_users_not_foundc                 C   ra   )z
        These members are not part of your team.

        Only call this if :meth:`is_members_not_in_team` is true.

        :rtype: list of [str]
        r  r  rQ   r   r   r   r    rg   z/GroupMembersRemoveError.get_members_not_in_teamc                 C   ra   r  r  rQ   r   r   r   r  "  rg   z+GroupMembersRemoveError.get_users_not_foundc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   .  r+   z3GroupMembersRemoveError._process_custom_annotations)r-   r.   r/   r0   r  rt   r  r  r  r  r  r  r  r&   r4   r   r   r)   r   r    s    



r  c                       r  )GroupMembersSelectorz
    Argument for selecting a group and a list of users.

    :ivar team.GroupMembersSelector.group: Specify a group.
    :ivar team.GroupMembersSelector.users: A list of users that are members of
        ``group``.
    r  r   TNc                 C   r   r   )r   r   r  r   r  r   )r   r  r   r   r   r   r    C  r   zGroupMembersSelector.__init__r  r   r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   S  r+   z0GroupMembersSelector._process_custom_annotationsr   r  r   r   r)   r   r  3  r  r  c                       sZ   e Zd ZdZddgZdZ				d fdd	Zejddd	Z	ed
Z
 fddZ  ZS )GroupMembersSetAccessTypeArga  
    :ivar team.GroupMembersSetAccessTypeArg.access_type: New group access type
        the user will have.
    :ivar team.GroupMembersSetAccessTypeArg.return_members: Whether to return
        the list of members in the group.  Note that the default value will
        cause all the group members  to be returned in the response. This may
        take a long time for large groups.
    r  r  TNc                    sF   t t| || tj| _tj| _|d ur|| _|d ur!|| _d S d S r   )	r%   r  r    r   r   r  r  r  r  )r   r  r  r  r  r)   r   r   r    i  s   
z%GroupMembersSetAccessTypeArg.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   }  r+   z8GroupMembersSetAccessTypeArg._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  X  s    

r  c                       \   e Zd ZdZdZedd Zedd Zdd Zd	d
 Z	dd Z
dd Z fddZ  ZS )GroupSelectora  
    Argument for selecting a single group, either by group_id or by external
    group ID.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.GroupSelector.group_id: Group ID.
    :ivar str team.GroupSelector.group_external_id: External ID of the group.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``group_id`` tag with value
        ``val``.

        :param str val:
        :rtype: GroupSelector
        r  r   rB   r   r   r   r    rE   zGroupSelector.group_idc                 C   r@   )z
        Create an instance of this class set to the ``group_external_id`` tag
        with value ``val``.

        :param str val:
        :rtype: GroupSelector
        r  r   rB   r   r   r   r    rE   zGroupSelector.group_external_idc                 C   rN   )zO
        Check if the union tag is ``group_id``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_group_id  rS   zGroupSelector.is_group_idc                 C   rN   )zX
        Check if the union tag is ``group_external_id``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_group_external_id  rS   z"GroupSelector.is_group_external_idc                 C   ra   )zh
        Group ID.

        Only call this if :meth:`is_group_id` is true.

        :rtype: str
        ztag 'group_id' not set)r  rd   re   rQ   r   r   r   get_group_id  rg   zGroupSelector.get_group_idc                 C   ra   )z
        External ID of the group.

        Only call this if :meth:`is_group_external_id` is true.

        :rtype: str
        ztag 'group_external_id' not set)r  rd   re   rQ   r   r   r   get_group_external_id  rg   z#GroupSelector.get_group_external_idc                    r$   r   )r%   r   r&   r'   r)   r   r   r&     r+   z)GroupSelector._process_custom_annotations)r-   r.   r/   r0   rs   rt   r  r  r  r  r  r  r&   r4   r   r   r)   r   r     s    



r   c                       s~   e Zd ZdZg dZdZ					d fdd	ZejdddZ	ejd	dd
Z
ejddd
ZejddddZ fddZ  ZS )GroupUpdateArgsa  
    :ivar team.GroupUpdateArgs.group: Specify a group.
    :ivar team.GroupUpdateArgs.new_group_name: Optional argument. Set group name
        to this if provided.
    :ivar team.GroupUpdateArgs.new_group_external_id: Optional argument. New
        group external ID. If the argument is None, the group's external_id
        won't be updated. If the argument is empty string, the group's external
        id will be cleared.
    :ivar team.GroupUpdateArgs.new_group_management_type: Set new group
        management type, if provided.
    )r  _new_group_name_value_new_group_external_id_value _new_group_management_type_valueTNc                    sp   t t| | tj| _tj| _tj| _tj| _|d ur|| _	|d ur&|| _
|d ur-|| _|d ur6|| _d S d S r   )r%   r  r    r   r   r  r  r  r  r  new_group_namenew_group_external_idnew_group_management_type)r   r  r  r	  r
  r  r)   r   r   r      s   
zGroupUpdateArgs.__init__r  r   r	  r"   r
  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   
  r+   z+GroupUpdateArgs._process_custom_annotationsr,   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r	  r
  r  r&   r4   r   r   r)   r   r    s    r  c                       D   e Zd ZdZdZdZdZdd Zdd Zdd Z	 fd	d
Z
  ZS )GroupUpdateErrora9  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupUpdateError.group_name_already_used: The requested group
        name is already being used by another group.
    :ivar team.GroupUpdateError.group_name_invalid: Group name is empty or has
        invalid characters.
    :ivar team.GroupUpdateError.external_id_already_in_use: The requested
        external ID is already being used by another group.
    Nc                 C   rN   r  rP   rQ   r   r   r   r  $  rS   z+GroupUpdateError.is_group_name_already_usedc                 C   rN   r  rP   rQ   r   r   r   r  ,  rS   z&GroupUpdateError.is_group_name_invalidc                 C   rN   r  rP   rQ   r   r   r   r  4  rS   z.GroupUpdateError.is_external_id_already_in_usec                    r$   r   )r%   r  r&   r'   r)   r   r   r&   <  r+   z,GroupUpdateError._process_custom_annotations)r-   r.   r/   r0   r  r  r  r  r  r  r&   r4   r   r   r)   r   r        r  c                       r   )
GroupsGetInfoErrora"  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupsGetInfoError.group_not_on_team: The group is not on your
        team.
    r?   Nc                 C   rN   )zX
        Check if the union tag is ``group_not_on_team``.

        :rtype: bool
        group_not_on_teamrP   rQ   r   r   r   is_group_not_on_teamQ  rS   z'GroupsGetInfoError.is_group_not_on_teamc                 C   rN   r_   rP   rQ   r   r   r   r`   Y  rS   zGroupsGetInfoError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   a  r+   z.GroupsGetInfoError._process_custom_annotations)r-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  A      	r  c                       r  )GroupsGetInfoItema  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.GroupsGetInfoItem.id_not_found: An ID that was provided as a
        parameter to :route:`groups/get_info`, and did not match a corresponding
        group. The ID can be a group ID, or an external ID, depending on how the
        method was called.
    :ivar GroupFullInfo GroupsGetInfoItem.group_info: Info about a group.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``id_not_found`` tag with
        value ``val``.

        :param str val:
        :rtype: GroupsGetInfoItem
        id_not_foundr   rB   r   r   r   r  u  rE   zGroupsGetInfoItem.id_not_foundc                 C   r@   )z
        Create an instance of this class set to the ``group_info`` tag with
        value ``val``.

        :param GroupFullInfo val:
        :rtype: GroupsGetInfoItem
        r  r   rB   r   r   r   r    rE   zGroupsGetInfoItem.group_infoc                 C   rN   zS
        Check if the union tag is ``id_not_found``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_id_not_found  rS   z!GroupsGetInfoItem.is_id_not_foundc                 C   rN   )zQ
        Check if the union tag is ``group_info``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_group_info  rS   zGroupsGetInfoItem.is_group_infoc                 C   ra   )a_  
        An ID that was provided as a parameter to
        :meth:`dropbox.dropbox_client.Dropbox.team_groups_get_info`, and did not
        match a corresponding group. The ID can be a group ID, or an external
        ID, depending on how the method was called.

        Only call this if :meth:`is_id_not_found` is true.

        :rtype: str
        tag 'id_not_found' not setr  rd   re   rQ   r   r   r   get_id_not_found     z"GroupsGetInfoItem.get_id_not_foundc                 C   ra   )z~
        Info about a group.

        Only call this if :meth:`is_group_info` is true.

        :rtype: GroupFullInfo
        ztag 'group_info' not set)r  rd   re   rQ   r   r   r   get_group_info  rg   z GroupsGetInfoItem.get_group_infoc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z-GroupsGetInfoItem._process_custom_annotations)r-   r.   r/   r0   rs   rt   r  r  r  r  r  r  r&   r4   r   r   r)   r   r  f  s    



r  c                       ru   )GroupsListArgzO
    :ivar team.GroupsListArg.limit: Number of results to return per call.
    r  FNc                 C   rx   r   r  r  r   r   r   r      rz   zGroupsListArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z)GroupsListArg._process_custom_annotationsr   r  r   r   r)   r   r    r   r  c                       ru   )GroupsListContinueArgzs
    :ivar team.GroupsListContinueArg.cursor: Indicates from what point to get
        the next set of groups.
    r  TNc                 C   rx   r   r  r  r   r   r   r      rz   zGroupsListContinueArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z1GroupsListContinueArg._process_custom_annotationsr   r  r   r   r)   r   r    r{   r  c                       r   )
GroupsListContinueErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupsListContinueError.invalid_cursor: The cursor is invalid.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   z)GroupsListContinueError.is_invalid_cursorc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z GroupsListContinueError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z3GroupsListContinueError._process_custom_annotationsr  r   r   r)   r   r        r  c                       Z   e Zd ZdZg dZdZ			dddZedZ	edZ
ed	Z fd
dZ  ZS )GroupsListResulta  
    :ivar team.GroupsListResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_groups_list_continue` to
        obtain the additional groups.
    :ivar team.GroupsListResult.has_more: Is true if there are additional groups
        that have not been returned yet. An additional call to
        :meth:`dropbox.dropbox_client.Dropbox.team_groups_list_continue` can
        retrieve them.
    )_groups_valuer  r"  TNc                 C   J   t j| _t j| _t j| _|d ur|| _|d ur|| _|d ur#|| _d S d S r   )r   r   r#  r  r"  groupsr  r$  )r   r%  r  r$  r   r   r   r    %  r%  zGroupsListResult.__init__r%  r  r$  c                    r$   r   )r%   r"  r&   r'   r)   r   r   r&   <  r+   z,GroupsListResult._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r%  r  r$  r&   r4   r   r   r)   r   r"        




r"  c                       r  )GroupsMembersListArgz
    :ivar team.GroupsMembersListArg.group: The group whose members are to be
        listed.
    :ivar team.GroupsMembersListArg.limit: Number of results to return per call.
    r  r  TNc                 C   r   r   )r   r   r  r  r  r  )r   r  r  r   r   r   r    O  r   zGroupsMembersListArg.__init__r  r   r  c                    r$   r   )r%   r'  r&   r'   r)   r   r   r&   _  r+   z0GroupsMembersListArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r'  A  s    

r'  c                       ru   )GroupsMembersListContinueArgzz
    :ivar team.GroupsMembersListContinueArg.cursor: Indicates from what point to
        get the next set of groups.
    r  TNc                 C   rx   r   r  r  r   r   r   r    p  rz   z%GroupsMembersListContinueArg.__init__r  c                    r$   r   )r%   r(  r&   r'   r)   r   r   r&   y  r+   z8GroupsMembersListContinueArg._process_custom_annotationsr   r  r   r   r)   r   r(  d  r{   r(  c                       r   )
GroupsMembersListContinueErrora#  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupsMembersListContinueError.invalid_cursor: The cursor is
        invalid.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   z0GroupsMembersListContinueError.is_invalid_cursorc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z'GroupsMembersListContinueError.is_otherc                    r$   r   )r%   r)  r&   r'   r)   r   r   r&     r+   z:GroupsMembersListContinueError._process_custom_annotationsr  r   r   r)   r   r)  ~  r  r)  c                       r!  )GroupsMembersListResulta  
    :ivar team.GroupsMembersListResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_list_continue`
        to obtain additional group members.
    :ivar team.GroupsMembersListResult.has_more: Is true if there are additional
        group members that have not been returned yet. An additional call to
        :meth:`dropbox.dropbox_client.Dropbox.team_groups_members_list_continue`
        can retrieve them.
    r  r  r"  TNc                 C   r$  r   r   r   r  r  r"  r  r  r$  r   r  r  r$  r   r   r   r      r%  z GroupsMembersListResult.__init__r  r  r$  c                    r$   r   )r%   r*  r&   r'   r)   r   r   r&     r+   z3GroupsMembersListResult._process_custom_annotationsr&  r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r$  r&   r4   r   r   r)   r   r*    r&  r*  c                       r  )GroupsPollErrora"  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.GroupsPollError.access_denied: You are not allowed to poll this
        job.
    Nc                 C   rN   )zT
        Check if the union tag is ``access_denied``.

        :rtype: bool
        access_deniedrP   rQ   r   r   r   is_access_denied  rS   z GroupsPollError.is_access_deniedc                    r$   r   )r%   r/  r&   r'   r)   r   r   r&     r+   z+GroupsPollError._process_custom_annotations)r-   r.   r/   r0   r0  r1  r&   r4   r   r   r)   r   r/    r  r/  c                       r  )GroupsSelectora  
    Argument for selecting a list of groups, either by group_ids, or external
    group IDs.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar list of [str] team.GroupsSelector.group_ids: List of group IDs.
    :ivar list of [str] team.GroupsSelector.group_external_ids: List of external
        IDs of groups.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``group_ids`` tag with value
        ``val``.

        :param list of [str] val:
        :rtype: GroupsSelector
        	group_idsr   rB   r   r   r   r3    rE   zGroupsSelector.group_idsc                 C   r@   )z
        Create an instance of this class set to the ``group_external_ids`` tag
        with value ``val``.

        :param list of [str] val:
        :rtype: GroupsSelector
        group_external_idsr   rB   r   r   r   r4    rE   z!GroupsSelector.group_external_idsc                 C   rN   )zP
        Check if the union tag is ``group_ids``.

        :rtype: bool
        r3  rP   rQ   r   r   r   is_group_ids  rS   zGroupsSelector.is_group_idsc                 C   rN   )zY
        Check if the union tag is ``group_external_ids``.

        :rtype: bool
        r4  rP   rQ   r   r   r   is_group_external_ids  rS   z$GroupsSelector.is_group_external_idsc                 C   ra   )z|
        List of group IDs.

        Only call this if :meth:`is_group_ids` is true.

        :rtype: list of [str]
        ztag 'group_ids' not set)r5  rd   re   rQ   r   r   r   get_group_ids"  rg   zGroupsSelector.get_group_idsc                 C   ra   )z
        List of external IDs of groups.

        Only call this if :meth:`is_group_external_ids` is true.

        :rtype: list of [str]
        z tag 'group_external_ids' not set)r6  rd   re   rQ   r   r   r   get_group_external_ids.  rg   z%GroupsSelector.get_group_external_idsc                    r$   r   )r%   r2  r&   r'   r)   r   r   r&   :  r+   z*GroupsSelector._process_custom_annotations)r-   r.   r/   r0   rs   rt   r3  r4  r5  r6  r7  r8  r&   r4   r   r   r)   r   r2    s    



r2  c                       L   e Zd ZdZdZdZedd Zdd Zdd	 Z	d
d Z
 fddZ  ZS )HasTeamFileEventsValueaX  
    The value for ``Feature.has_team_file_events``.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar bool team.HasTeamFileEventsValue.enabled: Does this team have file
        events.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``enabled`` tag with value
        ``val``.

        :param bool val:
        :rtype: HasTeamFileEventsValue
        enabledr   rB   r   r   r   r;  O  rE   zHasTeamFileEventsValue.enabledc                 C   rN   )zN
        Check if the union tag is ``enabled``.

        :rtype: bool
        r;  rP   rQ   r   r   r   
is_enabledZ  rS   z!HasTeamFileEventsValue.is_enabledc                 C   rN   r_   rP   rQ   r   r   r   r`   b  rS   zHasTeamFileEventsValue.is_otherc                 C   ra   )z
        Does this team have file events.

        Only call this if :meth:`is_enabled` is true.

        :rtype: bool
        ztag 'enabled' not set)r<  rd   re   rQ   r   r   r   get_enabledj  rg   z"HasTeamFileEventsValue.get_enabledc                    r$   r   )r%   r:  r&   r'   r)   r   r   r&   v  r+   z2HasTeamFileEventsValue._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   r;  r<  r`   r=  r&   r4   r   r   r)   r   r:  ?      

r:  c                       r9  )HasTeamSelectiveSyncValuea~  
    The value for ``Feature.has_team_selective_sync``.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar bool team.HasTeamSelectiveSyncValue.has_team_selective_sync: Does this
        team have team selective sync enabled.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``has_team_selective_sync``
        tag with value ``val``.

        :param bool val:
        :rtype: HasTeamSelectiveSyncValue
        r?  r   rB   r   r   r   r?    rE   z1HasTeamSelectiveSyncValue.has_team_selective_syncc                 C   rN   r>  rP   rQ   r   r   r   r@    rS   z4HasTeamSelectiveSyncValue.is_has_team_selective_syncc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z"HasTeamSelectiveSyncValue.is_otherc                 C   ra   )z
        Does this team have team selective sync enabled.

        Only call this if :meth:`is_has_team_selective_sync` is true.

        :rtype: bool
        rH  rI  rQ   r   r   r   rJ    rg   z5HasTeamSelectiveSyncValue.get_has_team_selective_syncc                    r$   r   )r%   r?  r&   r'   r)   r   r   r&     r+   z5HasTeamSelectiveSyncValue._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   r?  r@  r`   rJ  r&   r4   r   r   r)   r   r?  {  r>  r?  c                       r9  )HasTeamSharedDropboxValueau  
    The value for ``Feature.has_team_shared_dropbox``.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar bool team.HasTeamSharedDropboxValue.has_team_shared_dropbox: Does this
        team have a shared team root.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``has_team_shared_dropbox``
        tag with value ``val``.

        :param bool val:
        :rtype: HasTeamSharedDropboxValue
        r9  r   rB   r   r   r   r9    rE   z1HasTeamSharedDropboxValue.has_team_shared_dropboxc                 C   rN   r8  rP   rQ   r   r   r   r:    rS   z4HasTeamSharedDropboxValue.is_has_team_shared_dropboxc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z"HasTeamSharedDropboxValue.is_otherc                 C   ra   )z
        Does this team have a shared team root.

        Only call this if :meth:`is_has_team_shared_dropbox` is true.

        :rtype: bool
        rD  rE  rQ   r   r   r   rF    rg   z5HasTeamSharedDropboxValue.get_has_team_shared_dropboxc                    r$   r   )r%   r@  r&   r'   r)   r   r   r&     r+   z5HasTeamSharedDropboxValue._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   r9  r:  r`   rF  r&   r4   r   r   r)   r   r@    r>  r@  c                       s   e Zd ZdZg dZdZ										dddZedZ	edZ
ed	Zed
ZedZejdddZedZedZedZedZ fddZ  ZS )LegalHoldHeldRevisionMetadataa  
    :ivar team.LegalHoldHeldRevisionMetadata.new_filename: The held revision
        filename.
    :ivar team.LegalHoldHeldRevisionMetadata.original_revision_id: The id of the
        held revision.
    :ivar team.LegalHoldHeldRevisionMetadata.original_file_path: The original
        path of the held revision.
    :ivar team.LegalHoldHeldRevisionMetadata.server_modified: The last time the
        file was modified on Dropbox.
    :ivar team.LegalHoldHeldRevisionMetadata.author_member_id: The member id of
        the revision's author.
    :ivar team.LegalHoldHeldRevisionMetadata.author_member_status: The member
        status of the revision's author.
    :ivar team.LegalHoldHeldRevisionMetadata.author_email: The email address of
        the held revision author.
    :ivar team.LegalHoldHeldRevisionMetadata.file_type: The type of the held
        revision's file.
    :ivar team.LegalHoldHeldRevisionMetadata.size: The file size in bytes.
    :ivar team.LegalHoldHeldRevisionMetadata.content_hash: A hash of the file
        content. This field can be used to verify data integrity. For more
        information see our `Content hash
        <https://www.dropbox.com/developers/reference/content-hash>`_ page.
    )
_new_filename_value_original_revision_id_value_original_file_path_value_server_modified_value_author_member_id_value_author_member_status_value_author_email_value_file_type_value_size_value_content_hash_valueTNc                 C   s   t j| _t j| _t j| _t j| _t j| _t j| _t j| _t j| _	t j| _
t j| _|d ur/|| _|d ur6|| _|d ur=|| _|d urD|| _|d urK|| _|d urR|| _|d urY|| _|d ur`|| _|	d urg|	| _|
d urp|
| _d S d S r   )r   r   rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  new_filenameoriginal_revision_idoriginal_file_pathserver_modifiedauthor_member_idauthor_member_statusauthor_email	file_typesizecontent_hash)r   rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  r   r   r   r      s>   
z&LegalHoldHeldRevisionMetadata.__init__rL  rM  rN  rO  rP  rQ  r   rR  rS  rT  rU  c                    r$   r   )r%   rA  r&   r'   r)   r   r   r&   c  r+   z9LegalHoldHeldRevisionMetadata._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  r&   r4   r   r   r)   r   rA    s4    

+







rA  c                       s   e Zd ZdZg dZdZ								dddZedZ	edZ
ejd	dd
Zejddd
ZejdddZejdddZedZejddd
Z fddZ  ZS )LegalHoldPolicya  
    :ivar team.LegalHoldPolicy.id: The legal hold id.
    :ivar team.LegalHoldPolicy.name: Policy name.
    :ivar team.LegalHoldPolicy.description: A description of the legal hold
        policy.
    :ivar team.LegalHoldPolicy.activation_time: The time at which the legal hold
        was activated.
    :ivar team.LegalHoldPolicy.members: Team members IDs and number of
        permanently deleted members under hold.
    :ivar team.LegalHoldPolicy.status: The current state of the hold.
    :ivar team.LegalHoldPolicy.start_date: Start date of the legal hold policy.
    :ivar team.LegalHoldPolicy.end_date: End date of the legal hold policy.
    )	_id_value_name_value_description_value_activation_time_valuer  r0  r   r   TNc	           	      C   s   t j| _t j| _t j| _t j| _t j| _t j| _t j| _t j| _	|d ur'|| _
|d ur.|| _|d ur5|| _|d ur<|| _|d urC|| _|d urJ|| _|d urQ|| _|d urZ|| _d S d S r   )r   r   rW  rX  rY  rZ  r  r0  r   r   idnamedescriptionactivation_timer  r1  r   r   )	r   r[  r\  r  r1  r   r]  r^  r   r   r   r   r      s2   	
zLegalHoldPolicy.__init__r[  r\  r]  r"   r^  r  r   r1  r   r   c                    r$   r   )r%   rV  r&   r'   r)   r   r   r&     r+   z+LegalHoldPolicy._process_custom_annotationsNNNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r[  r\  r]  r^  r  r1  r   r   r&   r4   r   r   r)   r   rV  h  s,    

#

rV  c                       sx   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Z fddZ  ZS )LegalHoldStatusa  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldStatus.active: The legal hold policy is active.
    :ivar team.LegalHoldStatus.released: The legal hold policy was released.
    :ivar team.LegalHoldStatus.activating: The legal hold policy is activating.
    :ivar team.LegalHoldStatus.updating: The legal hold policy is updating.
    :ivar team.LegalHoldStatus.exporting: The legal hold policy is exporting.
    :ivar team.LegalHoldStatus.releasing: The legal hold policy is releasing.
    r?   Nc                 C   rN   zM
        Check if the union tag is ``active``.

        :rtype: bool
        activerP   rQ   r   r   r   	is_active  rS   zLegalHoldStatus.is_activec                 C   rN   )zO
        Check if the union tag is ``released``.

        :rtype: bool
        releasedrP   rQ   r   r   r   is_released  rS   zLegalHoldStatus.is_releasedc                 C   rN   )zQ
        Check if the union tag is ``activating``.

        :rtype: bool
        
activatingrP   rQ   r   r   r   is_activating  rS   zLegalHoldStatus.is_activatingc                 C   rN   )zO
        Check if the union tag is ``updating``.

        :rtype: bool
        updatingrP   rQ   r   r   r   is_updating  rS   zLegalHoldStatus.is_updatingc                 C   rN   )zP
        Check if the union tag is ``exporting``.

        :rtype: bool
        	exportingrP   rQ   r   r   r   is_exporting  rS   zLegalHoldStatus.is_exportingc                 C   rN   )zP
        Check if the union tag is ``releasing``.

        :rtype: bool
        	releasingrP   rQ   r   r   r   is_releasing	  rS   zLegalHoldStatus.is_releasingc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zLegalHoldStatus.is_otherc                    r$   r   )r%   r`  r&   r'   r)   r   r   r&     r+   z+LegalHoldStatus._process_custom_annotations)r-   r.   r/   r0   rs   rb  rd  rf  rh  rj  rl  r?   rc  re  rg  ri  rk  rm  r`   r&   r4   r   r   r)   r   r`    s$    r`  c                       r|   )LegalHoldsErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldsError.unknown_legal_hold_error: There has been an
        unknown legal hold error.
    :ivar team.LegalHoldsError.insufficient_permissions: You don't have
        permissions to perform this action.
    r?   Nc                 C   rN   z_
        Check if the union tag is ``unknown_legal_hold_error``.

        :rtype: bool
        unknown_legal_hold_errorrP   rQ   r   r   r   is_unknown_legal_hold_error2  rS   z+LegalHoldsError.is_unknown_legal_hold_errorc                 C   rN   )z_
        Check if the union tag is ``insufficient_permissions``.

        :rtype: bool
        insufficient_permissionsrP   rQ   r   r   r   is_insufficient_permissions:  rS   z+LegalHoldsError.is_insufficient_permissionsc                 C   rN   r_   rP   rQ   r   r   r   r`   B  rS   zLegalHoldsError.is_otherc                    r$   r   )r%   rn  r&   r'   r)   r   r   r&   J  r+   z+LegalHoldsError._process_custom_annotations)r-   r.   r/   r0   rs   rp  rr  r?   rq  rs  r`   r&   r4   r   r   r)   r   rn        rn  c                       ru   )LegalHoldsGetPolicyArgzB
    :ivar team.LegalHoldsGetPolicyArg.id: The legal hold Id.
    rW  TNc                 C   rx   r   r   r   rW  r[  r   r[  r   r   r   r    Z  rz   zLegalHoldsGetPolicyArg.__init__r[  c                    r$   r   )r%   ru  r&   r'   r)   r   r   r&   c  r+   z2LegalHoldsGetPolicyArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r[  r&   r4   r   r   r)   r   ru  O  r   ru  c                       r  )LegalHoldsGetPolicyErroraW  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldsGetPolicyError.legal_hold_policy_not_found: Legal hold
        policy does not exist for ``LegalHoldsGetPolicyArg.id``.
    Nc                 C   rN   zb
        Check if the union tag is ``legal_hold_policy_not_found``.

        :rtype: bool
        legal_hold_policy_not_foundrP   rQ   r   r   r   is_legal_hold_policy_not_foundu  rS   z7LegalHoldsGetPolicyError.is_legal_hold_policy_not_foundc                    r$   r   )r%   ry  r&   r'   r)   r   r   r&   }  r+   z4LegalHoldsGetPolicyError._process_custom_annotations)r-   r.   r/   r0   r{  r|  r&   r4   r   r   r)   r   ry  h  r  ry  c                       r   ) LegalHoldsListHeldRevisionResultay  
    :ivar team.LegalHoldsListHeldRevisionResult.entries: List of file entries
        that under the hold.
    :ivar team.LegalHoldsListHeldRevisionResult.cursor: The cursor idicates
        where to continue reading file metadata entries for the next API call.
        When there are no more entries, the cursor will return none. Pass the
        cursor into /2/team/legal_holds/list_held_revisions/continue.
    :ivar team.LegalHoldsListHeldRevisionResult.has_more: True if there are more
        file entries that haven't been returned. You can retrieve them with a
        call to /legal_holds/list_held_revisions_continue.
    )_entries_valuer  r"  TNc                 C   r#  r   )r   r   r~  r  r"  entriesr  r$  )r   r  r$  r  r   r   r   r      r%  z)LegalHoldsListHeldRevisionResult.__init__r  r  r"   r$  c                    r$   r   )r%   r}  r&   r'   r)   r   r   r&     r+   z<LegalHoldsListHeldRevisionResult._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r$  r&   r4   r   r   r)   r   r}    r'  r}  c                       ru   )LegalHoldsListHeldRevisionsArgzJ
    :ivar team.LegalHoldsListHeldRevisionsArg.id: The legal hold Id.
    rW  TNc                 C   rx   r   rv  rw  r   r   r   r      rz   z'LegalHoldsListHeldRevisionsArg.__init__r[  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z:LegalHoldsListHeldRevisionsArg._process_custom_annotationsr   rx  r   r   r)   r   r    r   r  c                       R   e Zd ZdZddgZdZ		dddZedZ	ejd	dd
Z
 fddZ  ZS )&LegalHoldsListHeldRevisionsContinueArga8  
    :ivar team.LegalHoldsListHeldRevisionsContinueArg.id: The legal hold Id.
    :ivar team.LegalHoldsListHeldRevisionsContinueArg.cursor: The cursor
        idicates where to continue reading file metadata entries for the next
        API call. When there are no more entries, the cursor will return none.
    rW  r  TNc                 C   r   r   )r   r   rW  r  r[  r  )r   r[  r  r   r   r   r      r   z/LegalHoldsListHeldRevisionsContinueArg.__init__r[  r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   zBLegalHoldsListHeldRevisionsContinueArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r[  r  r&   r4   r   r   r)   r   r        

r  c                       r   )(LegalHoldsListHeldRevisionsContinueErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar
        team.LegalHoldsListHeldRevisionsContinueError.unknown_legal_hold_error:
        There has been an unknown legal hold error.
    :ivar team.LegalHoldsListHeldRevisionsContinueError.transient_error:
        Temporary infrastructure failure, please retry.
    :ivar team.LegalHoldsListHeldRevisionsContinueError.reset: Indicates that
        the cursor has been invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.team_legal_holds_list_held_revisions_continue`
        again with an empty cursor to obtain a new cursor.
    r?   Nc                 C   rN   ro  rP   rQ   r   r   r   rq    rS   zDLegalHoldsListHeldRevisionsContinueError.is_unknown_legal_hold_errorc                 C   rN   rX   rP   rQ   r   r   r   rY     rS   z;LegalHoldsListHeldRevisionsContinueError.is_transient_errorc                 C   rN   zL
        Check if the union tag is ``reset``.

        :rtype: bool
        resetrP   rQ   r   r   r   is_reset  rS   z1LegalHoldsListHeldRevisionsContinueError.is_resetc                 C   rN   r_   rP   rQ   r   r   r   r`   #  rS   z1LegalHoldsListHeldRevisionsContinueError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   +  r+   zDLegalHoldsListHeldRevisionsContinueError._process_custom_annotations)r-   r.   r/   r0   rs   rp  rJ   r  r?   rq  rY   r  r`   r&   r4   r   r   r)   r   r    s    r  c                       r  ) LegalHoldsListHeldRevisionsErroraB  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldsListHeldRevisionsError.transient_error: Temporary
        infrastructure failure, please retry.
    :ivar team.LegalHoldsListHeldRevisionsError.legal_hold_still_empty: The
        legal hold is not holding any revisions yet.
    :ivar team.LegalHoldsListHeldRevisionsError.inactive_legal_hold: Trying to
        list revisions for an inactive legal hold.
    Nc                 C   rN   rX   rP   rQ   r   r   r   rY   E  rS   z3LegalHoldsListHeldRevisionsError.is_transient_errorc                 C   rN   )z]
        Check if the union tag is ``legal_hold_still_empty``.

        :rtype: bool
        legal_hold_still_emptyrP   rQ   r   r   r   is_legal_hold_still_emptyM  rS   z:LegalHoldsListHeldRevisionsError.is_legal_hold_still_emptyc                 C   rN   zZ
        Check if the union tag is ``inactive_legal_hold``.

        :rtype: bool
        inactive_legal_holdrP   rQ   r   r   r   is_inactive_legal_holdU  rS   z7LegalHoldsListHeldRevisionsError.is_inactive_legal_holdc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ]  r+   z<LegalHoldsListHeldRevisionsError._process_custom_annotations)r-   r.   r/   r0   rJ   r  r  rY   r  r  r&   r4   r   r   r)   r   r  0  r  r  c                       ru   )LegalHoldsListPoliciesArgzt
    :ivar team.LegalHoldsListPoliciesArg.include_released: Whether to return
        holds that were released.
    _include_released_valueFNc                 C   rx   r   )r   r   r  include_released)r   r  r   r   r   r    n  rz   z"LegalHoldsListPoliciesArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   w  r+   z5LegalHoldsListPoliciesArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  b  r{   r  c                       r  )LegalHoldsListPoliciesErrora:  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldsListPoliciesError.transient_error: Temporary
        infrastructure failure, please retry.
    Nc                 C   rN   rX   rP   rQ   r   r   r   rY     rS   z.LegalHoldsListPoliciesError.is_transient_errorc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z7LegalHoldsListPoliciesError._process_custom_annotations)r-   r.   r/   r0   rJ   rY   r&   r4   r   r   r)   r   r  |  r  r  c                       r   )
LegalHoldsListPoliciesResult_policies_valueTNc                 C   rx   r   )r   r   r  policies)r   r  r   r   r   r      rz   z%LegalHoldsListPoliciesResult.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z8LegalHoldsListPoliciesResult._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r    r   r  c                       s~   e Zd ZdZg dZdZ					dddZedZ	ejddd	Z
ed
Zejddd	Zejddd	Z fddZ  ZS )LegalHoldsPolicyCreateArga  
    :ivar team.LegalHoldsPolicyCreateArg.name: Policy name.
    :ivar team.LegalHoldsPolicyCreateArg.description: A description of the legal
        hold policy.
    :ivar team.LegalHoldsPolicyCreateArg.members: List of team member IDs added
        to the hold.
    :ivar team.LegalHoldsPolicyCreateArg.start_date: start date of the legal
        hold policy.
    :ivar team.LegalHoldsPolicyCreateArg.end_date: end date of the legal hold
        policy.
    )rX  rY  r  r   r   TNc                 C   sv   t j| _t j| _t j| _t j| _t j| _|d ur|| _|d ur"|| _|d ur)|| _	|d ur0|| _
|d ur9|| _d S d S r   )r   r   rX  rY  r  r   r   r\  r]  r  r   r   )r   r\  r  r]  r   r   r   r   r   r      r!   z"LegalHoldsPolicyCreateArg.__init__r\  r]  r"   r  r   r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z5LegalHoldsPolicyCreateArg._process_custom_annotationsr,   )r-   r.   r/   r0   r1   r2   r    r   r3   r\  r]  r  r   r   r&   r4   r   r   r)   r   r    s     


r  c                          e Zd ZdZdZdZdZdZdZdZ	dZ
dZdd Zdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Z fddZ  ZS )LegalHoldsPolicyCreateErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldsPolicyCreateError.start_date_is_later_than_end_date:
        Start date must be earlier than end date.
    :ivar team.LegalHoldsPolicyCreateError.empty_members_list: The users list
        must have at least one user.
    :ivar team.LegalHoldsPolicyCreateError.invalid_members: Some members in the
        members list are not valid to be placed under legal hold.
    :ivar
        team.LegalHoldsPolicyCreateError.number_of_users_on_hold_is_greater_than_hold_limitation:
        You cannot add more than 5 users in a legal hold.
    :ivar team.LegalHoldsPolicyCreateError.transient_error: Temporary
        infrastructure failure, please retry.
    :ivar team.LegalHoldsPolicyCreateError.name_must_be_unique: The name
        provided is already in use by another legal hold.
    :ivar team.LegalHoldsPolicyCreateError.team_exceeded_legal_hold_quota: Team
        exceeded legal hold quota.
    :ivar team.LegalHoldsPolicyCreateError.invalid_date: The provided date is
        invalid.
    Nc                 C   rN   )zh
        Check if the union tag is ``start_date_is_later_than_end_date``.

        :rtype: bool
        !start_date_is_later_than_end_daterP   rQ   r   r   r   $is_start_date_is_later_than_end_date  rS   z@LegalHoldsPolicyCreateError.is_start_date_is_later_than_end_datec                 C   rN   zY
        Check if the union tag is ``empty_members_list``.

        :rtype: bool
        empty_members_listrP   rQ   r   r   r   is_empty_members_list  rS   z1LegalHoldsPolicyCreateError.is_empty_members_listc                 C   rN   zV
        Check if the union tag is ``invalid_members``.

        :rtype: bool
        invalid_membersrP   rQ   r   r   r   is_invalid_members'  rS   z.LegalHoldsPolicyCreateError.is_invalid_membersc                 C   rN   z~
        Check if the union tag is ``number_of_users_on_hold_is_greater_than_hold_limitation``.

        :rtype: bool
        7number_of_users_on_hold_is_greater_than_hold_limitationrP   rQ   r   r   r   :is_number_of_users_on_hold_is_greater_than_hold_limitation/  rS   zVLegalHoldsPolicyCreateError.is_number_of_users_on_hold_is_greater_than_hold_limitationc                 C   rN   rX   rP   rQ   r   r   r   rY   7  rS   z.LegalHoldsPolicyCreateError.is_transient_errorc                 C   rN   zZ
        Check if the union tag is ``name_must_be_unique``.

        :rtype: bool
        name_must_be_uniquerP   rQ   r   r   r   is_name_must_be_unique?  rS   z2LegalHoldsPolicyCreateError.is_name_must_be_uniquec                 C   rN   )ze
        Check if the union tag is ``team_exceeded_legal_hold_quota``.

        :rtype: bool
        team_exceeded_legal_hold_quotarP   rQ   r   r   r   !is_team_exceeded_legal_hold_quotaG  rS   z=LegalHoldsPolicyCreateError.is_team_exceeded_legal_hold_quotac                 C   rN   )zS
        Check if the union tag is ``invalid_date``.

        :rtype: bool
        invalid_daterP   rQ   r   r   r   is_invalid_dateO  rS   z+LegalHoldsPolicyCreateError.is_invalid_datec                    r$   r   )r%   r  r&   r'   r)   r   r   r&   W  r+   z7LegalHoldsPolicyCreateError._process_custom_annotations)r-   r.   r/   r0   r  r  r  r  rJ   r  r  r  r  r  r  r  rY   r  r  r  r&   r4   r   r   r)   r   r    s&    r  c                       ru   )LegalHoldsPolicyReleaseArgzF
    :ivar team.LegalHoldsPolicyReleaseArg.id: The legal hold Id.
    rW  TNc                 C   rx   r   rv  rw  r   r   r   r    g  rz   z#LegalHoldsPolicyReleaseArg.__init__r[  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   p  r+   z6LegalHoldsPolicyReleaseArg._process_custom_annotationsr   rx  r   r   r)   r   r  \  r   r  c                       r  )LegalHoldsPolicyReleaseErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar
        team.LegalHoldsPolicyReleaseError.legal_hold_performing_another_operation:
        Legal hold is currently performing another operation.
    :ivar team.LegalHoldsPolicyReleaseError.legal_hold_already_releasing: Legal
        hold is currently performing a release or is already released.
    :ivar team.LegalHoldsPolicyReleaseError.legal_hold_policy_not_found: Legal
        hold policy does not exist for ``LegalHoldsPolicyReleaseArg.id``.
    Nc                 C   rN   zn
        Check if the union tag is ``legal_hold_performing_another_operation``.

        :rtype: bool
        'legal_hold_performing_another_operationrP   rQ   r   r   r   *is_legal_hold_performing_another_operation  rS   zGLegalHoldsPolicyReleaseError.is_legal_hold_performing_another_operationc                 C   rN   )zc
        Check if the union tag is ``legal_hold_already_releasing``.

        :rtype: bool
        legal_hold_already_releasingrP   rQ   r   r   r   is_legal_hold_already_releasing  rS   z<LegalHoldsPolicyReleaseError.is_legal_hold_already_releasingc                 C   rN   rz  rP   rQ   r   r   r   r|    rS   z;LegalHoldsPolicyReleaseError.is_legal_hold_policy_not_foundc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z8LegalHoldsPolicyReleaseError._process_custom_annotations)r-   r.   r/   r0   r  r  r{  r  r  r|  r&   r4   r   r   r)   r   r  u  s    r  c                       r   e Zd ZdZg dZdZ				dddZedZ	ejddd	Z
ejd
dd	Zejddd	Z fddZ  ZS )LegalHoldsPolicyUpdateArga=  
    :ivar team.LegalHoldsPolicyUpdateArg.id: The legal hold Id.
    :ivar team.LegalHoldsPolicyUpdateArg.name: Policy new name.
    :ivar team.LegalHoldsPolicyUpdateArg.description: Policy new description.
    :ivar team.LegalHoldsPolicyUpdateArg.members: List of team member IDs to
        apply the policy on.
    )rW  rX  rY  r  TNc                 C   r  r   )
r   r   rW  rX  rY  r  r[  r\  r]  r  )r   r[  r\  r]  r  r   r   r   r      r  z"LegalHoldsPolicyUpdateArg.__init__r[  r\  r"   r]  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z5LegalHoldsPolicyUpdateArg._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r[  r\  r]  r  r&   r4   r   r   r)   r   r    s    

r  c                       r  )LegalHoldsPolicyUpdateErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.LegalHoldsPolicyUpdateError.transient_error: Temporary
        infrastructure failure, please retry.
    :ivar team.LegalHoldsPolicyUpdateError.inactive_legal_hold: Trying to
        release an inactive legal hold.
    :ivar
        team.LegalHoldsPolicyUpdateError.legal_hold_performing_another_operation:
        Legal hold is currently performing another operation.
    :ivar team.LegalHoldsPolicyUpdateError.invalid_members: Some members in the
        members list are not valid to be placed under legal hold.
    :ivar
        team.LegalHoldsPolicyUpdateError.number_of_users_on_hold_is_greater_than_hold_limitation:
        You cannot add more than 5 users in a legal hold.
    :ivar team.LegalHoldsPolicyUpdateError.empty_members_list: The users list
        must have at least one user.
    :ivar team.LegalHoldsPolicyUpdateError.name_must_be_unique: The name
        provided is already in use by another legal hold.
    :ivar team.LegalHoldsPolicyUpdateError.legal_hold_policy_not_found: Legal
        hold policy does not exist for ``LegalHoldsPolicyUpdateArg.id``.
    Nc                 C   rN   rX   rP   rQ   r   r   r   rY     rS   z.LegalHoldsPolicyUpdateError.is_transient_errorc                 C   rN   r  rP   rQ   r   r   r   r    rS   z2LegalHoldsPolicyUpdateError.is_inactive_legal_holdc                 C   rN   r  rP   rQ   r   r   r   r    rS   zFLegalHoldsPolicyUpdateError.is_legal_hold_performing_another_operationc                 C   rN   r  rP   rQ   r   r   r   r     rS   z.LegalHoldsPolicyUpdateError.is_invalid_membersc                 C   rN   r  rP   rQ   r   r   r   r  (  rS   zVLegalHoldsPolicyUpdateError.is_number_of_users_on_hold_is_greater_than_hold_limitationc                 C   rN   r  rP   rQ   r   r   r   r  0  rS   z1LegalHoldsPolicyUpdateError.is_empty_members_listc                 C   rN   r  rP   rQ   r   r   r   r  8  rS   z2LegalHoldsPolicyUpdateError.is_name_must_be_uniquec                 C   rN   rz  rP   rQ   r   r   r   r|  @  rS   z:LegalHoldsPolicyUpdateError.is_legal_hold_policy_not_foundc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   H  r+   z7LegalHoldsPolicyUpdateError._process_custom_annotations)r-   r.   r/   r0   rJ   r  r  r  r  r  r  r{  rY   r  r  r  r  r  r  r|  r&   r4   r   r   r)   r   r    s&    r  c                       ru   )ListMemberAppsArgzJ
    :ivar team.ListMemberAppsArg.team_member_id: The team member id.
    r   TNc                 C   rx   r   )r   r   r   r   )r   r   r   r   r   r    X  rz   zListMemberAppsArg.__init__r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   a  r+   z-ListMemberAppsArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r  M  r   r  c                       r   )
ListMemberAppsErroray  
    Error returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_member_linked_apps`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ListMemberAppsError.member_not_found: Member not found.
    r?   Nc                 C   rN   zW
        Check if the union tag is ``member_not_found``.

        :rtype: bool
        member_not_foundrP   rQ   r   r   r   is_member_not_foundx  rS   z'ListMemberAppsError.is_member_not_foundc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zListMemberAppsError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z/ListMemberAppsError._process_custom_annotationsr-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  f  r   r  c                       ru   )ListMemberAppsResultz
    :ivar team.ListMemberAppsResult.linked_api_apps: List of third party
        applications linked by this team member.
    _linked_api_apps_valueTNc                 C   rx   r   )r   r   r  linked_api_apps)r   r  r   r   r   r      rz   zListMemberAppsResult.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z0ListMemberAppsResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r    r{   r  c                       f   e Zd ZdZg dZdZ				dddZedZ	edZ
ed	Zed
Z fddZ  ZS )ListMemberDevicesArga  
    :ivar team.ListMemberDevicesArg.team_member_id: The team's member id.
    :ivar team.ListMemberDevicesArg.include_web_sessions: Whether to list web
        sessions of the team's member.
    :ivar team.ListMemberDevicesArg.include_desktop_clients: Whether to list
        linked desktop devices of the team's member.
    :ivar team.ListMemberDevicesArg.include_mobile_clients: Whether to list
        linked mobile devices of the team's member.
    )r   _include_web_sessions_value_include_desktop_clients_value_include_mobile_clients_valueTNc                 C   r  r   )
r   r   r   r  r  r  r   include_web_sessionsinclude_desktop_clientsinclude_mobile_clients)r   r   r  r  r  r   r   r   r      r  zListMemberDevicesArg.__init__r   r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z0ListMemberDevicesArg._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r   r  r  r  r&   r4   r   r   r)   r   r    s    





r  c                       r   )
ListMemberDevicesErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ListMemberDevicesError.member_not_found: Member not found.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   z*ListMemberDevicesError.is_member_not_foundc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zListMemberDevicesError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z2ListMemberDevicesError._process_custom_annotationsr  r   r   r)   r   r    r   r  c                       sf   e Zd ZdZg dZdZ			dddZejddd	Z	ejd
dd	Z
ejddd	Z fddZ  ZS )ListMemberDevicesResultai  
    :ivar team.ListMemberDevicesResult.active_web_sessions: List of web sessions
        made by this team member.
    :ivar team.ListMemberDevicesResult.desktop_client_sessions: List of desktop
        clients used by this team member.
    :ivar team.ListMemberDevicesResult.mobile_client_sessions: List of mobile
        client used by this team member.
    )_active_web_sessions_value_desktop_client_sessions_value_mobile_client_sessions_valueFNc                 C   r$  r   )r   r   r  r  r  active_web_sessionsdesktop_client_sessionsmobile_client_sessions)r   r  r  r  r   r   r   r      r%  z ListMemberDevicesResult.__init__r  Tr"   r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   +  r+   z3ListMemberDevicesResult._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r&   r4   r   r   r)   r   r    s    	
r  c                       r(  )ListMembersAppsArga  
    Arguments for
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`.

    :ivar team.ListMembersAppsArg.cursor: At the first call to the
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`
        the cursor shouldn't be passed. Then, if the result of the call includes
        a cursor, the following requests should include the received cursors in
        order to receive the next sub list of the team applications.
    r  FNc                 C   rx   r   r  r  r   r   r   r    B  rz   zListMembersAppsArg.__init__r  Tr"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   K  r+   z.ListMembersAppsArg._process_custom_annotationsr   r  r   r   r)   r   r  0      
r  c                       r   )
ListMembersAppsErrora/  
    Error returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ListMembersAppsError.reset: Indicates that the cursor has been
        invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`
        again with an empty cursor to obtain a new cursor.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r  e  rS   zListMembersAppsError.is_resetc                 C   rN   r_   rP   rQ   r   r   r   r`   m  rS   zListMembersAppsError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   u  r+   z0ListMembersAppsError._process_custom_annotationsr-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  P      r  c                       ^   e Zd ZdZg dZdZ			dddZedZ	edZ
ejd	dd
Z fddZ  ZS )ListMembersAppsResulta  
    Information returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`.

    :ivar team.ListMembersAppsResult.apps: The linked applications of each
        member of the team.
    :ivar team.ListMembersAppsResult.has_more: If true, then there are more apps
        available. Pass the cursor to
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`
        to retrieve the rest.
    :ivar team.ListMembersAppsResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_members_linked_apps`
        to receive the next sub list of team's applications.
    _apps_valuer"  r  TNc                 C   r$  r   r   r   r  r"  r  appsr$  r  r   r  r$  r  r   r   r   r      r%  zListMembersAppsResult.__init__r  r$  r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z1ListMembersAppsResult._process_custom_annotationsr&  r-   r.   r/   r0   r1   r2   r    r   r3   r  r$  r  r&   r4   r   r   r)   r   r  z      


r  c                       j   e Zd ZdZg dZdZ				dddZejddd	Z	ed
Z
edZedZ fddZ  ZS )ListMembersDevicesArga  
    :ivar team.ListMembersDevicesArg.cursor: At the first call to the
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_members_devices`
        the cursor shouldn't be passed. Then, if the result of the call includes
        a cursor, the following requests should include the received cursors in
        order to receive the next sub list of team devices.
    :ivar team.ListMembersDevicesArg.include_web_sessions: Whether to list web
        sessions of the team members.
    :ivar team.ListMembersDevicesArg.include_desktop_clients: Whether to list
        desktop clients of the team members.
    :ivar team.ListMembersDevicesArg.include_mobile_clients: Whether to list
        mobile clients of the team members.
    r  r  r  r  FNc                 C   r  r   
r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r   r   r   r      r  zListMembersDevicesArg.__init__r  Tr"   r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z1ListMembersDevicesArg._process_custom_annotationsry  r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r&   r4   r   r   r)   r   r        



r  c                       r   )
ListMembersDevicesErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ListMembersDevicesError.reset: Indicates that the cursor has been
        invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_members_devices`
        again with an empty cursor to obtain a new cursor.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   z ListMembersDevicesError.is_resetc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z ListMembersDevicesError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z3ListMembersDevicesError._process_custom_annotationsr  r   r   r)   r   r    r   r  c                       r  )ListMembersDevicesResulta   
    :ivar team.ListMembersDevicesResult.devices: The devices of each member of
        the team.
    :ivar team.ListMembersDevicesResult.has_more: If true, then there are more
        devices available. Pass the cursor to
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_members_devices`
        to retrieve the rest.
    :ivar team.ListMembersDevicesResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_members_devices`
        to receive the next sub list of team's devices.
    _devices_valuer"  r  TNc                 C   r$  r   r   r   r  r"  r  devicesr$  r  r   r  r$  r  r   r   r   r    %  r%  z!ListMembersDevicesResult.__init__r  r$  r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   <  r+   z4ListMembersDevicesResult._process_custom_annotationsr&  r-   r.   r/   r0   r1   r2   r    r   r3   r  r$  r  r&   r4   r   r   r)   r   r        


r  c                       r(  )ListTeamAppsArga  
    Arguments for
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`.

    :ivar team.ListTeamAppsArg.cursor: At the first call to the
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`
        the cursor shouldn't be passed. Then, if the result of the call includes
        a cursor, the following requests should include the received cursors in
        order to receive the next sub list of the team applications.
    r  FNc                 C   rx   r   r  r  r   r   r   r    S  rz   zListTeamAppsArg.__init__r  Tr"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   \  r+   z+ListTeamAppsArg._process_custom_annotationsr   r  r   r   r)   r   r  A  r  r  c                       r   )
ListTeamAppsErrora&  
    Error returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ListTeamAppsError.reset: Indicates that the cursor has been
        invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`
        again with an empty cursor to obtain a new cursor.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r  v  rS   zListTeamAppsError.is_resetc                 C   rN   r_   rP   rQ   r   r   r   r`   ~  rS   zListTeamAppsError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z-ListTeamAppsError._process_custom_annotationsr  r   r   r)   r   r  a  r  r  c                       r  )ListTeamAppsResulta  
    Information returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`.

    :ivar team.ListTeamAppsResult.apps: The linked applications of each member
        of the team.
    :ivar team.ListTeamAppsResult.has_more: If true, then there are more apps
        available. Pass the cursor to
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`
        to retrieve the rest.
    :ivar team.ListTeamAppsResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_list_team_linked_apps`
        to receive the next sub list of team's applications.
    r  TNc                 C   r$  r   r  r  r   r   r   r      r%  zListTeamAppsResult.__init__r  r$  r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z.ListTeamAppsResult._process_custom_annotationsr&  r  r   r   r)   r   r    r  r  c                       r  )ListTeamDevicesArga  
    :ivar team.ListTeamDevicesArg.cursor: At the first call to the
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_team_devices`
        the cursor shouldn't be passed. Then, if the result of the call includes
        a cursor, the following requests should include the received cursors in
        order to receive the next sub list of team devices.
    :ivar team.ListTeamDevicesArg.include_web_sessions: Whether to list web
        sessions of the team members.
    :ivar team.ListTeamDevicesArg.include_desktop_clients: Whether to list
        desktop clients of the team members.
    :ivar team.ListTeamDevicesArg.include_mobile_clients: Whether to list mobile
        clients of the team members.
    r  FNc                 C   r  r   r  r  r   r   r   r      r  zListTeamDevicesArg.__init__r  Tr"   r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z.ListTeamDevicesArg._process_custom_annotationsry  r  r   r   r)   r   r    r  r  c                       r   )
ListTeamDevicesErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.ListTeamDevicesError.reset: Indicates that the cursor has been
        invalidated. Call
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_team_devices`
        again with an empty cursor to obtain a new cursor.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   zListTeamDevicesError.is_resetc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zListTeamDevicesError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z0ListTeamDevicesError._process_custom_annotationsr  r   r   r)   r   r    r   r  c                       r  )ListTeamDevicesResulta  
    :ivar team.ListTeamDevicesResult.devices: The devices of each member of the
        team.
    :ivar team.ListTeamDevicesResult.has_more: If true, then there are more
        devices available. Pass the cursor to
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_team_devices` to
        retrieve the rest.
    :ivar team.ListTeamDevicesResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_devices_list_team_devices` to
        receive the next sub list of team's devices.
    r  TNc                 C   r$  r   r  r  r   r   r   r    6  r%  zListTeamDevicesResult.__init__r  r$  r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   M  r+   z1ListTeamDevicesResult._process_custom_annotationsr&  r  r   r   r)   r   r  !  r  r  c                       r  )MemberAccessz
    Specify access type a member should have when joined to a group.

    :ivar team.MemberAccess.user: Identity of a user.
    :ivar team.MemberAccess.access_type: Access type.
    r  r  TNc                 C   r   r   )r   r   r  r  r  r  )r   r  r  r   r   r   r    a  r   zMemberAccess.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   q  r+   z(MemberAccess._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  R      
r  c                       s   e Zd ZdZg dZdZ							dddZedZ	ejddd	Z
ejd
dd	Zejddd	Zejddd	ZedZejddd	Z fddZ  ZS )MemberAddArgBasea?  
    :ivar team.MemberAddArgBase.member_given_name: Member's first name.
    :ivar team.MemberAddArgBase.member_surname: Member's last name.
    :ivar team.MemberAddArgBase.member_external_id: External ID for member.
    :ivar team.MemberAddArgBase.member_persistent_id: Persistent ID for member.
        This field is only available to teams using persistent ID SAML
        configuration.
    :ivar team.MemberAddArgBase.send_welcome_email: Whether to send a welcome
        email to the member. If send_welcome_email is false, no email invitation
        will be sent to the user. This may be useful for apps using single
        sign-on (SSO) flows for onboarding that want to handle announcements
        themselves.
    :ivar team.MemberAddArgBase.is_directory_restricted: Whether a user is
        directory restricted.
    )_member_email_value_member_given_name_value_member_surname_value_member_external_id_value_member_persistent_id_value_send_welcome_email_value_is_directory_restricted_valueTNc                 C   r  r   )r   r   r  r  r  r  r  r  r  member_emailmember_given_namemember_surnamemember_external_idmember_persistent_idsend_welcome_emailis_directory_restricted)r   r  r  r  r  r  r   r  r   r   r   r      r  zMemberAddArgBase.__init__r  r  r"   r  r  r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z,MemberAddArgBase._process_custom_annotationsr	  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r  r   r  r&   r4   r   r   r)   r   r  v  s(    



r  c                       R   e Zd ZdgZdZ								d
 fdd	ZejdddZ fdd	Z	  Z
S )MemberAddArg_role_valueTNc	           	   	      :   t t| ||||||| tj| _|d ur|| _d S d S r   )r%   r  r    r   r   r  role)	r   r  r  r  r  r  r   r  r  r)   r   r   r         	
zMemberAddArg.__init__r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z(MemberAddArg._process_custom_annotationsr_  )r-   r.   r/   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r        r  c                       s<  e Zd ZdZdZedd Zedd Zedd Zed	d
 Z	edd Z
edd Zedd Zedd Zedd Zedd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Z d9d: Z!d;d< Z"d=d> Z# fd?d@Z$  Z%S )AMemberAddResultBasea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.MemberAddResultBase.team_license_limit: Team is already full.
        The organization has no available licenses.
    :ivar str team.MemberAddResultBase.free_team_member_limit_reached: Team is
        already full. The free team member limit has been reached.
    :ivar str team.MemberAddResultBase.user_already_on_team: User is already on
        this team. The provided email address is associated with a user who is
        already a member of (including in recoverable state) or invited to the
        team.
    :ivar str team.MemberAddResultBase.user_on_another_team: User is already on
        another team. The provided email address is associated with a user that
        is already a member or invited to another team.
    :ivar str team.MemberAddResultBase.user_already_paired: User is already
        paired.
    :ivar str team.MemberAddResultBase.user_migration_failed: User migration has
        failed.
    :ivar str team.MemberAddResultBase.duplicate_external_member_id: A user with
        the given external member ID already exists on the team (including in
        recoverable state).
    :ivar str team.MemberAddResultBase.duplicate_member_persistent_id: A user
        with the given persistent ID already exists on the team (including in
        recoverable state).
    :ivar str team.MemberAddResultBase.persistent_id_disabled: Persistent ID is
        only available to teams with persistent ID SAML configuration. Please
        contact Dropbox for more information.
    :ivar str team.MemberAddResultBase.user_creation_failed: User creation has
        failed.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``team_license_limit`` tag
        with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        team_license_limitr   rB   r   r   r   r
    rE   z&MemberAddResultBase.team_license_limitc                 C   r@   )z
        Create an instance of this class set to the
        ``free_team_member_limit_reached`` tag with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        free_team_member_limit_reachedr   rB   r   r   r   r    rE   z2MemberAddResultBase.free_team_member_limit_reachedc                 C   r@   )z
        Create an instance of this class set to the ``user_already_on_team`` tag
        with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        user_already_on_teamr   rB   r   r   r   r  )  rE   z(MemberAddResultBase.user_already_on_teamc                 C   r@   )z
        Create an instance of this class set to the ``user_on_another_team`` tag
        with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        user_on_another_teamr   rB   r   r   r   r  4  rE   z(MemberAddResultBase.user_on_another_teamc                 C   r@   )z
        Create an instance of this class set to the ``user_already_paired`` tag
        with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        user_already_pairedr   rB   r   r   r   r  ?  rE   z'MemberAddResultBase.user_already_pairedc                 C   r@   )z
        Create an instance of this class set to the ``user_migration_failed``
        tag with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        user_migration_failedr   rB   r   r   r   r  J  rE   z)MemberAddResultBase.user_migration_failedc                 C   r@   )z
        Create an instance of this class set to the
        ``duplicate_external_member_id`` tag with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        duplicate_external_member_idr   rB   r   r   r   r  U  rE   z0MemberAddResultBase.duplicate_external_member_idc                 C   r@   )z
        Create an instance of this class set to the
        ``duplicate_member_persistent_id`` tag with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        duplicate_member_persistent_idr   rB   r   r   r   r  `  rE   z2MemberAddResultBase.duplicate_member_persistent_idc                 C   r@   )z
        Create an instance of this class set to the ``persistent_id_disabled``
        tag with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        persistent_id_disabledr   rB   r   r   r   r  k  rE   z*MemberAddResultBase.persistent_id_disabledc                 C   r@   )z
        Create an instance of this class set to the ``user_creation_failed`` tag
        with value ``val``.

        :param str val:
        :rtype: MemberAddResultBase
        user_creation_failedr   rB   r   r   r   r  v  rE   z(MemberAddResultBase.user_creation_failedc                 C   rN   zY
        Check if the union tag is ``team_license_limit``.

        :rtype: bool
        r
  rP   rQ   r   r   r   is_team_license_limit  rS   z)MemberAddResultBase.is_team_license_limitc                 C   rN   )ze
        Check if the union tag is ``free_team_member_limit_reached``.

        :rtype: bool
        r  rP   rQ   r   r   r   !is_free_team_member_limit_reached  rS   z5MemberAddResultBase.is_free_team_member_limit_reachedc                 C   rN   )z[
        Check if the union tag is ``user_already_on_team``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_user_already_on_team  rS   z+MemberAddResultBase.is_user_already_on_teamc                 C   rN   )z[
        Check if the union tag is ``user_on_another_team``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_user_on_another_team  rS   z+MemberAddResultBase.is_user_on_another_teamc                 C   rN   )zZ
        Check if the union tag is ``user_already_paired``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_user_already_paired  rS   z*MemberAddResultBase.is_user_already_pairedc                 C   rN   )z\
        Check if the union tag is ``user_migration_failed``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_user_migration_failed  rS   z,MemberAddResultBase.is_user_migration_failedc                 C   rN   )zc
        Check if the union tag is ``duplicate_external_member_id``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_duplicate_external_member_id  rS   z3MemberAddResultBase.is_duplicate_external_member_idc                 C   rN   )ze
        Check if the union tag is ``duplicate_member_persistent_id``.

        :rtype: bool
        r  rP   rQ   r   r   r   !is_duplicate_member_persistent_id  rS   z5MemberAddResultBase.is_duplicate_member_persistent_idc                 C   rN   z]
        Check if the union tag is ``persistent_id_disabled``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_persistent_id_disabled  rS   z-MemberAddResultBase.is_persistent_id_disabledc                 C   rN   )z[
        Check if the union tag is ``user_creation_failed``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_user_creation_failed  rS   z+MemberAddResultBase.is_user_creation_failedc                 C   ra   )z
        Team is already full. The organization has no available licenses.

        Only call this if :meth:`is_team_license_limit` is true.

        :rtype: str
        z tag 'team_license_limit' not set)r  rd   re   rQ   r   r   r   get_team_license_limit  rg   z*MemberAddResultBase.get_team_license_limitc                 C   ra   )z
        Team is already full. The free team member limit has been reached.

        Only call this if :meth:`is_free_team_member_limit_reached` is true.

        :rtype: str
        z,tag 'free_team_member_limit_reached' not set)r  rd   re   rQ   r   r   r   "get_free_team_member_limit_reached  rg   z6MemberAddResultBase.get_free_team_member_limit_reachedc                 C   ra   )a!  
        User is already on this team. The provided email address is associated
        with a user who is already a member of (including in recoverable state)
        or invited to the team.

        Only call this if :meth:`is_user_already_on_team` is true.

        :rtype: str
        z"tag 'user_already_on_team' not set)r  rd   re   rQ   r   r   r   get_user_already_on_team     
z,MemberAddResultBase.get_user_already_on_teamc                 C   ra   )a  
        User is already on another team. The provided email address is
        associated with a user that is already a member or invited to another
        team.

        Only call this if :meth:`is_user_on_another_team` is true.

        :rtype: str
        z"tag 'user_on_another_team' not set)r  rd   re   rQ   r   r   r   get_user_on_another_team  r#  z,MemberAddResultBase.get_user_on_another_teamc                 C   ra   )z
        User is already paired.

        Only call this if :meth:`is_user_already_paired` is true.

        :rtype: str
        z!tag 'user_already_paired' not set)r  rd   re   rQ   r   r   r   get_user_already_paired  rg   z+MemberAddResultBase.get_user_already_pairedc                 C   ra   )z
        User migration has failed.

        Only call this if :meth:`is_user_migration_failed` is true.

        :rtype: str
        z#tag 'user_migration_failed' not set)r  rd   re   rQ   r   r   r   get_user_migration_failed  rg   z-MemberAddResultBase.get_user_migration_failedc                 C   ra   )z
        A user with the given external member ID already exists on the team
        (including in recoverable state).

        Only call this if :meth:`is_duplicate_external_member_id` is true.

        :rtype: str
        z*tag 'duplicate_external_member_id' not set)r  rd   re   rQ   r   r   r    get_duplicate_external_member_id  rr   z4MemberAddResultBase.get_duplicate_external_member_idc                 C   ra   )z
        A user with the given persistent ID already exists on the team
        (including in recoverable state).

        Only call this if :meth:`is_duplicate_member_persistent_id` is true.

        :rtype: str
        z,tag 'duplicate_member_persistent_id' not set)r  rd   re   rQ   r   r   r   "get_duplicate_member_persistent_id*  rr   z6MemberAddResultBase.get_duplicate_member_persistent_idc                 C   ra   )z
        Persistent ID is only available to teams with persistent ID SAML
        configuration. Please contact Dropbox for more information.

        Only call this if :meth:`is_persistent_id_disabled` is true.

        :rtype: str
        z$tag 'persistent_id_disabled' not set)r  rd   re   rQ   r   r   r   get_persistent_id_disabled7  rr   z.MemberAddResultBase.get_persistent_id_disabledc                 C   ra   )z
        User creation has failed.

        Only call this if :meth:`is_user_creation_failed` is true.

        :rtype: str
        z"tag 'user_creation_failed' not set)r  rd   re   rQ   r   r   r   get_user_creation_failedD  rg   z,MemberAddResultBase.get_user_creation_failedc                    r$   r   )r%   r	  r&   r'   r)   r   r   r&   P  r+   z/MemberAddResultBase._process_custom_annotations)&r-   r.   r/   r0   rs   rt   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r$  r%  r&  r'  r(  r)  r*  r&   r4   r   r   r)   r   r	    sX    !



















r	  c                       <   e Zd ZdZedd Zdd Zdd Z fdd	Z  Z	S )
MemberAddResultad  
    Describes the result of attempting to add a single user to the team.
    'success' is the only value indicating that a user was indeed added to the
    team - the other values explain the type of failure that occurred, and
    include the email of the user for which the operation has failed.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar TeamMemberInfo MemberAddResult.success: Describes a user that was
        successfully added to the team.
    c                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param TeamMemberInfo val:
        :rtype: MemberAddResult
        rA   r   rB   r   r   r   rA   d  rE   zMemberAddResult.successc                 C   rN   rO   rP   rQ   r   r   r   rR   o  rS   zMemberAddResult.is_successc                 C   ra   )z
        Describes a user that was successfully added to the team.

        Only call this if :meth:`is_success` is true.

        :rtype: TeamMemberInfo
        rb   rc   rQ   r   r   r   rf   w  rg   zMemberAddResult.get_successc                    r$   r   )r%   r,  r&   r'   r)   r   r   r&     r+   z+MemberAddResult._process_custom_annotations)
r-   r.   r/   r0   rt   rA   rR   rf   r&   r4   r   r   r)   r   r,  U  s    

r,  c                       r  )MemberAddV2Arg_role_ids_valueTNc	           	   	      r  r   )r%   r-  r    r   r   r.  role_ids)	r   r  r  r  r  r  r   r  r/  r)   r   r   r      r  zMemberAddV2Arg.__init__r/  r"   c                    r$   r   )r%   r-  r&   r'   r)   r   r   r&     r+   z*MemberAddV2Arg._process_custom_annotationsr_  )r-   r.   r/   r1   r2   r    r   r3   r/  r&   r4   r   r   r)   r   r-    r  r-  c                       r9  )MemberAddV2Resultah  
    Describes the result of attempting to add a single user to the team.
    'success' is the only value indicating that a user was indeed added to the
    team - the other values explain the type of failure that occurred, and
    include the email of the user for which the operation has failed.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar TeamMemberInfoV2 MemberAddV2Result.success: Describes a user that was
        successfully added to the team.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param TeamMemberInfoV2 val:
        :rtype: MemberAddV2Result
        rA   r   rB   r   r   r   rA     rE   zMemberAddV2Result.successc                 C   rN   rO   rP   rQ   r   r   r   rR     rS   zMemberAddV2Result.is_successc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zMemberAddV2Result.is_otherc                 C   ra   )z
        Describes a user that was successfully added to the team.

        Only call this if :meth:`is_success` is true.

        :rtype: TeamMemberInfoV2
        rb   rc   rQ   r   r   r   rf     rg   zMemberAddV2Result.get_successc                    r$   r   )r%   r0  r&   r'   r)   r   r   r&     r+   z-MemberAddV2Result._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   rA   rR   r`   rf   r&   r4   r   r   r)   r   r0    s    

r0  c                       r  )MemberDevicesa  
    Information on devices of a team's member.

    :ivar team.MemberDevices.team_member_id: The member unique Id.
    :ivar team.MemberDevices.web_sessions: List of web sessions made by this
        team member.
    :ivar team.MemberDevices.desktop_clients: List of desktop clients by this
        team member.
    :ivar team.MemberDevices.mobile_clients: List of mobile clients by this team
        member.
    )r   _web_sessions_value_desktop_clients_value_mobile_clients_valueTNc                 C   r  r   )
r   r   r   r2  r3  r4  r   web_sessionsdesktop_clientsmobile_clients)r   r   r5  r6  r7  r   r   r   r      r  zMemberDevices.__init__r   r5  r"   r6  r7  c                    r$   r   )r%   r1  r&   r'   r)   r   r   r&     r+   z)MemberDevices._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r   r5  r6  r7  r&   r4   r   r   r)   r   r1    s    

r1  c                       r   )MemberLinkedAppsz
    Information on linked applications of a team member.

    :ivar team.MemberLinkedApps.team_member_id: The member unique Id.
    :ivar team.MemberLinkedApps.linked_api_apps: List of third party
        applications linked by this team member.
    r   r  TNc                 C   r   r   )r   r   r   r  r   r  )r   r   r  r   r   r   r    4  r   zMemberLinkedApps.__init__r   r  c                    r$   r   )r%   r8  r&   r'   r)   r   r   r&   D  r+   z,MemberLinkedApps._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r  r&   r4   r   r   r)   r   r8  $  s    	


r8  c                       s  e Zd ZdZg dZdZ															dddZedZ	ejddd	Z
ejd
dd	ZedZedZejddd	ZejdddZejdddZejdddZejddd	Zejddd	Zejddd	Zejddd	Zejddd	Zejddd	Z fddZ  ZS )MemberProfilea  
    Basic member profile.

    :ivar team.MemberProfile.team_member_id: ID of user as a member of a team.
    :ivar team.MemberProfile.external_id: External ID that a team can attach to
        the user. An application using the API may find it easier to use their
        own IDs instead of Dropbox IDs like account_id or team_member_id.
    :ivar team.MemberProfile.account_id: A user's account identifier.
    :ivar team.MemberProfile.email: Email address of user.
    :ivar team.MemberProfile.email_verified: Is true if the user's email is
        verified to be owned by the user.
    :ivar team.MemberProfile.secondary_emails: Secondary emails of a user.
    :ivar team.MemberProfile.status: The user's status as a member of a specific
        team.
    :ivar team.MemberProfile.name: Representations for a person's name.
    :ivar team.MemberProfile.membership_type: The user's membership type: full
        (normal team member) vs limited (does not use a license; no access to
        the team's shared quota).
    :ivar team.MemberProfile.invited_on: The date and time the user was invited
        to the team (contains value only when the member's status matches
        ``TeamMemberStatus.invited``).
    :ivar team.MemberProfile.joined_on: The date and time the user joined as a
        member of a specific team.
    :ivar team.MemberProfile.suspended_on: The date and time the user was
        suspended from the team (contains value only when the member's status
        matches ``TeamMemberStatus.suspended``).
    :ivar team.MemberProfile.persistent_id: Persistent ID that a team can attach
        to the user. The persistent ID is unique ID to be used for SAML
        authentication.
    :ivar team.MemberProfile.is_directory_restricted: Whether the user is a
        directory restricted user.
    :ivar team.MemberProfile.profile_photo_url: URL for the photo representing
        the user, if one is set.
    )r   _external_id_value_account_id_value_email_value_email_verified_value_secondary_emails_valuer0  rX  _membership_type_value_invited_on_value_joined_on_value_suspended_on_value_persistent_id_valuer  _profile_photo_url_valueTNc                 C   sR  t j| _t j| _t j| _t j| _t j| _t j| _t j| _t j| _	t j| _
t j| _t j| _t j| _t j| _t j| _t j| _|d urC|| _|d urJ|| _|d urQ|| _|d urX|| _|d ur_|| _|	d urf|	| _|d urm|| _|d urt|| _|d ur{|| _|
d ur|
| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _|d ur|| _d S d S r   ) r   r   r   r:  r;  r<  r=  r>  r0  rX  r?  r@  rA  rB  rC  r  rD  r   external_id
account_idemailemail_verifiedr
   r1  r\  membership_type
invited_on	joined_onsuspended_onpersistent_idr  profile_photo_url)r   r   rG  rH  r1  r\  rI  rE  rF  r
   rJ  rK  rL  rM  r  rN  r   r   r   r      s\   
zMemberProfile.__init__r   rE  r"   rF  rG  rH  r
   r1  r   r\  rI  rJ  rK  rL  rM  r  rN  c                    r$   r   )r%   r9  r&   r'   r)   r   r   r&     r+   z)MemberProfile._process_custom_annotationsrq  )r-   r.   r/   r0   r1   r2   r    r   r3   r   rE  rF  rG  rH  r
   r1  r\  rI  rJ  rK  rL  rM  r  rN  r&   r4   r   r   r)   r   r9  I  sH    #

?

r9  c                       s0   e Zd ZdZdZdZdd Z fddZ  ZS )UserSelectorErrora  
    Error that can be returned whenever a struct derived from
    :class:`UserSelectorArg` is used.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.UserSelectorError.user_not_found: No matching user found. The
        provided team_member_id, email, or external_id does not exist on this
        team.
    Nc                 C   rN   )zU
        Check if the union tag is ``user_not_found``.

        :rtype: bool
        user_not_foundrP   rQ   r   r   r   is_user_not_found  rS   z#UserSelectorError.is_user_not_foundc                    r$   r   )r%   rO  r&   r'   r)   r   r   r&     r+   z-UserSelectorError._process_custom_annotations)	r-   r.   r/   r0   rs   rP  rQ  r&   r4   r   r   r)   r   rO    s    rO  c                       r  )MemberSelectorErrora)  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MemberSelectorError.user_not_in_team: The user is not a member of
        the team.
    Nc                 C   rN   zW
        Check if the union tag is ``user_not_in_team``.

        :rtype: bool
        user_not_in_teamrP   rQ   r   r   r   is_user_not_in_team  rS   z'MemberSelectorError.is_user_not_in_teamc                    r$   r   )r%   rR  r&   r'   r)   r   r   r&   %  r+   z/MemberSelectorError._process_custom_annotations)r-   r.   r/   r0   rT  rU  r&   r4   r   r   r)   r   rR    r  rR  c                       ru   )MembersAddArgBasezn
    :ivar team.MembersAddArgBase.force_async: Whether to force the add to happen
        asynchronously.
    _force_async_valueFNc                 C   rx   r   )r   r   rW  force_async)r   rX  r   r   r   r    6  rz   zMembersAddArgBase.__init__rX  c                    r$   r   )r%   rV  r&   r'   r)   r   r   r&   ?  r+   z-MembersAddArgBase._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   rX  r&   r4   r   r   r)   r   rV  *  r{   rV  c                       F   e Zd ZdZdgZdZ		d
 fdd	ZedZ	 fdd	Z
  ZS )MembersAddArgzg
    :ivar team.MembersAddArg.new_members: Details of new members to be added to
        the team.
    _new_members_valueTNc                    .   t t| | tj| _|d ur|| _d S d S r   )r%   rZ  r    r   r   r[  new_membersr   r]  rX  r)   r   r   r    P  
   
zMembersAddArg.__init__r]  c                    r$   r   )r%   rZ  r&   r'   r)   r   r   r&   [  r+   z)MembersAddArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r]  r&   r4   r   r   r)   r   rZ  D      
	rZ  c                       X   e Zd ZdZedd Zedd Zdd Zdd	 Zd
d Z	dd Z
 fddZ  ZS )MembersAddJobStatusaq  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar list of [MemberAddResult] team.MembersAddJobStatus.complete: The
        asynchronous job has finished. For each member that was specified in the
        parameter :type:`MembersAddArg` that was provided to
        :route:`members/add`, a corresponding item is returned in this list.
    :ivar str team.MembersAddJobStatus.failed: The asynchronous job returned an
        error. The string contains an error message.
    c                 C   r@   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param list of [MemberAddResult] val:
        :rtype: MembersAddJobStatus
        completer   rB   r   r   r   rd  n  rE   zMembersAddJobStatus.completec                 C   r@   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param str val:
        :rtype: MembersAddJobStatus
        failedr   rB   r   r   r   re  y  rE   zMembersAddJobStatus.failedc                 C   rN   zO
        Check if the union tag is ``complete``.

        :rtype: bool
        rd  rP   rQ   r   r   r   is_complete  rS   zMembersAddJobStatus.is_completec                 C   rN   zM
        Check if the union tag is ``failed``.

        :rtype: bool
        re  rP   rQ   r   r   r   	is_failed  rS   zMembersAddJobStatus.is_failedc                 C   ra   )aw  
        The asynchronous job has finished. For each member that was specified in
        the parameter :class:`MembersAddArg` that was provided to
        :meth:`dropbox.dropbox_client.Dropbox.team_members_add`, a corresponding
        item is returned in this list.

        Only call this if :meth:`is_complete` is true.

        :rtype: list of [MemberAddResult]
        tag 'complete' not setrg  rd   re   rQ   r   r   r   get_complete  r  z MembersAddJobStatus.get_completec                 C   ra   z
        The asynchronous job returned an error. The string contains an error
        message.

        Only call this if :meth:`is_failed` is true.

        :rtype: str
        tag 'failed' not setri  rd   re   rQ   r   r   r   
get_failed  rr   zMembersAddJobStatus.get_failedc                    r$   r   )r%   rc  r&   r'   r)   r   r   r&     r+   z/MembersAddJobStatus._process_custom_annotationsr-   r.   r/   r0   rt   rd  re  rg  ri  rl  rp  r&   r4   r   r   r)   r   rc  `  s    



rc  c                       r   )MembersAddJobStatusV2Resulta  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar list of [MemberAddV2Result] team.MembersAddJobStatusV2Result.complete:
        The asynchronous job has finished. For each member that was specified in
        the parameter :type:`MembersAddArg` that was provided to
        :route:`members/add:2`, a corresponding item is returned in this list.
    :ivar str team.MembersAddJobStatusV2Result.failed: The asynchronous job
        returned an error. The string contains an error message.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param list of [MemberAddV2Result] val:
        :rtype: MembersAddJobStatusV2Result
        rd  r   rB   r   r   r   rd    rE   z$MembersAddJobStatusV2Result.completec                 C   r@   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param str val:
        :rtype: MembersAddJobStatusV2Result
        re  r   rB   r   r   r   re    rE   z"MembersAddJobStatusV2Result.failedc                 C   rN   rf  rP   rQ   r   r   r   rg    rS   z'MembersAddJobStatusV2Result.is_completec                 C   rN   rh  rP   rQ   r   r   r   ri    rS   z%MembersAddJobStatusV2Result.is_failedc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z$MembersAddJobStatusV2Result.is_otherc                 C   ra   )ay  
        The asynchronous job has finished. For each member that was specified in
        the parameter :class:`MembersAddArg` that was provided to
        :meth:`dropbox.dropbox_client.Dropbox.team_members_add`, a corresponding
        item is returned in this list.

        Only call this if :meth:`is_complete` is true.

        :rtype: list of [MemberAddV2Result]
        rj  rk  rQ   r   r   r   rl    r  z(MembersAddJobStatusV2Result.get_completec                 C   ra   rm  ro  rQ   r   r   r   rp    rr   z&MembersAddJobStatusV2Result.get_failedc                    r$   r   )r%   rr  r&   r'   r)   r   r   r&     r+   z7MembersAddJobStatusV2Result._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   rd  re  rg  ri  r`   rl  rp  r&   r4   r   r   r)   r   rr    s    



rr  c                       r+  )
MembersAddLaunch
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    c                 C   r@   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param list of [MemberAddResult] val:
        :rtype: MembersAddLaunch
        rd  r   rB   r   r   r   rd    rE   zMembersAddLaunch.completec                 C   rN   rf  rP   rQ   r   r   r   rg  (  rS   zMembersAddLaunch.is_completec                 C   ra   )zk
        Only call this if :meth:`is_complete` is true.

        :rtype: list of [MemberAddResult]
        rj  rk  rQ   r   r   r   rl  0  r   zMembersAddLaunch.get_completec                    r$   r   )r%   rs  r&   r'   r)   r   r   r&   :  r+   z,MembersAddLaunch._process_custom_annotations
r-   r.   r/   r0   rt   rd  rg  rl  r&   r4   r   r   r)   r   rs        


rs  c                       r9  )MembersAddLaunchV2Resultrt  r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param list of [MemberAddV2Result] val:
        :rtype: MembersAddLaunchV2Result
        rd  r   rB   r   r   r   rd  J  rE   z!MembersAddLaunchV2Result.completec                 C   rN   rf  rP   rQ   r   r   r   rg  U  rS   z$MembersAddLaunchV2Result.is_completec                 C   rN   r_   rP   rQ   r   r   r   r`   ]  rS   z!MembersAddLaunchV2Result.is_otherc                 C   ra   )zm
        Only call this if :meth:`is_complete` is true.

        :rtype: list of [MemberAddV2Result]
        rj  rk  rQ   r   r   r   rl  e  r   z%MembersAddLaunchV2Result.get_completec                    r$   r   )r%   rw  r&   r'   r)   r   r   r&   o  r+   z4MembersAddLaunchV2Result._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   rd  rg  r`   rl  r&   r4   r   r   r)   r   rw  ?  s    


rw  c                       rY  )MembersAddV2Argzi
    :ivar team.MembersAddV2Arg.new_members: Details of new members to be added
        to the team.
    r[  TNc                    r\  r   )r%   rx  r    r   r   r[  r]  r^  r)   r   r   r      r_  zMembersAddV2Arg.__init__r]  c                    r$   r   )r%   rx  r&   r'   r)   r   r   r&     r+   z+MembersAddV2Arg._process_custom_annotationsr   r`  r   r   r)   r   rx  t  ra  rx  c                       r.  )MembersDeactivateBaseArgz
    Exactly one of team_member_id, email, or external_id must be provided to
    identify the user account.

    :ivar team.MembersDeactivateBaseArg.user: Identity of user to
        remove/suspend/have their files moved.
    r  TNc                 C   rx   r   r   r   r  r  r   r  r   r   r   r      rz   z!MembersDeactivateBaseArg.__init__r  r   c                    r$   r   )r%   ry  r&   r'   r)   r   r   r&     r+   z4MembersDeactivateBaseArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   ry    r*  ry  c                       s\   e Zd ZdZddgZdZ			d fdd	Zejddd	Z	ejd
dd	Z
 fddZ  ZS )MembersDataTransferArga  
    :ivar team.MembersDataTransferArg.transfer_dest_id: Files from the deleted
        member account will be transferred to this user.
    :ivar team.MembersDataTransferArg.transfer_admin_id: Errors during the
        transfer process will be sent via email to this user.
    _transfer_dest_id_value_transfer_admin_id_valueTNc                    D   t t| | tj| _tj| _|d ur|| _|d ur || _d S d S r   )	r%   r}  r    r   r   r~  r  transfer_dest_idtransfer_admin_id)r   r  r  r  r)   r   r   r      r  zMembersDataTransferArg.__init__r  r   r  c                    r$   r   )r%   r}  r&   r'   r)   r   r   r&     r+   z2MembersDataTransferArg._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r}    s    r}  c                       rY  )MembersDeactivateArgz
    :ivar team.MembersDeactivateArg.wipe_data: If provided, controls if the
        user's data will be deleted on their linked devices.
    _wipe_data_valueTNc                    .   t t| | tj| _|d ur|| _d S d S r   )r%   r  r    r   r   r  	wipe_data)r   r  r  r)   r   r   r      r_  zMembersDeactivateArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z0MembersDeactivateArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r    ra  r  c                       r   )
MembersDeactivateErrora,  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersDeactivateError.user_not_in_team: The user is not a member
        of the team.
    r?   Nc                 C   rN   rS  rP   rQ   r   r   r   rU    rS   z*MembersDeactivateError.is_user_not_in_teamc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zMembersDeactivateError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z2MembersDeactivateError._process_custom_annotations)r-   r.   r/   r0   rs   rT  r?   rU  r`   r&   r4   r   r   r)   r   r    r  r  c                       r.  )MembersDeleteProfilePhotoArgzy
    :ivar team.MembersDeleteProfilePhotoArg.user: Identity of the user whose
        profile photo will be deleted.
    r  TNc                 C   rx   r   rz  r{  r   r   r   r       rz   z%MembersDeleteProfilePhotoArg.__init__r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   )  r+   z8MembersDeleteProfilePhotoArg._process_custom_annotationsr   r|  r   r   r)   r   r    s    
r  c                       r   )
MembersDeleteProfilePhotoErrora<  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersDeleteProfilePhotoError.set_profile_disallowed: Modifying
        deleted users is not allowed.
    r?   Nc                 C   rN   z]
        Check if the union tag is ``set_profile_disallowed``.

        :rtype: bool
        set_profile_disallowedrP   rQ   r   r   r   is_set_profile_disallowed>  rS   z8MembersDeleteProfilePhotoError.is_set_profile_disallowedc                 C   rN   r_   rP   rQ   r   r   r   r`   F  rS   z'MembersDeleteProfilePhotoError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   N  r+   z:MembersDeleteProfilePhotoError._process_custom_annotations)r-   r.   r/   r0   rs   r  r?   r  r`   r&   r4   r   r   r)   r   r  .  r  r  c                       ru   )(MembersGetAvailableTeamMemberRolesResultz
    Available TeamMemberRole for the connected team. To be used with
    :meth:`dropbox.dropbox_client.Dropbox.team_members_set_admin_permissions`.

    :ivar team.MembersGetAvailableTeamMemberRolesResult.roles: Available roles.
    _roles_valueTNc                 C   rx   r   )r   r   r  roles)r   r  r   r   r   r    a  rz   z1MembersGetAvailableTeamMemberRolesResult.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   j  r+   zDMembersGetAvailableTeamMemberRolesResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  S  r   r  c                       ru   )MembersGetInfoArgszF
    :ivar team.MembersGetInfoArgs.members: List of team members.
    r  TNc                 C   rx   r   r   r   r  r  r   r  r   r   r   r    z  rz   zMembersGetInfoArgs.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z.MembersGetInfoArgs._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  o  r   r  c                       r   )MembersGetInfoErrorrt  r?   Nc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   zMembersGetInfoError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z/MembersGetInfoError._process_custom_annotationsr   r   r   r)   r   r        r  c                       s@   e Zd ZdZdZedd Zdd Zdd Z fd	d
Z	  Z
S )MembersGetInfoItemBasea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.MembersGetInfoItemBase.id_not_found: An ID that was provided
        as a parameter to :route:`members/get_info` or
        :route:`members/get_info:2`, and did not match a corresponding user.
        This might be a team_member_id, an email, or an external ID, depending
        on how the method was called.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``id_not_found`` tag with
        value ``val``.

        :param str val:
        :rtype: MembersGetInfoItemBase
        r  r   rB   r   r   r   r    rE   z#MembersGetInfoItemBase.id_not_foundc                 C   rN   r  rP   rQ   r   r   r   r    rS   z&MembersGetInfoItemBase.is_id_not_foundc                 C   ra   )a  
        An ID that was provided as a parameter to
        :meth:`dropbox.dropbox_client.Dropbox.team_members_get_info` or
        :meth:`dropbox.dropbox_client.Dropbox.team_members_get_info`, and did
        not match a corresponding user. This might be a team_member_id, an
        email, or an external ID, depending on how the method was called.

        Only call this if :meth:`is_id_not_found` is true.

        :rtype: str
        r  r  rQ   r   r   r   r    r  z'MembersGetInfoItemBase.get_id_not_foundc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z2MembersGetInfoItemBase._process_custom_annotations)r-   r.   r/   r0   rs   rt   r  r  r  r&   r4   r   r   r)   r   r    s    

r  c                       r+  )
MembersGetInfoItema  
    Describes a result obtained for a single user whose id was specified in the
    parameter of :meth:`dropbox.dropbox_client.Dropbox.team_members_get_info`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar TeamMemberInfo MembersGetInfoItem.member_info: Info about a team
        member.
    c                 C   r@   )z
        Create an instance of this class set to the ``member_info`` tag with
        value ``val``.

        :param TeamMemberInfo val:
        :rtype: MembersGetInfoItem
        member_infor   rB   r   r   r   r    rE   zMembersGetInfoItem.member_infoc                 C   rN   zR
        Check if the union tag is ``member_info``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_member_info  rS   z!MembersGetInfoItem.is_member_infoc                 C   ra   )z
        Info about a team member.

        Only call this if :meth:`is_member_info` is true.

        :rtype: TeamMemberInfo
        tag 'member_info' not setr  rd   re   rQ   r   r   r   get_member_info  rg   z"MembersGetInfoItem.get_member_infoc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z.MembersGetInfoItem._process_custom_annotations)
r-   r.   r/   r0   rt   r  r  r  r&   r4   r   r   r)   r   r    s    

r  c                       r9  )MembersGetInfoItemV2a  
    Describes a result obtained for a single user whose id was specified in the
    parameter of :meth:`dropbox.dropbox_client.Dropbox.team_members_get_info`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar TeamMemberInfoV2 MembersGetInfoItemV2.member_info: Info about a team
        member.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``member_info`` tag with
        value ``val``.

        :param TeamMemberInfoV2 val:
        :rtype: MembersGetInfoItemV2
        r  r   rB   r   r   r   r    rE   z MembersGetInfoItemV2.member_infoc                 C   rN   r  rP   rQ   r   r   r   r  $  rS   z#MembersGetInfoItemV2.is_member_infoc                 C   rN   r_   rP   rQ   r   r   r   r`   ,  rS   zMembersGetInfoItemV2.is_otherc                 C   ra   )z
        Info about a team member.

        Only call this if :meth:`is_member_info` is true.

        :rtype: TeamMemberInfoV2
        r  r  rQ   r   r   r   r  4  rg   z$MembersGetInfoItemV2.get_member_infoc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   @  r+   z0MembersGetInfoItemV2._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   r  r  r`   r  r&   r4   r   r   r)   r   r    s    

r  c                       ru   )MembersGetInfoV2ArgzG
    :ivar team.MembersGetInfoV2Arg.members: List of team members.
    r  TNc                 C   rx   r   r  r  r   r   r   r    P  rz   zMembersGetInfoV2Arg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   Y  r+   z/MembersGetInfoV2Arg._process_custom_annotationsr   r  r   r   r)   r   r  E  r   r  c                       ru   )MembersGetInfoV2ResultzT
    :ivar team.MembersGetInfoV2Result.members_info: List of team members info.
    _members_info_valueTNc                 C   rx   r   )r   r   r  members_info)r   r  r   r   r   r    i  rz   zMembersGetInfoV2Result.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   r  r+   z2MembersGetInfoV2Result._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  ^  r   r  c                       r   )MembersInfoz
    :ivar team.MembersInfo.team_member_ids: Team member IDs of the users under
        this hold.
    :ivar team.MembersInfo.permanently_deleted_users: The number of permanently
        deleted users that were under this hold.
    _team_member_ids_value _permanently_deleted_users_valueTNc                 C   r   r   )r   r   r  r  team_member_idspermanently_deleted_users)r   r  r  r   r   r   r      r   zMembersInfo.__init__r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z'MembersInfo._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  w      


r  c                       r   )MembersListArgz
    :ivar team.MembersListArg.limit: Number of results to return per call.
    :ivar team.MembersListArg.include_removed: Whether to return removed
        members.
    r  _include_removed_valueFNc                 C   r   r   )r   r   r  r  r  include_removed)r   r  r  r   r   r   r      r   zMembersListArg.__init__r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z*MembersListArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r    r   r  c                       ru   )MembersListContinueArgzu
    :ivar team.MembersListContinueArg.cursor: Indicates from what point to get
        the next set of members.
    r  TNc                 C   rx   r   r  r  r   r   r   r      rz   zMembersListContinueArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z2MembersListContinueArg._process_custom_annotationsr   r  r   r   r)   r   r    r{   r  c                       r   )
MembersListContinueErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersListContinueError.invalid_cursor: The cursor is invalid.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r    rS   z*MembersListContinueError.is_invalid_cursorc                 C   rN   r_   rP   rQ   r   r   r   r`     rS   z!MembersListContinueError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&     r+   z4MembersListContinueError._process_custom_annotationsr  r   r   r)   r   r    r   r  c                       r   )MembersListErrorrt  r?   Nc                 C   rN   r_   rP   rQ   r   r   r   r`      rS   zMembersListError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&      r+   z,MembersListError._process_custom_annotationsr   r   r   r)   r   r    r  r  c                       r!  )MembersListResulta  
    :ivar team.MembersListResult.members: List of team members.
    :ivar team.MembersListResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` to
        obtain the additional members.
    :ivar team.MembersListResult.has_more: Is true if there are additional team
        members that have not been returned yet. An additional call to
        :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` can
        retrieve them.
    r+  TNc                 C   r$  r   r,  r-  r   r   r   r    (   r%  zMembersListResult.__init__r  r  r$  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ?   r+   z-MembersListResult._process_custom_annotationsr&  r.  r   r   r)   r   r         



r  c                       r!  )MembersListV2Resulta  
    :ivar team.MembersListV2Result.members: List of team members.
    :ivar team.MembersListV2Result.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` to
        obtain the additional members.
    :ivar team.MembersListV2Result.has_more: Is true if there are additional
        team members that have not been returned yet. An additional call to
        :meth:`dropbox.dropbox_client.Dropbox.team_members_list_continue` can
        retrieve them.
    r+  TNc                 C   r$  r   r,  r-  r   r   r   r    X   r%  zMembersListV2Result.__init__r  r  r$  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   o   r+   z/MembersListV2Result._process_custom_annotationsr&  r.  r   r   r)   r   r  D   r  r  c                       r.  )MembersRecoverArgz
    Exactly one of team_member_id, email, or external_id must be provided to
    identify the user account.

    :ivar team.MembersRecoverArg.user: Identity of user to recover.
    r  TNc                 C   rx   r   rz  r{  r   r   r   r       rz   zMembersRecoverArg.__init__r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&      r+   z-MembersRecoverArg._process_custom_annotationsr   r|  r   r   r)   r   r  t       
r  c                       r   )MembersRecoverErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersRecoverError.user_unrecoverable: The user is not
        recoverable.
    :ivar team.MembersRecoverError.user_not_in_team: The user is not a member of
        the team.
    :ivar team.MembersRecoverError.team_license_limit: Team is full. The
        organization has no available licenses.
    r?   Nc                 C   rN   )zY
        Check if the union tag is ``user_unrecoverable``.

        :rtype: bool
        user_unrecoverablerP   rQ   r   r   r   is_user_unrecoverable   rS   z)MembersRecoverError.is_user_unrecoverablec                 C   rN   rS  rP   rQ   r   r   r   rU     rS   z'MembersRecoverError.is_user_not_in_teamc                 C   rN   r  rP   rQ   r   r   r   r     rS   z)MembersRecoverError.is_team_license_limitc                 C   rN   r_   rP   rQ   r   r   r   r`      rS   zMembersRecoverError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&      r+   z/MembersRecoverError._process_custom_annotations)r-   r.   r/   r0   rs   r  rT  r
  r?   r  rU  r  r`   r&   r4   r   r   r)   r   r         r  c                       sz   e Zd ZdZg dZdZ						d fdd	ZejddddZ	ejd	dddZ
ed
ZedZ fddZ  ZS )MembersRemoveArga  
    :ivar team.MembersRemoveArg.transfer_dest_id: If provided, files from the
        deleted member account will be transferred to this user.
    :ivar team.MembersRemoveArg.transfer_admin_id: If provided, errors during
        the transfer process will be sent via email to this user. If the
        transfer_dest_id argument was provided, then this argument must be
        provided as well.
    :ivar team.MembersRemoveArg.keep_account: Downgrade the member to a Basic
        account. The user will retain the email address associated with their
        Dropbox  account and data in their account that is not restricted to
        team members. In order to keep the account the argument ``wipe_data``
        should be set to ``False``.
    :ivar team.MembersRemoveArg.retain_team_shares: If provided, allows removed
        users to keep access to Dropbox folders (not Dropbox Paper folders)
        already explicitly shared with them (not via a group) when they are
        downgraded to a Basic account. Users will not retain access to folders
        that do not allow external sharing. In order to keep the sharing
        relationships, the arguments ``wipe_data`` should be set to ``False``
        and ``keep_account`` should be set to ``True``.
    )r~  r  _keep_account_value_retain_team_shares_valueTNc                    sr   t t| || tj| _tj| _tj| _tj| _|d ur || _	|d ur'|| _
|d ur.|| _|d ur7|| _d S d S r   )r%   r  r    r   r   r~  r  r  r  r  r  keep_accountretain_team_shares)r   r  r  r  r  r  r  r)   r   r   r       s    
zMembersRemoveArg.__init__r  r  r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   !  r+   z,MembersRemoveArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r&   r4   r   r   r)   r   r     s     

r  c                       s   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdd Zdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )MembersTransferFilesErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar
        team.MembersTransferFilesError.removed_and_transfer_dest_should_differ:
        Expected removed user and transfer_dest user to be different.
    :ivar
        team.MembersTransferFilesError.removed_and_transfer_admin_should_differ:
        Expected removed user and transfer_admin user to be different.
    :ivar team.MembersTransferFilesError.transfer_dest_user_not_found: No
        matching user found for the argument transfer_dest_id.
    :ivar team.MembersTransferFilesError.transfer_dest_user_not_in_team: The
        provided transfer_dest_id does not exist on this team.
    :ivar team.MembersTransferFilesError.transfer_admin_user_not_in_team: The
        provided transfer_admin_id does not exist on this team.
    :ivar team.MembersTransferFilesError.transfer_admin_user_not_found: No
        matching user found for the argument transfer_admin_id.
    :ivar team.MembersTransferFilesError.unspecified_transfer_admin_id: The
        transfer_admin_id argument must be provided when file transfer is
        requested.
    :ivar team.MembersTransferFilesError.transfer_admin_is_not_admin: Specified
        transfer_admin user is not a team admin.
    :ivar team.MembersTransferFilesError.recipient_not_verified: The recipient
        user's email is not verified.
    Nc                 C   rN   )zn
        Check if the union tag is ``removed_and_transfer_dest_should_differ``.

        :rtype: bool
        'removed_and_transfer_dest_should_differrP   rQ   r   r   r   *is_removed_and_transfer_dest_should_differC!  rS   zDMembersTransferFilesError.is_removed_and_transfer_dest_should_differc                 C   rN   )zo
        Check if the union tag is ``removed_and_transfer_admin_should_differ``.

        :rtype: bool
        (removed_and_transfer_admin_should_differrP   rQ   r   r   r   +is_removed_and_transfer_admin_should_differK!  rS   zEMembersTransferFilesError.is_removed_and_transfer_admin_should_differc                 C   rN   )zc
        Check if the union tag is ``transfer_dest_user_not_found``.

        :rtype: bool
        transfer_dest_user_not_foundrP   rQ   r   r   r   is_transfer_dest_user_not_foundS!  rS   z9MembersTransferFilesError.is_transfer_dest_user_not_foundc                 C   rN   )ze
        Check if the union tag is ``transfer_dest_user_not_in_team``.

        :rtype: bool
        transfer_dest_user_not_in_teamrP   rQ   r   r   r   !is_transfer_dest_user_not_in_team[!  rS   z;MembersTransferFilesError.is_transfer_dest_user_not_in_teamc                 C   rN   )zf
        Check if the union tag is ``transfer_admin_user_not_in_team``.

        :rtype: bool
        transfer_admin_user_not_in_teamrP   rQ   r   r   r   "is_transfer_admin_user_not_in_teamc!  rS   z<MembersTransferFilesError.is_transfer_admin_user_not_in_teamc                 C   rN   )zd
        Check if the union tag is ``transfer_admin_user_not_found``.

        :rtype: bool
        transfer_admin_user_not_foundrP   rQ   r   r   r    is_transfer_admin_user_not_foundk!  rS   z:MembersTransferFilesError.is_transfer_admin_user_not_foundc                 C   rN   )zd
        Check if the union tag is ``unspecified_transfer_admin_id``.

        :rtype: bool
        unspecified_transfer_admin_idrP   rQ   r   r   r    is_unspecified_transfer_admin_ids!  rS   z:MembersTransferFilesError.is_unspecified_transfer_admin_idc                 C   rN   )zb
        Check if the union tag is ``transfer_admin_is_not_admin``.

        :rtype: bool
        transfer_admin_is_not_adminrP   rQ   r   r   r   is_transfer_admin_is_not_admin{!  rS   z8MembersTransferFilesError.is_transfer_admin_is_not_adminc                 C   rN   )z]
        Check if the union tag is ``recipient_not_verified``.

        :rtype: bool
        recipient_not_verifiedrP   rQ   r   r   r   is_recipient_not_verified!  rS   z3MembersTransferFilesError.is_recipient_not_verifiedc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   !  r+   z5MembersTransferFilesError._process_custom_annotations)r-   r.   r/   r0   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&   r4   r   r   r)   r   r  !  s*    r  c                       s   e 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d Zdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )MembersRemoveErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersRemoveError.remove_last_admin: The user is the last admin
        of the team, so it cannot be removed from it.
    :ivar team.MembersRemoveError.cannot_keep_account_and_transfer: Cannot keep
        account and transfer the data to another user at the same time.
    :ivar team.MembersRemoveError.cannot_keep_account_and_delete_data: Cannot
        keep account and delete the data at the same time. To keep the account
        the argument wipe_data should be set to ``False``.
    :ivar team.MembersRemoveError.email_address_too_long_to_be_disabled: The
        email address of the user is too long to be disabled.
    :ivar team.MembersRemoveError.cannot_keep_invited_user_account: Cannot keep
        account of an invited user.
    :ivar team.MembersRemoveError.cannot_retain_shares_when_data_wiped: Cannot
        retain team shares when the user's data is marked for deletion on their
        linked devices. The argument wipe_data should be set to ``False``.
    :ivar team.MembersRemoveError.cannot_retain_shares_when_no_account_kept: The
        user's account must be kept in order to retain team shares. The argument
        keep_account should be set to ``True``.
    :ivar
        team.MembersRemoveError.cannot_retain_shares_when_team_external_sharing_off:
        Externally sharing files, folders, and links must be enabled in team
        settings in order to retain team shares for the user.
    :ivar team.MembersRemoveError.cannot_keep_account: Only a team admin, can
        convert this account to a Basic account.
    :ivar team.MembersRemoveError.cannot_keep_account_under_legal_hold: This
        user content is currently being held. To convert this member's account
        to a Basic account, you'll first need to remove them from the hold.
    :ivar team.MembersRemoveError.cannot_keep_account_required_to_sign_tos: To
        convert this member to a Basic account, they'll first need to sign in to
        Dropbox and agree to the terms of service.
    Nc                 C   rN   )zX
        Check if the union tag is ``remove_last_admin``.

        :rtype: bool
        remove_last_adminrP   rQ   r   r   r   is_remove_last_admin!  rS   z'MembersRemoveError.is_remove_last_adminc                 C   rN   )zg
        Check if the union tag is ``cannot_keep_account_and_transfer``.

        :rtype: bool
         cannot_keep_account_and_transferrP   rQ   r   r   r   #is_cannot_keep_account_and_transfer!  rS   z6MembersRemoveError.is_cannot_keep_account_and_transferc                 C   rN   )zj
        Check if the union tag is ``cannot_keep_account_and_delete_data``.

        :rtype: bool
        #cannot_keep_account_and_delete_datarP   rQ   r   r   r   &is_cannot_keep_account_and_delete_data!  rS   z9MembersRemoveError.is_cannot_keep_account_and_delete_datac                 C   rN   )zl
        Check if the union tag is ``email_address_too_long_to_be_disabled``.

        :rtype: bool
        %email_address_too_long_to_be_disabledrP   rQ   r   r   r   (is_email_address_too_long_to_be_disabled!  rS   z;MembersRemoveError.is_email_address_too_long_to_be_disabledc                 C   rN   )zg
        Check if the union tag is ``cannot_keep_invited_user_account``.

        :rtype: bool
         cannot_keep_invited_user_accountrP   rQ   r   r   r   #is_cannot_keep_invited_user_account!  rS   z6MembersRemoveError.is_cannot_keep_invited_user_accountc                 C   rN   )zk
        Check if the union tag is ``cannot_retain_shares_when_data_wiped``.

        :rtype: bool
        $cannot_retain_shares_when_data_wipedrP   rQ   r   r   r   'is_cannot_retain_shares_when_data_wiped!  rS   z:MembersRemoveError.is_cannot_retain_shares_when_data_wipedc                 C   rN   )zp
        Check if the union tag is ``cannot_retain_shares_when_no_account_kept``.

        :rtype: bool
        )cannot_retain_shares_when_no_account_keptrP   rQ   r   r   r   ,is_cannot_retain_shares_when_no_account_kept!  rS   z?MembersRemoveError.is_cannot_retain_shares_when_no_account_keptc                 C   rN   )zz
        Check if the union tag is ``cannot_retain_shares_when_team_external_sharing_off``.

        :rtype: bool
        3cannot_retain_shares_when_team_external_sharing_offrP   rQ   r   r   r   6is_cannot_retain_shares_when_team_external_sharing_off"  rS   zIMembersRemoveError.is_cannot_retain_shares_when_team_external_sharing_offc                 C   rN   )zZ
        Check if the union tag is ``cannot_keep_account``.

        :rtype: bool
        cannot_keep_accountrP   rQ   r   r   r   is_cannot_keep_account"  rS   z)MembersRemoveError.is_cannot_keep_accountc                 C   rN   )zk
        Check if the union tag is ``cannot_keep_account_under_legal_hold``.

        :rtype: bool
        $cannot_keep_account_under_legal_holdrP   rQ   r   r   r   'is_cannot_keep_account_under_legal_hold"  rS   z:MembersRemoveError.is_cannot_keep_account_under_legal_holdc                 C   rN   )zo
        Check if the union tag is ``cannot_keep_account_required_to_sign_tos``.

        :rtype: bool
        (cannot_keep_account_required_to_sign_tosrP   rQ   r   r   r   +is_cannot_keep_account_required_to_sign_tos"  rS   z>MembersRemoveError.is_cannot_keep_account_required_to_sign_tosc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   $"  r+   z.MembersRemoveError._process_custom_annotations)r-   r.   r/   r0   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&   r4   r   r   r)   r   r  !  s2    %r  c                       r   )MembersSendWelcomeErrorrt  r?   Nc                 C   rN   r_   rP   rQ   r   r   r   r`   4"  rS   z MembersSendWelcomeError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   <"  r+   z3MembersSendWelcomeError._process_custom_annotationsr   r   r   r)   r   r  )"  r  r  c                       V   e Zd ZdZddgZdZ		dddZejddd	Z	ejd
ddZ
 fddZ  ZS )MembersSetPermissions2Arga  
    Exactly one of team_member_id, email, or external_id must be provided to
    identify the user account.

    :ivar team.MembersSetPermissions2Arg.user: Identity of user whose role will
        be set.
    :ivar team.MembersSetPermissions2Arg.new_roles: The new roles for the
        member. Send empty list to make user member only. For now, only up to
        one role is allowed.
    r  _new_roles_valueTNc                 C   r   r   )r   r   r  r  r  	new_roles)r   r  r  r   r   r   r    T"  r   z"MembersSetPermissions2Arg.__init__r  r   r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   d"  r+   z5MembersSetPermissions2Arg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  A"  s    
r  c                       r3  )MembersSetPermissions2Errora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersSetPermissions2Error.last_admin: Cannot remove the admin
        setting of the last admin.
    :ivar team.MembersSetPermissions2Error.user_not_in_team: The user is not a
        member of the team.
    :ivar team.MembersSetPermissions2Error.cannot_set_permissions: Cannot
        remove/grant permissions. This can happen if the team member is
        suspended.
    :ivar team.MembersSetPermissions2Error.role_not_found: No matching role
        found. At least one of the provided new_roles does not exist on this
        team.
    r?   Nc                 C   rN   zQ
        Check if the union tag is ``last_admin``.

        :rtype: bool
        
last_adminrP   rQ   r   r   r   is_last_admin"  rS   z)MembersSetPermissions2Error.is_last_adminc                 C   rN   rS  rP   rQ   r   r   r   rU  "  rS   z/MembersSetPermissions2Error.is_user_not_in_teamc                 C   rN   z]
        Check if the union tag is ``cannot_set_permissions``.

        :rtype: bool
        cannot_set_permissionsrP   rQ   r   r   r   is_cannot_set_permissions"  rS   z5MembersSetPermissions2Error.is_cannot_set_permissionsc                 C   rN   )zU
        Check if the union tag is ``role_not_found``.

        :rtype: bool
        role_not_foundrP   rQ   r   r   r   is_role_not_found"  rS   z-MembersSetPermissions2Error.is_role_not_foundc                 C   rN   r_   rP   rQ   r   r   r   r`   "  rS   z$MembersSetPermissions2Error.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   "  r+   z7MembersSetPermissions2Error._process_custom_annotations)r-   r.   r/   r0   rs   r  rT  r  r  r?   r  rU  r  r  r`   r&   r4   r   r   r)   r   r  i"  s    r  c                       r  )MembersSetPermissions2Resulta  
    :ivar team.MembersSetPermissions2Result.team_member_id: The member ID of the
        user to which the change was applied.
    :ivar team.MembersSetPermissions2Result.roles: The roles after the change.
        Empty in case the user become a non-admin.
    r   r  TNc                 C   r   r   )r   r   r   r  r   r  )r   r   r  r   r   r   r    "  r   z%MembersSetPermissions2Result.__init__r   r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   "  r+   z8MembersSetPermissions2Result._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r  r&   r4   r   r   r)   r   r  "  r  r  c                       r  )MembersSetPermissionsArga  
    Exactly one of team_member_id, email, or external_id must be provided to
    identify the user account.

    :ivar team.MembersSetPermissionsArg.user: Identity of user whose role will
        be set.
    :ivar team.MembersSetPermissionsArg.new_role: The new role of the member.
    r  _new_role_valueTNc                 C   r   r   )r   r   r  r  r  new_role)r   r  r  r   r   r   r    "  r   z!MembersSetPermissionsArg.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   "  r+   z4MembersSetPermissionsArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  "  r   r  c                       r3  )MembersSetPermissionsErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersSetPermissionsError.last_admin: Cannot remove the admin
        setting of the last admin.
    :ivar team.MembersSetPermissionsError.user_not_in_team: The user is not a
        member of the team.
    :ivar team.MembersSetPermissionsError.cannot_set_permissions: Cannot
        remove/grant permissions.
    :ivar team.MembersSetPermissionsError.team_license_limit: Team is full. The
        organization has no available licenses.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r  #  rS   z(MembersSetPermissionsError.is_last_adminc                 C   rN   rS  rP   rQ   r   r   r   rU  "#  rS   z.MembersSetPermissionsError.is_user_not_in_teamc                 C   rN   r  rP   rQ   r   r   r   r  *#  rS   z4MembersSetPermissionsError.is_cannot_set_permissionsc                 C   rN   r  rP   rQ   r   r   r   r  2#  rS   z0MembersSetPermissionsError.is_team_license_limitc                 C   rN   r_   rP   rQ   r   r   r   r`   :#  rS   z#MembersSetPermissionsError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   B#  r+   z6MembersSetPermissionsError._process_custom_annotations)r-   r.   r/   r0   rs   r  rT  r  r
  r?   r  rU  r  r  r`   r&   r4   r   r   r)   r   r  "  r  r  c                       r  )MembersSetPermissionsResultz
    :ivar team.MembersSetPermissionsResult.team_member_id: The member ID of the
        user to which the change was applied.
    :ivar team.MembersSetPermissionsResult.role: The role after the change.
    r   r  TNc                 C   r   r   )r   r   r   r  r   r  )r   r   r  r   r   r   r    U#  r   z$MembersSetPermissionsResult.__init__r   r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   e#  r+   z7MembersSetPermissionsResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r   r  r&   r4   r   r   r)   r   r  G#  s    

r  c                       s   e Zd ZdZg dZdZ							dddZejdddZ	ejd	dd
Z
ejddd
Zejddd
Zejddd
Zejddd
Zejddd
Z fddZ  ZS )MembersSetProfileArga  
    Exactly one of team_member_id, email, or external_id must be provided to
    identify the user account. At least one of new_email, new_external_id,
    new_given_name, and/or new_surname must be provided.

    :ivar team.MembersSetProfileArg.user: Identity of user whose profile will be
        set.
    :ivar team.MembersSetProfileArg.new_email: New email for member.
    :ivar team.MembersSetProfileArg.new_external_id: New external ID for member.
    :ivar team.MembersSetProfileArg.new_given_name: New given name for member.
    :ivar team.MembersSetProfileArg.new_surname: New surname for member.
    :ivar team.MembersSetProfileArg.new_persistent_id: New persistent ID. This
        field only available to teams using persistent ID SAML configuration.
    :ivar team.MembersSetProfileArg.new_is_directory_restricted: New value for
        whether the user is a directory restricted user.
    )r  _new_email_value_new_external_id_value_new_given_name_value_new_surname_value_new_persistent_id_value"_new_is_directory_restricted_valueTNc                 C   r  r   )r   r   r  r  r  r  r  r   r  r  	new_emailnew_external_idnew_given_namenew_surnamenew_persistent_idnew_is_directory_restricted)r   r  r  r  r  r  r  r  r   r   r   r    #  r  zMembersSetProfileArg.__init__r  r   r  r"   r  r  r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   #  r+   z0MembersSetProfileArg._process_custom_annotationsr	  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r  r  r  r  r&   r4   r   r   r)   r   r  j#  s(    

r  c                       s   e 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d Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )MembersSetProfileErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersSetProfileError.external_id_and_new_external_id_unsafe: It
        is unsafe to use both external_id and new_external_id.
    :ivar team.MembersSetProfileError.no_new_data_specified: None of new_email,
        new_given_name, new_surname, or new_external_id are specified.
    :ivar team.MembersSetProfileError.email_reserved_for_other_user: Email is
        already reserved for another user.
    :ivar team.MembersSetProfileError.external_id_used_by_other_user: The
        external ID is already in use by another team member.
    :ivar team.MembersSetProfileError.set_profile_disallowed: Modifying deleted
        users is not allowed.
    :ivar team.MembersSetProfileError.param_cannot_be_empty: Parameter new_email
        cannot be empty.
    :ivar team.MembersSetProfileError.persistent_id_disabled: Persistent ID is
        only available to teams with persistent ID SAML configuration. Please
        contact Dropbox for more information.
    :ivar team.MembersSetProfileError.persistent_id_used_by_other_user: The
        persistent ID is already in use by another team member.
    :ivar team.MembersSetProfileError.directory_restricted_off: Directory
        Restrictions option is not available.
    r?   Nc                 C   rN   )zm
        Check if the union tag is ``external_id_and_new_external_id_unsafe``.

        :rtype: bool
        &external_id_and_new_external_id_unsaferP   rQ   r   r   r   )is_external_id_and_new_external_id_unsafe#  rS   z@MembersSetProfileError.is_external_id_and_new_external_id_unsafec                 C   rN   )z\
        Check if the union tag is ``no_new_data_specified``.

        :rtype: bool
        no_new_data_specifiedrP   rQ   r   r   r   is_no_new_data_specified#  rS   z/MembersSetProfileError.is_no_new_data_specifiedc                 C   rN   )zd
        Check if the union tag is ``email_reserved_for_other_user``.

        :rtype: bool
        email_reserved_for_other_userrP   rQ   r   r   r    is_email_reserved_for_other_user$  rS   z7MembersSetProfileError.is_email_reserved_for_other_userc                 C   rN   )ze
        Check if the union tag is ``external_id_used_by_other_user``.

        :rtype: bool
        external_id_used_by_other_userrP   rQ   r   r   r   !is_external_id_used_by_other_user	$  rS   z8MembersSetProfileError.is_external_id_used_by_other_userc                 C   rN   r  rP   rQ   r   r   r   r  $  rS   z0MembersSetProfileError.is_set_profile_disallowedc                 C   rN   )z\
        Check if the union tag is ``param_cannot_be_empty``.

        :rtype: bool
        param_cannot_be_emptyrP   rQ   r   r   r   is_param_cannot_be_empty$  rS   z/MembersSetProfileError.is_param_cannot_be_emptyc                 C   rN   r  rP   rQ   r   r   r   r  !$  rS   z0MembersSetProfileError.is_persistent_id_disabledc                 C   rN   )zg
        Check if the union tag is ``persistent_id_used_by_other_user``.

        :rtype: bool
         persistent_id_used_by_other_userrP   rQ   r   r   r   #is_persistent_id_used_by_other_user)$  rS   z:MembersSetProfileError.is_persistent_id_used_by_other_userc                 C   rN   )z_
        Check if the union tag is ``directory_restricted_off``.

        :rtype: bool
        directory_restricted_offrP   rQ   r   r   r   is_directory_restricted_off1$  rS   z2MembersSetProfileError.is_directory_restricted_offc                 C   rN   r_   rP   rQ   r   r   r   r`   9$  rS   zMembersSetProfileError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   A$  r+   z2MembersSetProfileError._process_custom_annotations)r-   r.   r/   r0   rs   r	  r  r  r  r  r  r  r  r  r?   r
  r  r  r  r  r  r  r  r  r`   r&   r4   r   r   r)   r   r  #  s0    r  c                       r  )MembersSetProfilePhotoArgz
    :ivar team.MembersSetProfilePhotoArg.user: Identity of the user whose
        profile photo will be set.
    :ivar team.MembersSetProfilePhotoArg.photo: Image to set as the member's new
        profile photo.
    r  _photo_valueTNc                 C   r   r   )r   r   r  r  r  photo)r   r  r  r   r   r   r    U$  r   z"MembersSetProfilePhotoArg.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   e$  r+   z5MembersSetProfilePhotoArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  F$  r  r  c                       X   e Zd ZdZdZdZdZedd Zdd Z	dd	 Z
d
d Zdd Z fddZ  ZS )MembersSetProfilePhotoErrora9  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersSetProfilePhotoError.set_profile_disallowed: Modifying
        deleted users is not allowed.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``photo_error`` tag with
        value ``val``.

        :param account.SetProfilePhotoError val:
        :rtype: MembersSetProfilePhotoError
        photo_errorr   rB   r   r   r   r  z$  rE   z'MembersSetProfilePhotoError.photo_errorc                 C   rN   r  rP   rQ   r   r   r   r  $  rS   z5MembersSetProfilePhotoError.is_set_profile_disallowedc                 C   rN   )zR
        Check if the union tag is ``photo_error``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_photo_error$  rS   z*MembersSetProfilePhotoError.is_photo_errorc                 C   rN   r_   rP   rQ   r   r   r   r`   $  rS   z$MembersSetProfilePhotoError.is_otherc                 C   ra   )zq
        Only call this if :meth:`is_photo_error` is true.

        :rtype: account.SetProfilePhotoError
        ztag 'photo_error' not set)r  rd   re   rQ   r   r   r   get_photo_error$  r   z+MembersSetProfilePhotoError.get_photo_errorc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   $  r+   z7MembersSetProfilePhotoError._process_custom_annotations)r-   r.   r/   r0   rs   r  r?   rt   r  r  r  r`   r  r&   r4   r   r   r)   r   r  j$  s    	


r  c                       r  )MembersSuspendErrora6  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersSuspendError.suspend_inactive_user: The user is not
        active, so it cannot be suspended.
    :ivar team.MembersSuspendError.suspend_last_admin: The user is the last
        admin of the team, so it cannot be suspended.
    :ivar team.MembersSuspendError.team_license_limit: Team is full. The
        organization has no available licenses.
    Nc                 C   rN   )z\
        Check if the union tag is ``suspend_inactive_user``.

        :rtype: bool
        suspend_inactive_userrP   rQ   r   r   r   is_suspend_inactive_user$  rS   z,MembersSuspendError.is_suspend_inactive_userc                 C   rN   )zY
        Check if the union tag is ``suspend_last_admin``.

        :rtype: bool
        suspend_last_adminrP   rQ   r   r   r   is_suspend_last_admin$  rS   z)MembersSuspendError.is_suspend_last_adminc                 C   rN   r  rP   rQ   r   r   r   r  $  rS   z)MembersSuspendError.is_team_license_limitc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   $  r+   z/MembersSuspendError._process_custom_annotations)r-   r.   r/   r0   r   r"  r
  r!  r#  r  r&   r4   r   r   r)   r   r  $  r  r  c                       sP   e Zd ZdZdZdZdZdZdd Zdd Z	dd Z
d	d
 Z fddZ  ZS )&MembersTransferFormerMembersFilesErrora5  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar
        team.MembersTransferFormerMembersFilesError.user_data_is_being_transferred:
        The user's data is being transferred. Please wait some time before
        retrying.
    :ivar team.MembersTransferFormerMembersFilesError.user_not_removed: No
        matching removed user found for the argument user.
    :ivar
        team.MembersTransferFormerMembersFilesError.user_data_cannot_be_transferred:
        User files aren't transferable anymore.
    :ivar
        team.MembersTransferFormerMembersFilesError.user_data_already_transferred:
        User's data has already been transferred to another user.
    Nc                 C   rN   )ze
        Check if the union tag is ``user_data_is_being_transferred``.

        :rtype: bool
        user_data_is_being_transferredrP   rQ   r   r   r   !is_user_data_is_being_transferred$  rS   zHMembersTransferFormerMembersFilesError.is_user_data_is_being_transferredc                 C   rN   )zW
        Check if the union tag is ``user_not_removed``.

        :rtype: bool
        user_not_removedrP   rQ   r   r   r   is_user_not_removed%  rS   z:MembersTransferFormerMembersFilesError.is_user_not_removedc                 C   rN   )zf
        Check if the union tag is ``user_data_cannot_be_transferred``.

        :rtype: bool
        user_data_cannot_be_transferredrP   rQ   r   r   r   "is_user_data_cannot_be_transferred%  rS   zIMembersTransferFormerMembersFilesError.is_user_data_cannot_be_transferredc                 C   rN   )zd
        Check if the union tag is ``user_data_already_transferred``.

        :rtype: bool
        user_data_already_transferredrP   rQ   r   r   r    is_user_data_already_transferred%  rS   zGMembersTransferFormerMembersFilesError.is_user_data_already_transferredc                    r$   r   )r%   r$  r&   r'   r)   r   r   r&   %  r+   zBMembersTransferFormerMembersFilesError._process_custom_annotations)r-   r.   r/   r0   r%  r'  r)  r+  r&  r(  r*  r,  r&   r4   r   r   r)   r   r$  $  s    r$  c                       r.  )MembersUnsuspendArgz
    Exactly one of team_member_id, email, or external_id must be provided to
    identify the user account.

    :ivar team.MembersUnsuspendArg.user: Identity of user to unsuspend.
    r  TNc                 C   rx   r   rz  r{  r   r   r   r    .%  rz   zMembersUnsuspendArg.__init__r  r   c                    r$   r   )r%   r-  r&   r'   r)   r   r   r&   7%  r+   z/MembersUnsuspendArg._process_custom_annotationsr   r|  r   r   r)   r   r-   %  r  r-  c                       s8   e Zd ZdZdZdZdd Zdd Z fddZ  Z	S )	MembersUnsuspendErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MembersUnsuspendError.unsuspend_non_suspended_member: The user is
        unsuspended, so it cannot be unsuspended again.
    :ivar team.MembersUnsuspendError.team_license_limit: Team is full. The
        organization has no available licenses.
    Nc                 C   rN   )ze
        Check if the union tag is ``unsuspend_non_suspended_member``.

        :rtype: bool
        unsuspend_non_suspended_memberrP   rQ   r   r   r   !is_unsuspend_non_suspended_memberM%  rS   z7MembersUnsuspendError.is_unsuspend_non_suspended_memberc                 C   rN   r  rP   rQ   r   r   r   r  U%  rS   z+MembersUnsuspendError.is_team_license_limitc                    r$   r   )r%   r.  r&   r'   r)   r   r   r&   ]%  r+   z1MembersUnsuspendError._process_custom_annotations)
r-   r.   r/   r0   r/  r
  r0  r  r&   r4   r   r   r)   r   r.  <%  s    r.  c                       sl   e Zd ZdZdZdZdZdZdZdZ	dZ
dd Zdd Zdd	 Zd
d Zdd Zdd Z fddZ  ZS )MobileClientPlatformaf  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.MobileClientPlatform.iphone: Official Dropbox iPhone client.
    :ivar team.MobileClientPlatform.ipad: Official Dropbox iPad client.
    :ivar team.MobileClientPlatform.android: Official Dropbox Android client.
    :ivar team.MobileClientPlatform.windows_phone: Official Dropbox Windows
        phone client.
    :ivar team.MobileClientPlatform.blackberry: Official Dropbox Blackberry
        client.
    r?   Nc                 C   rN   )zM
        Check if the union tag is ``iphone``.

        :rtype: bool
        iphonerP   rQ   r   r   r   	is_iphone%  rS   zMobileClientPlatform.is_iphonec                 C   rN   )zK
        Check if the union tag is ``ipad``.

        :rtype: bool
        ipadrP   rQ   r   r   r   is_ipad%  rS   zMobileClientPlatform.is_ipadc                 C   rN   )zN
        Check if the union tag is ``android``.

        :rtype: bool
        r  rP   rQ   r   r   r   
is_android%  rS   zMobileClientPlatform.is_androidc                 C   rN   )zT
        Check if the union tag is ``windows_phone``.

        :rtype: bool
        windows_phonerP   rQ   r   r   r   is_windows_phone%  rS   z%MobileClientPlatform.is_windows_phonec                 C   rN   )zQ
        Check if the union tag is ``blackberry``.

        :rtype: bool
        
blackberryrP   rQ   r   r   r   is_blackberry%  rS   z"MobileClientPlatform.is_blackberryc                 C   rN   r_   rP   rQ   r   r   r   r`   %  rS   zMobileClientPlatform.is_otherc                    r$   r   )r%   r1  r&   r'   r)   r   r   r&   %  r+   z0MobileClientPlatform._process_custom_annotations)r-   r.   r/   r0   rs   r2  r4  r  r7  r9  r?   r3  r5  r6  r8  r:  r`   r&   r4   r   r   r)   r   r1  b%  s     r1  c                       s   e Zd ZdZg dZdZ										d fdd	ZedZ	ejddd	Z
ejd
ddZejdddZejdddZ fddZ  ZS )MobileClientSessiona  
    Information about linked Dropbox mobile client sessions.

    :ivar team.MobileClientSession.device_name: The device name.
    :ivar team.MobileClientSession.client_type: The mobile application type.
    :ivar team.MobileClientSession.client_version: The dropbox client version.
    :ivar team.MobileClientSession.os_version: The hosting OS version.
    :ivar team.MobileClientSession.last_carrier: last carrier used by the
        device.
    )_device_name_valuer   r   _os_version_value_last_carrier_valueTNc                    s   t t| ||||| tj| _tj| _tj| _tj| _tj| _	|d ur'|| _
|d ur.|| _|d ur5|| _|	d ur<|	| _|
d urE|
| _d S d S r   )r%   r;  r    r   r   r<  r   r   r=  r>  device_namer   r   
os_versionlast_carrier)r   r   r?  r   r   r   r   r   r   r@  rA  r)   r   r   r    %  r   zMobileClientSession.__init__r?  r   r   r   r"   r@  rA  c                    r$   r   )r%   r;  r&   r'   r)   r   r   r&   %  r+   z/MobileClientSession._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r?  r   r   r@  rA  r&   r4   r   r   r)   r   r;  %  s*    
!r;  c                       sn   e Zd ZdZg dZdZ				dddZedZ	edZ
ejd	dd
ZejdddZ fddZ  ZS )NamespaceMetadataa  
    Properties of a namespace.

    :ivar team.NamespaceMetadata.name: The name of this namespace.
    :ivar team.NamespaceMetadata.namespace_id: The ID of this namespace.
    :ivar team.NamespaceMetadata.namespace_type: The type of this namespace.
    :ivar team.NamespaceMetadata.team_member_id: If this is a team member or app
        folder, the ID of the owning team member. Otherwise, this field is not
        present.
    )rX  _namespace_id_value_namespace_type_valuer   TNc                 C   r  r   )
r   r   rX  rC  rD  r   r\  namespace_idnamespace_typer   )r   r\  rE  rF  r   r   r   r   r    &  r  zNamespaceMetadata.__init__r\  rE  rF  r   r   r"   c                    r$   r   )r%   rB  r&   r'   r)   r   r   r&   1&  r+   z-NamespaceMetadata._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r\  rE  rF  r   r&   r4   r   r   r)   r   rB  %  s    


rB  c                       r3  )NamespaceTypea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.NamespaceType.app_folder: App sandbox folder.
    :ivar team.NamespaceType.shared_folder: Shared folder.
    :ivar team.NamespaceType.team_folder: Top-level team-owned folder.
    :ivar team.NamespaceType.team_member_folder: Team member's home folder.
    r?   Nc                 C   rN   )zQ
        Check if the union tag is ``app_folder``.

        :rtype: bool
        
app_folderrP   rQ   r   r   r   r   N&  rS   zNamespaceType.is_app_folderc                 C   rN   )zT
        Check if the union tag is ``shared_folder``.

        :rtype: bool
        shared_folderrP   rQ   r   r   r   is_shared_folderV&  rS   zNamespaceType.is_shared_folderc                 C   rN   )zR
        Check if the union tag is ``team_folder``.

        :rtype: bool
        team_folderrP   rQ   r   r   r   is_team_folder^&  rS   zNamespaceType.is_team_folderc                 C   rN   )zY
        Check if the union tag is ``team_member_folder``.

        :rtype: bool
        team_member_folderrP   rQ   r   r   r   is_team_member_folderf&  rS   z#NamespaceType.is_team_member_folderc                 C   rN   r_   rP   rQ   r   r   r   r`   n&  rS   zNamespaceType.is_otherc                    r$   r   )r%   rG  r&   r'   r)   r   r   r&   v&  r+   z)NamespaceType._process_custom_annotations)r-   r.   r/   r0   rs   rH  rI  rK  rM  r?   r   rJ  rL  rN  r`   r&   r4   r   r   r)   r   rG  6&  s    rG  c                       r   )RemoveCustomQuotaResulta  
    User result for setting member custom quota.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UserSelectorArg RemoveCustomQuotaResult.success: Successfully removed
        user.
    :ivar UserSelectorArg RemoveCustomQuotaResult.invalid_user: Invalid user
        (not in team).
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param UserSelectorArg val:
        :rtype: RemoveCustomQuotaResult
        rA   r   rB   r   r   r   rA   &  rE   zRemoveCustomQuotaResult.successc                 C   r@   )z
        Create an instance of this class set to the ``invalid_user`` tag with
        value ``val``.

        :param UserSelectorArg val:
        :rtype: RemoveCustomQuotaResult
        r   r   rB   r   r   r   r   &  rE   z$RemoveCustomQuotaResult.invalid_userc                 C   rN   rO   rP   rQ   r   r   r   rR   &  rS   z"RemoveCustomQuotaResult.is_successc                 C   rN   r   rP   rQ   r   r   r   r   &  rS   z'RemoveCustomQuotaResult.is_invalid_userc                 C   rN   r_   rP   rQ   r   r   r   r`   &  rS   z RemoveCustomQuotaResult.is_otherc                 C   ra   )z
        Successfully removed user.

        Only call this if :meth:`is_success` is true.

        :rtype: UserSelectorArg
        rb   rc   rQ   r   r   r   rf   &  rg   z#RemoveCustomQuotaResult.get_successc                 C   ra   r   r   rQ   r   r   r   r   &  rg   z(RemoveCustomQuotaResult.get_invalid_userc                    r$   r   )r%   rO  r&   r'   r)   r   r   r&   &  r+   z3RemoveCustomQuotaResult._process_custom_annotationsr   r   r   r)   r   rO  {&  s    



rO  c                       r   )RemovedStatusz
    :ivar team.RemovedStatus.is_recoverable: True if the removed team member is
        recoverable.
    :ivar team.RemovedStatus.is_disconnected: True if the team member's account
        was converted to individual account.
    _is_recoverable_value_is_disconnected_valueTNc                 C   r   r   )r   r   rQ  rR  is_recoverableis_disconnected)r   rS  rT  r   r   r   r    &  r   zRemovedStatus.__init__rS  rT  c                    r$   r   )r%   rP  r&   r'   r)   r   r   r&   &  r+   z)RemovedStatus._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   rS  rT  r&   r4   r   r   r)   r   rP  &  r  rP  c                       r   )ResendSecondaryEmailResulta  
    Result of trying to resend verification email to a secondary email address.
    'success' is the only value indicating that a verification email was
    successfully sent. The other values explain the type of error that occurred,
    and include the email for which the error occurred.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.ResendSecondaryEmailResult.success: A verification email was
        successfully sent to the secondary email address.
    :ivar str team.ResendSecondaryEmailResult.not_pending: This secondary email
        address is not pending for the user.
    :ivar str team.ResendSecondaryEmailResult.rate_limited: Too many emails are
        being sent to this email address. Please try again later.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param str val:
        :rtype: ResendSecondaryEmailResult
        rA   r   rB   r   r   r   rA   '  rE   z"ResendSecondaryEmailResult.successc                 C   r@   )z
        Create an instance of this class set to the ``not_pending`` tag with
        value ``val``.

        :param str val:
        :rtype: ResendSecondaryEmailResult
        not_pendingr   rB   r   r   r   rV  '  rE   z&ResendSecondaryEmailResult.not_pendingc                 C   r@   )z
        Create an instance of this class set to the ``rate_limited`` tag with
        value ``val``.

        :param str val:
        :rtype: ResendSecondaryEmailResult
        rM   r   rB   r   r   r   rM   )'  rE   z'ResendSecondaryEmailResult.rate_limitedc                 C   rN   rO   rP   rQ   r   r   r   rR   4'  rS   z%ResendSecondaryEmailResult.is_successc                 C   rN   )zR
        Check if the union tag is ``not_pending``.

        :rtype: bool
        rV  rP   rQ   r   r   r   is_not_pending<'  rS   z)ResendSecondaryEmailResult.is_not_pendingc                 C   rN   r]   rP   rQ   r   r   r   r^   D'  rS   z*ResendSecondaryEmailResult.is_rate_limitedc                 C   rN   r_   rP   rQ   r   r   r   r`   L'  rS   z#ResendSecondaryEmailResult.is_otherc                 C   ra   )z
        A verification email was successfully sent to the secondary email
        address.

        Only call this if :meth:`is_success` is true.

        :rtype: str
        rb   rc   rQ   r   r   r   rf   T'  rr   z&ResendSecondaryEmailResult.get_successc                 C   ra   )z
        This secondary email address is not pending for the user.

        Only call this if :meth:`is_not_pending` is true.

        :rtype: str
        ztag 'not_pending' not set)rW  rd   re   rQ   r   r   r   get_not_pendinga'  rg   z*ResendSecondaryEmailResult.get_not_pendingc                 C   ra   ro   rp   rQ   r   r   r   rq   m'  rr   z+ResendSecondaryEmailResult.get_rate_limitedc                    r$   r   )r%   rU  r&   r'   r)   r   r   r&   z'  r+   z6ResendSecondaryEmailResult._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   rA   rV  rM   rR   rW  r^   r`   rf   rX  rq   r&   r4   r   r   r)   r   rU  &  s$    





rU  c                       ru   )ResendVerificationEmailArgz
    :ivar team.ResendVerificationEmailArg.emails_to_resend: List of users and
        secondary emails to resend verification emails to.
    _emails_to_resend_valueTNc                 C   rx   r   )r   r   rZ  emails_to_resend)r   r[  r   r   r   r    '  rz   z#ResendVerificationEmailArg.__init__r[  c                    r$   r   )r%   rY  r&   r'   r)   r   r   r&   '  r+   z6ResendVerificationEmailArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r[  r&   r4   r   r   r)   r   rY  '  r{   rY  c                       ru   )ResendVerificationEmailResultz+
    List of users and resend results.
    r   TNc                 C   rx   r   r   r   r   r   r   r    '  rz   z&ResendVerificationEmailResult.__init__r   c                    r$   r   )r%   r\  r&   r'   r)   r   r   r&   '  r+   z9ResendVerificationEmailResult._process_custom_annotationsr   r   r   r   r)   r   r\  '  r   r\  c                       sH   e Zd ZdZdgZdZ			d
 fdd	ZedZ	 fdd	Z
  ZS )RevokeDesktopClientArgz
    :ivar team.RevokeDesktopClientArg.delete_on_unlink: Whether to delete all
        files of the account (this is possible only if supported by the desktop
        client and  will be made the next time the client access the account).
    _delete_on_unlink_valueTNc                    s0   t t| || tj| _|d ur|| _d S d S r   )r%   r]  r    r   r   r^  delete_on_unlink)r   r   r   r_  r)   r   r   r    '  s   
zRevokeDesktopClientArg.__init__r_  c                    r$   r   )r%   r]  r&   r'   r)   r   r   r&   '  r+   z2RevokeDesktopClientArg._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r_  r&   r4   r   r   r)   r   r]  '  s    
r]  c                       x   e Zd ZdZdZedd Zedd Zedd Zd	d
 Z	dd Z
dd Zdd Zdd Zdd Z fddZ  ZS )RevokeDeviceSessionArga  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar DeviceSessionArg RevokeDeviceSessionArg.web_session: End an active
        session.
    :ivar RevokeDesktopClientArg RevokeDeviceSessionArg.desktop_client: Unlink a
        linked desktop device.
    :ivar DeviceSessionArg RevokeDeviceSessionArg.mobile_client: Unlink a linked
        mobile device.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``web_session`` tag with
        value ``val``.

        :param DeviceSessionArg val:
        :rtype: RevokeDeviceSessionArg
        web_sessionr   rB   r   r   r   rb  '  rE   z"RevokeDeviceSessionArg.web_sessionc                 C   r@   )z
        Create an instance of this class set to the ``desktop_client`` tag with
        value ``val``.

        :param RevokeDesktopClientArg val:
        :rtype: RevokeDeviceSessionArg
        desktop_clientr   rB   r   r   r   rc  '  rE   z%RevokeDeviceSessionArg.desktop_clientc                 C   r@   )z
        Create an instance of this class set to the ``mobile_client`` tag with
        value ``val``.

        :param DeviceSessionArg val:
        :rtype: RevokeDeviceSessionArg
        mobile_clientr   rB   r   r   r   rd  '  rE   z$RevokeDeviceSessionArg.mobile_clientc                 C   rN   )zR
        Check if the union tag is ``web_session``.

        :rtype: bool
        rb  rP   rQ   r   r   r   is_web_session(  rS   z%RevokeDeviceSessionArg.is_web_sessionc                 C   rN   )zU
        Check if the union tag is ``desktop_client``.

        :rtype: bool
        rc  rP   rQ   r   r   r   is_desktop_client
(  rS   z(RevokeDeviceSessionArg.is_desktop_clientc                 C   rN   )zT
        Check if the union tag is ``mobile_client``.

        :rtype: bool
        rd  rP   rQ   r   r   r   is_mobile_client(  rS   z'RevokeDeviceSessionArg.is_mobile_clientc                 C   ra   )z
        End an active session.

        Only call this if :meth:`is_web_session` is true.

        :rtype: DeviceSessionArg
        ztag 'web_session' not set)re  rd   re   rQ   r   r   r   get_web_session(  rg   z&RevokeDeviceSessionArg.get_web_sessionc                 C   ra   )z
        Unlink a linked desktop device.

        Only call this if :meth:`is_desktop_client` is true.

        :rtype: RevokeDesktopClientArg
        ztag 'desktop_client' not set)rf  rd   re   rQ   r   r   r   get_desktop_client&(  rg   z)RevokeDeviceSessionArg.get_desktop_clientc                 C   ra   )z
        Unlink a linked mobile device.

        Only call this if :meth:`is_mobile_client` is true.

        :rtype: DeviceSessionArg
        ztag 'mobile_client' not set)rg  rd   re   rQ   r   r   r   get_mobile_client2(  rg   z(RevokeDeviceSessionArg.get_mobile_clientc                    r$   r   )r%   ra  r&   r'   r)   r   r   r&   >(  r+   z2RevokeDeviceSessionArg._process_custom_annotations)r-   r.   r/   r0   rs   rt   rb  rc  rd  re  rf  rg  rh  ri  rj  r&   r4   r   r   r)   r   ra  '  s     





ra  c                       r   )
RevokeDeviceSessionBatchArg_revoke_devices_valueTNc                 C   rx   r   )r   r   rl  revoke_devices)r   rm  r   r   r   r    K(  rz   z$RevokeDeviceSessionBatchArg.__init__rm  c                    r$   r   )r%   rk  r&   r'   r)   r   r   r&   T(  r+   z7RevokeDeviceSessionBatchArg._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   rm  r&   r4   r   r   r)   r   rk  C(  r   rk  c                       r   )RevokeDeviceSessionBatchErrorrt  r?   Nc                 C   rN   r_   rP   rQ   r   r   r   r`   d(  rS   z&RevokeDeviceSessionBatchError.is_otherc                    r$   r   )r%   rn  r&   r'   r)   r   r   r&   l(  r+   z9RevokeDeviceSessionBatchError._process_custom_annotationsr   r   r   r)   r   rn  Y(  r  rn  c                       r   )
RevokeDeviceSessionBatchResult_revoke_devices_status_valueTNc                 C   rx   r   )r   r   rp  revoke_devices_status)r   rq  r   r   r   r    y(  rz   z'RevokeDeviceSessionBatchResult.__init__rq  c                    r$   r   )r%   ro  r&   r'   r)   r   r   r&   (  r+   z:RevokeDeviceSessionBatchResult._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   rq  r&   r4   r   r   r)   r   ro  q(  r   ro  c                       r|   )RevokeDeviceSessionErrorav  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.RevokeDeviceSessionError.device_session_not_found: Device session
        not found.
    :ivar team.RevokeDeviceSessionError.member_not_found: Member not found.
    r?   Nc                 C   rN   )z_
        Check if the union tag is ``device_session_not_found``.

        :rtype: bool
        device_session_not_foundrP   rQ   r   r   r   is_device_session_not_found(  rS   z4RevokeDeviceSessionError.is_device_session_not_foundc                 C   rN   r  rP   rQ   r   r   r   r  (  rS   z,RevokeDeviceSessionError.is_member_not_foundc                 C   rN   r_   rP   rQ   r   r   r   r`   (  rS   z!RevokeDeviceSessionError.is_otherc                    r$   r   )r%   rr  r&   r'   r)   r   r   r&   (  r+   z4RevokeDeviceSessionError._process_custom_annotations)r-   r.   r/   r0   rs   rs  r  r?   rt  r  r`   r&   r4   r   r   r)   r   rr  (  s    
rr  c                       T   e Zd ZdZddgZdZ		dddZedZ	ejd	ddd
Z
 fddZ  ZS )RevokeDeviceSessionStatusz
    :ivar team.RevokeDeviceSessionStatus.success: Result of the revoking
        request.
    :ivar team.RevokeDeviceSessionStatus.error_type: The error cause in case of
        a failure.
    _success_value_error_type_valueTNc                 C   r   r   r   r   rw  rx  rA   
error_typer   rA   rz  r   r   r   r    (  r   z"RevokeDeviceSessionStatus.__init__rA   rz  r  c                    r$   r   )r%   rv  r&   r'   r)   r   r   r&   (  r+   z5RevokeDeviceSessionStatus._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   rA   rz  r&   r4   r   r   r)   r   rv  (      

rv  c                       r!  )RevokeLinkedApiAppArgaw  
    :ivar team.RevokeLinkedApiAppArg.app_id: The application's unique id.
    :ivar team.RevokeLinkedApiAppArg.team_member_id: The unique id of the member
        owning the device.
    :ivar team.RevokeLinkedApiAppArg.keep_app_folder: This flag is not longer
        supported, the application dedicated folder (in case the application
        uses  one) will be kept.
    )r   r   _keep_app_folder_valueTNc                 C   r$  r   )r   r   r   r   r  r   r   keep_app_folder)r   r   r   r  r   r   r   r    (  r%  zRevokeLinkedApiAppArg.__init__r   r   r  c                    r$   r   )r%   r~  r&   r'   r)   r   r   r&   )  r+   z1RevokeLinkedApiAppArg._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r   r   r  r&   r4   r   r   r)   r   r~  (  s    	



r~  c                       r   )
RevokeLinkedApiAppBatchArg_revoke_linked_app_valueTNc                 C   rx   r   )r   r   r  revoke_linked_app)r   r  r   r   r   r    )  rz   z#RevokeLinkedApiAppBatchArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   )  r+   z6RevokeLinkedApiAppBatchArg._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  	)  r   r  c                       r   )RevokeLinkedAppBatchErrora1  
    Error returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_revoke_linked_app_batch`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    r?   Nc                 C   rN   r_   rP   rQ   r   r   r   r`   -)  rS   z"RevokeLinkedAppBatchError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   5)  r+   z5RevokeLinkedAppBatchError._process_custom_annotationsr   r   r   r)   r   r  )  s    	r  c                       r   )
RevokeLinkedAppBatchResult_revoke_linked_app_status_valueTNc                 C   rx   r   )r   r   r  revoke_linked_app_status)r   r  r   r   r   r    B)  rz   z#RevokeLinkedAppBatchResult.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   K)  r+   z6RevokeLinkedAppBatchResult._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  :)  r   r  c                       r   )RevokeLinkedAppErrora1  
    Error returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_linked_apps_revoke_linked_app`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.RevokeLinkedAppError.app_not_found: Application not found.
    :ivar team.RevokeLinkedAppError.member_not_found: Member not found.
    :ivar team.RevokeLinkedAppError.app_folder_removal_not_supported: App folder
        removal is not supported.
    r?   Nc                 C   rN   )zT
        Check if the union tag is ``app_not_found``.

        :rtype: bool
        app_not_foundrP   rQ   r   r   r   is_app_not_foundi)  rS   z%RevokeLinkedAppError.is_app_not_foundc                 C   rN   r  rP   rQ   r   r   r   r  q)  rS   z(RevokeLinkedAppError.is_member_not_foundc                 C   rN   )zg
        Check if the union tag is ``app_folder_removal_not_supported``.

        :rtype: bool
         app_folder_removal_not_supportedrP   rQ   r   r   r   #is_app_folder_removal_not_supportedy)  rS   z8RevokeLinkedAppError.is_app_folder_removal_not_supportedc                 C   rN   r_   rP   rQ   r   r   r   r`   )  rS   zRevokeLinkedAppError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   )  r+   z0RevokeLinkedAppError._process_custom_annotations)r-   r.   r/   r0   rs   r  r  r  r?   r  r  r  r`   r&   r4   r   r   r)   r   r  P)  s    r  c                       ru  )RevokeLinkedAppStatusz
    :ivar team.RevokeLinkedAppStatus.success: Result of the revoking request.
    :ivar team.RevokeLinkedAppStatus.error_type: The error cause in case of a
        failure.
    rw  rx  TNc                 C   r   r   ry  r{  r   r   r   r    )  r   zRevokeLinkedAppStatus.__init__rA   rz  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   )  r+   z1RevokeLinkedAppStatus._process_custom_annotationsr   r|  r   r   r)   r   r  )  s    

r  c                       ru   )SetCustomQuotaArgzg
    :ivar team.SetCustomQuotaArg.users_and_quotas: List of users and their
        custom quotas.
    _users_and_quotas_valueTNc                 C   rx   r   )r   r   r  users_and_quotas)r   r  r   r   r   r    )  rz   zSetCustomQuotaArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   )  r+   z-SetCustomQuotaArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  )  r{   r  c                       r  )SetCustomQuotaErrora  
    Error returned when setting member custom quota.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.SetCustomQuotaError.some_users_are_excluded: Some of the users
        are on the excluded users list and can't have custom quota set.
    Nc                 C   rN   )z^
        Check if the union tag is ``some_users_are_excluded``.

        :rtype: bool
        some_users_are_excludedrP   rQ   r   r   r   is_some_users_are_excluded)  rS   z.SetCustomQuotaError.is_some_users_are_excludedc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   )  r+   z/SetCustomQuotaError._process_custom_annotations)r-   r.   r/   r0   r  r  r&   r4   r   r   r)   r   r  )  s
    r  c                       r   )SharingAllowlistAddArgsa  
    Structure representing Approve List entries. Domain and emails are
    supported. At least one entry of any supported type is required.

    :ivar team.SharingAllowlistAddArgs.domains: List of domains represented by
        valid string representation (RFC-1034/5).
    :ivar team.SharingAllowlistAddArgs.emails: List of emails represented by
        valid string representation (RFC-5322/822).
    _domains_value_emails_valueFNc                 C   r   r   r   r   r  r  domainsemailsr   r  r  r   r   r   r    )  r   z SharingAllowlistAddArgs.__init__r  Tr"   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   	*  r+   z3SharingAllowlistAddArgs._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  )  s    
r  c                       s   e Zd ZdZdZdZdZdZdZdZ	e
dd Ze
dd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )SharingAllowlistAddErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.SharingAllowlistAddError.malformed_entry: One of provided
        values is not valid.
    :ivar team.SharingAllowlistAddError.no_entries_provided: Neither single
        domain nor email provided.
    :ivar team.SharingAllowlistAddError.too_many_entries_provided: Too many
        entries provided within one call.
    :ivar team.SharingAllowlistAddError.team_limit_reached: Team entries limit
        reached.
    :ivar team.SharingAllowlistAddError.unknown_error: Unknown error.
    :ivar str team.SharingAllowlistAddError.entries_already_exist: Entries
        already exists.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``malformed_entry`` tag with
        value ``val``.

        :param str val:
        :rtype: SharingAllowlistAddError
        malformed_entryr   rB   r   r   r   r  -*  rE   z(SharingAllowlistAddError.malformed_entryc                 C   r@   )z
        Create an instance of this class set to the ``entries_already_exist``
        tag with value ``val``.

        :param str val:
        :rtype: SharingAllowlistAddError
        entries_already_existr   rB   r   r   r   r  8*  rE   z.SharingAllowlistAddError.entries_already_existc                 C   rN   zV
        Check if the union tag is ``malformed_entry``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_malformed_entryC*  rS   z+SharingAllowlistAddError.is_malformed_entryc                 C   rN   zZ
        Check if the union tag is ``no_entries_provided``.

        :rtype: bool
        no_entries_providedrP   rQ   r   r   r   is_no_entries_providedK*  rS   z/SharingAllowlistAddError.is_no_entries_providedc                 C   rN   z`
        Check if the union tag is ``too_many_entries_provided``.

        :rtype: bool
        too_many_entries_providedrP   rQ   r   r   r   is_too_many_entries_providedS*  rS   z5SharingAllowlistAddError.is_too_many_entries_providedc                 C   rN   )zY
        Check if the union tag is ``team_limit_reached``.

        :rtype: bool
        team_limit_reachedrP   rQ   r   r   r   is_team_limit_reached[*  rS   z.SharingAllowlistAddError.is_team_limit_reachedc                 C   rN   r[   rP   rQ   r   r   r   r\   c*  rS   z)SharingAllowlistAddError.is_unknown_errorc                 C   rN   )z\
        Check if the union tag is ``entries_already_exist``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_entries_already_existk*  rS   z1SharingAllowlistAddError.is_entries_already_existc                 C   rN   r_   rP   rQ   r   r   r   r`   s*  rS   z!SharingAllowlistAddError.is_otherc                 C   ra   z
        One of provided values is not valid.

        Only call this if :meth:`is_malformed_entry` is true.

        :rtype: str
        ztag 'malformed_entry' not setr  rd   re   rQ   r   r   r   get_malformed_entry{*  rg   z,SharingAllowlistAddError.get_malformed_entryc                 C   ra   )z
        Entries already exists.

        Only call this if :meth:`is_entries_already_exist` is true.

        :rtype: str
        z#tag 'entries_already_exist' not set)r  rd   re   rQ   r   r   r   get_entries_already_exist*  rg   z2SharingAllowlistAddError.get_entries_already_existc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   *  r+   z4SharingAllowlistAddError._process_custom_annotations)r-   r.   r/   r0   rs   r  r  r  rL   r?   rt   r  r  r  r  r  r  r\   r  r`   r  r  r&   r4   r   r   r)   r   r  *  s,    



r  c                       0   e Zd ZdZg ZdZdd Z fddZ  ZS )SharingAllowlistAddResponseu
    This struct is empty. The comment here is intentionally emitted to avoid
    indentation issues with Stone.
    Fc                 C      d S r   r   rQ   r   r   r   r    *     z$SharingAllowlistAddResponse.__init__c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   *  r+   z7SharingAllowlistAddResponse._process_custom_annotations	r-   r.   r/   r0   r1   r2   r    r&   r4   r   r   r)   r   r  *      r  c                       ru   )SharingAllowlistListArgzg
    :ivar team.SharingAllowlistListArg.limit: The number of entries to fetch at
        one time.
    r  FNc                 C   rx   r   r  r  r   r   r   r    *  rz   z SharingAllowlistListArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   *  r+   z3SharingAllowlistListArg._process_custom_annotationsr   r  r   r   r)   r   r  *  r{   r  c                       ru   )SharingAllowlistListContinueArga  
    :ivar team.SharingAllowlistListContinueArg.cursor: The cursor returned from
        a previous call to
        :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list` or
        :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list_continue`.
    r  TNc                 C   rx   r   r  r  r   r   r   r    *  rz   z(SharingAllowlistListContinueArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   *  r+   z;SharingAllowlistListContinueArg._process_custom_annotationsr   r  r   r   r)   r   r  *  r   r  c                       r   )
!SharingAllowlistListContinueErrora-  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.SharingAllowlistListContinueError.invalid_cursor: Provided cursor
        is not valid.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r  *  rS   z3SharingAllowlistListContinueError.is_invalid_cursorc                 C   rN   r_   rP   rQ   r   r   r   r`   *  rS   z*SharingAllowlistListContinueError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   +  r+   z=SharingAllowlistListContinueError._process_custom_annotationsr  r   r   r)   r   r  *  r  r  c                       r  )SharingAllowlistListErrorr  Fc                 C   r  r   r   rQ   r   r   r   r    +  r  z"SharingAllowlistListError.__init__c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   +  r+   z5SharingAllowlistListError._process_custom_annotationsr  r   r   r)   r   r  +  r  r  c                       r  )SharingAllowlistListResponsea  
    :ivar team.SharingAllowlistListResponse.domains: List of domains represented
        by valid string representation (RFC-1034/5).
    :ivar team.SharingAllowlistListResponse.emails: List of emails represented
        by valid string representation (RFC-5322/822).
    :ivar team.SharingAllowlistListResponse.cursor: If this is nonempty, there
        are more entries that can be fetched with
        :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list_continue`.
    :ivar team.SharingAllowlistListResponse.has_more: if true indicates that
        more entries can be fetched with
        :meth:`dropbox.dropbox_client.Dropbox.team_sharing_allowlist_list_continue`.
    )r  r  r  r"  TNc                 C   r  r   )
r   r   r  r  r  r"  r  r  r  r$  )r   r  r  r  r$  r   r   r   r    0+  r  z%SharingAllowlistListResponse.__init__r  r  r  r$  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   N+  r+   z8SharingAllowlistListResponse._process_custom_annotationsry  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r  r$  r&   r4   r   r   r)   r   r  +  s    




r  c                       r   )SharingAllowlistRemoveArgsa  
    :ivar team.SharingAllowlistRemoveArgs.domains: List of domains represented
        by valid string representation (RFC-1034/5).
    :ivar team.SharingAllowlistRemoveArgs.emails: List of emails represented by
        valid string representation (RFC-5322/822).
    r  r  FNc                 C   r   r   r  r  r   r   r   r    b+  r   z#SharingAllowlistRemoveArgs.__init__r  Tr"   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   r+  r+   z6SharingAllowlistRemoveArgs._process_custom_annotationsr   r  r   r   r)   r   r  S+  r  r  c                       s   e Zd ZdZdZdZdZdZdZe	dd Z
e	dd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Z fddZ  ZS )SharingAllowlistRemoveErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.SharingAllowlistRemoveError.malformed_entry: One of provided
        values is not valid.
    :ivar str team.SharingAllowlistRemoveError.entries_do_not_exist: One or more
        provided values do not exist.
    :ivar team.SharingAllowlistRemoveError.no_entries_provided: Neither single
        domain nor email provided.
    :ivar team.SharingAllowlistRemoveError.too_many_entries_provided: Too many
        entries provided within one call.
    :ivar team.SharingAllowlistRemoveError.unknown_error: Unknown error.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``malformed_entry`` tag with
        value ``val``.

        :param str val:
        :rtype: SharingAllowlistRemoveError
        r  r   rB   r   r   r   r  +  rE   z+SharingAllowlistRemoveError.malformed_entryc                 C   r@   )z
        Create an instance of this class set to the ``entries_do_not_exist`` tag
        with value ``val``.

        :param str val:
        :rtype: SharingAllowlistRemoveError
        entries_do_not_existr   rB   r   r   r   r  +  rE   z0SharingAllowlistRemoveError.entries_do_not_existc                 C   rN   r  rP   rQ   r   r   r   r  +  rS   z.SharingAllowlistRemoveError.is_malformed_entryc                 C   rN   )z[
        Check if the union tag is ``entries_do_not_exist``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_entries_do_not_exist+  rS   z3SharingAllowlistRemoveError.is_entries_do_not_existc                 C   rN   r  rP   rQ   r   r   r   r  +  rS   z2SharingAllowlistRemoveError.is_no_entries_providedc                 C   rN   r  rP   rQ   r   r   r   r  +  rS   z8SharingAllowlistRemoveError.is_too_many_entries_providedc                 C   rN   r[   rP   rQ   r   r   r   r\   +  rS   z,SharingAllowlistRemoveError.is_unknown_errorc                 C   rN   r_   rP   rQ   r   r   r   r`   +  rS   z$SharingAllowlistRemoveError.is_otherc                 C   ra   r  r  rQ   r   r   r   r  +  rg   z/SharingAllowlistRemoveError.get_malformed_entryc                 C   ra   )z
        One or more provided values do not exist.

        Only call this if :meth:`is_entries_do_not_exist` is true.

        :rtype: str
        z"tag 'entries_do_not_exist' not set)r  rd   re   rQ   r   r   r   get_entries_do_not_exist+  rg   z4SharingAllowlistRemoveError.get_entries_do_not_existc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   +  r+   z7SharingAllowlistRemoveError._process_custom_annotations)r-   r.   r/   r0   rs   r  r  rL   r?   rt   r  r  r  r  r  r  r\   r`   r  r  r&   r4   r   r   r)   r   r  w+  s(    



r  c                       r  )SharingAllowlistRemoveResponser  Fc                 C   r  r   r   rQ   r   r   r   r     ,  r  z'SharingAllowlistRemoveResponse.__init__c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ,  r+   z:SharingAllowlistRemoveResponse._process_custom_annotationsr  r   r   r)   r   r  +  r  r  c                       r   )StorageBucketaQ  
    Describes the number of users in a specific storage bucket.

    :ivar team.StorageBucket.bucket: The name of the storage bucket. For
        example, '1G' is a bucket of users with storage size up to 1 Giga.
    :ivar team.StorageBucket.users: The number of people whose storage is in the
        range of this storage bucket.
    _bucket_valuer   TNc                 C   r   r   )r   r   r  r   bucketr   )r   r  r   r   r   r   r    ,  r   zStorageBucket.__init__r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ),  r+   z)StorageBucket._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r   r&   r4   r   r   r)   r   r  ,  s    



r  c                       r|   )TeamFolderAccessErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderAccessError.invalid_team_folder_id: The team folder ID
        is invalid.
    :ivar team.TeamFolderAccessError.no_access: The authenticated app does not
        have permission to manage that team folder.
    r?   Nc                 C   rN   )z]
        Check if the union tag is ``invalid_team_folder_id``.

        :rtype: bool
        invalid_team_folder_idrP   rQ   r   r   r   is_invalid_team_folder_idB,  rS   z/TeamFolderAccessError.is_invalid_team_folder_idc                 C   rN   )zP
        Check if the union tag is ``no_access``.

        :rtype: bool
        	no_accessrP   rQ   r   r   r   is_no_accessJ,  rS   z"TeamFolderAccessError.is_no_accessc                 C   rN   r_   rP   rQ   r   r   r   r`   R,  rS   zTeamFolderAccessError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   Z,  r+   z1TeamFolderAccessError._process_custom_annotations)r-   r.   r/   r0   rs   r  r  r?   r  r  r`   r&   r4   r   r   r)   r   r  .,  rt  r  c                           e Zd ZdZ fddZ  ZS )TeamFolderActivateErrorrt  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   f,  r+   z3TeamFolderActivateError._process_custom_annotationsr-   r.   r/   r0   r&   r4   r   r   r)   r   r  _,      r  c                       ru   )TeamFolderIdArgzO
    :ivar team.TeamFolderIdArg.team_folder_id: The ID of the team folder.
    _team_folder_id_valueTNc                 C   rx   r   )r   r   r  team_folder_id)r   r  r   r   r   r    v,  rz   zTeamFolderIdArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ,  r+   z+TeamFolderIdArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  k,  r   r  c                       rY  )TeamFolderArchiveArgzx
    :ivar team.TeamFolderArchiveArg.force_async_off: Whether to force the
        archive to happen synchronously.
    _force_async_off_valueTNc                    r  r   )r%   r  r    r   r   r  force_async_off)r   r  r  r)   r   r   r    ,  r_  zTeamFolderArchiveArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ,  r+   z0TeamFolderArchiveArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  ,  ra  r  c                       r  )TeamFolderArchiveErrorrt  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ,  r+   z2TeamFolderArchiveError._process_custom_annotationsr  r   r   r)   r   r  ,  r  r  c                       rb  )TeamFolderArchiveJobStatusa=  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar TeamFolderMetadata TeamFolderArchiveJobStatus.complete: The archive
        job has finished. The value is the metadata for the resulting team
        folder.
    :ivar TeamFolderArchiveError TeamFolderArchiveJobStatus.failed: Error
        occurred while performing an asynchronous job from
        :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_archive`.
    c                 C   r@   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param TeamFolderMetadata val:
        :rtype: TeamFolderArchiveJobStatus
        rd  r   rB   r   r   r   rd  ,  rE   z#TeamFolderArchiveJobStatus.completec                 C   r@   )z
        Create an instance of this class set to the ``failed`` tag with value
        ``val``.

        :param TeamFolderArchiveError val:
        :rtype: TeamFolderArchiveJobStatus
        re  r   rB   r   r   r   re  ,  rE   z!TeamFolderArchiveJobStatus.failedc                 C   rN   rf  rP   rQ   r   r   r   rg  ,  rS   z&TeamFolderArchiveJobStatus.is_completec                 C   rN   rh  rP   rQ   r   r   r   ri  ,  rS   z$TeamFolderArchiveJobStatus.is_failedc                 C   ra   )z
        The archive job has finished. The value is the metadata for the
        resulting team folder.

        Only call this if :meth:`is_complete` is true.

        :rtype: TeamFolderMetadata
        rj  rk  rQ   r   r   r   rl  ,  rr   z'TeamFolderArchiveJobStatus.get_completec                 C   ra   )z
        Error occurred while performing an asynchronous job from
        :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_archive`.

        Only call this if :meth:`is_failed` is true.

        :rtype: TeamFolderArchiveError
        rn  ro  rQ   r   r   r   rp  ,  rr   z%TeamFolderArchiveJobStatus.get_failedc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   ,  r+   z6TeamFolderArchiveJobStatus._process_custom_annotationsrq  r   r   r)   r   r  ,  s    



r  c                       r+  )
TeamFolderArchiveLaunchrt  c                 C   r@   )z
        Create an instance of this class set to the ``complete`` tag with value
        ``val``.

        :param TeamFolderMetadata val:
        :rtype: TeamFolderArchiveLaunch
        rd  r   rB   r   r   r   rd  -  rE   z TeamFolderArchiveLaunch.completec                 C   rN   rf  rP   rQ   r   r   r   rg  -  rS   z#TeamFolderArchiveLaunch.is_completec                 C   ra   )zd
        Only call this if :meth:`is_complete` is true.

        :rtype: TeamFolderMetadata
        rj  rk  rQ   r   r   r   rl  -  r   z$TeamFolderArchiveLaunch.get_completec                    r$   r   )r%   r  r&   r'   r)   r   r   r&   #-  r+   z3TeamFolderArchiveLaunch._process_custom_annotationsru  r   r   r)   r   r  ,  rv  r  c                       ru  )TeamFolderCreateArgz
    :ivar team.TeamFolderCreateArg.name: Name for the new team folder.
    :ivar team.TeamFolderCreateArg.sync_setting: The sync setting to apply to
        this team folder. Only permitted if the team has team selective sync
        enabled.
    rX  _sync_setting_valueTNc                 C   r   r   )r   r   rX  r  r\  sync_setting)r   r\  r  r   r   r   r    7-  r   zTeamFolderCreateArg.__init__r\  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   G-  r+   z/TeamFolderCreateArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r\  r  r&   r4   r   r   r)   r   r  (-  r}  r  c                       sp   e Zd ZdZdZdZdZdZdZe	dd Z
dd Zdd	 Zd
d Zdd Zdd Zdd Z fddZ  ZS )TeamFolderCreateErrora  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderCreateError.invalid_folder_name: The provided name
        cannot be used.
    :ivar team.TeamFolderCreateError.folder_name_already_used: There is already
        a team folder with the provided name.
    :ivar team.TeamFolderCreateError.folder_name_reserved: The provided name
        cannot be used because it is reserved.
    :ivar SyncSettingsError TeamFolderCreateError.sync_settings_error: An error
        occurred setting the sync settings.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``sync_settings_error`` tag
        with value ``val``.

        :param files.SyncSettingsError val:
        :rtype: TeamFolderCreateError
        sync_settings_errorr   rB   r   r   r   r  f-  rE   z)TeamFolderCreateError.sync_settings_errorc                 C   rN   zZ
        Check if the union tag is ``invalid_folder_name``.

        :rtype: bool
        invalid_folder_namerP   rQ   r   r   r   is_invalid_folder_nameq-  rS   z,TeamFolderCreateError.is_invalid_folder_namec                 C   rN   z_
        Check if the union tag is ``folder_name_already_used``.

        :rtype: bool
        folder_name_already_usedrP   rQ   r   r   r   is_folder_name_already_usedy-  rS   z1TeamFolderCreateError.is_folder_name_already_usedc                 C   rN   z[
        Check if the union tag is ``folder_name_reserved``.

        :rtype: bool
        folder_name_reservedrP   rQ   r   r   r   is_folder_name_reserved-  rS   z-TeamFolderCreateError.is_folder_name_reservedc                 C   rN   zZ
        Check if the union tag is ``sync_settings_error``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_sync_settings_error-  rS   z,TeamFolderCreateError.is_sync_settings_errorc                 C   rN   r_   rP   rQ   r   r   r   r`   -  rS   zTeamFolderCreateError.is_otherc                 C   ra   z
        An error occurred setting the sync settings.

        Only call this if :meth:`is_sync_settings_error` is true.

        :rtype: files.SyncSettingsError
        z!tag 'sync_settings_error' not setr  rd   re   rQ   r   r   r   get_sync_settings_error-  rg   z-TeamFolderCreateError.get_sync_settings_errorc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   -  r+   z1TeamFolderCreateError._process_custom_annotations)r-   r.   r/   r0   rs   r  r  r  r?   rt   r  r  r  r  r  r`   r  r&   r4   r   r   r)   r   r  L-  s     

r  c                       r  )TeamFolderGetInfoItema  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar str team.TeamFolderGetInfoItem.id_not_found: An ID that was provided
        as a parameter to :route:`team_folder/get_info` did not match any of the
        team's team folders.
    :ivar TeamFolderMetadata TeamFolderGetInfoItem.team_folder_metadata:
        Properties of a team folder.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``id_not_found`` tag with
        value ``val``.

        :param str val:
        :rtype: TeamFolderGetInfoItem
        r  r   rB   r   r   r   r  -  rE   z"TeamFolderGetInfoItem.id_not_foundc                 C   r@   )z
        Create an instance of this class set to the ``team_folder_metadata`` tag
        with value ``val``.

        :param TeamFolderMetadata val:
        :rtype: TeamFolderGetInfoItem
        team_folder_metadatar   rB   r   r   r   r  -  rE   z*TeamFolderGetInfoItem.team_folder_metadatac                 C   rN   r  rP   rQ   r   r   r   r  -  rS   z%TeamFolderGetInfoItem.is_id_not_foundc                 C   rN   )z[
        Check if the union tag is ``team_folder_metadata``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_team_folder_metadata-  rS   z-TeamFolderGetInfoItem.is_team_folder_metadatac                 C   ra   )a  
        An ID that was provided as a parameter to
        :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_get_info` did not
        match any of the team's team folders.

        Only call this if :meth:`is_id_not_found` is true.

        :rtype: str
        r  r  rQ   r   r   r   r  -  r#  z&TeamFolderGetInfoItem.get_id_not_foundc                 C   ra   )z
        Properties of a team folder.

        Only call this if :meth:`is_team_folder_metadata` is true.

        :rtype: TeamFolderMetadata
        z"tag 'team_folder_metadata' not set)r  rd   re   rQ   r   r   r   get_team_folder_metadata-  rg   z.TeamFolderGetInfoItem.get_team_folder_metadatac                    r$   r   )r%   r  r&   r'   r)   r   r   r&   -  r+   z1TeamFolderGetInfoItem._process_custom_annotations)r-   r.   r/   r0   rs   rt   r  r  r  r  r  r  r&   r4   r   r   r)   r   r  -  s    



r  c                       ru   )TeamFolderIdListArgzV
    :ivar team.TeamFolderIdListArg.team_folder_ids: The list of team folder IDs.
    _team_folder_ids_valueTNc                 C   rx   r   )r   r   r  team_folder_ids)r   r  r   r   r   r    	.  rz   zTeamFolderIdListArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   .  r+   z/TeamFolderIdListArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  -  r   r  c                       r   )TeamFolderInvalidStatusErrora;  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderInvalidStatusError.active: The folder is active and the
        operation did not succeed.
    :ivar team.TeamFolderInvalidStatusError.archived: The folder is archived and
        the operation did not succeed.
    :ivar team.TeamFolderInvalidStatusError.archive_in_progress: The folder is
        being archived and the operation did not succeed.
    r?   Nc                 C   rN   ra  rP   rQ   r   r   r   rc  /.  rS   z&TeamFolderInvalidStatusError.is_activec                 C   rN   zO
        Check if the union tag is ``archived``.

        :rtype: bool
        archivedrP   rQ   r   r   r   is_archived7.  rS   z(TeamFolderInvalidStatusError.is_archivedc                 C   rN   zZ
        Check if the union tag is ``archive_in_progress``.

        :rtype: bool
        archive_in_progressrP   rQ   r   r   r   is_archive_in_progress?.  rS   z3TeamFolderInvalidStatusError.is_archive_in_progressc                 C   rN   r_   rP   rQ   r   r   r   r`   G.  rS   z%TeamFolderInvalidStatusError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   O.  r+   z8TeamFolderInvalidStatusError._process_custom_annotationsr-   r.   r/   r0   rs   rb  r  r  r?   rc  r  r  r`   r&   r4   r   r   r)   r   r  .  r  r  c                       ru   )TeamFolderListArgzj
    :ivar team.TeamFolderListArg.limit: The maximum number of results to return
        per request.
    r  FNc                 C   rx   r   r  r  r   r   r   r    `.  rz   zTeamFolderListArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   i.  r+   z-TeamFolderListArg._process_custom_annotationsr   r  r   r   r)   r   r  T.  r{   r  c                       ru   )TeamFolderListContinueArgz}
    :ivar team.TeamFolderListContinueArg.cursor: Indicates from what point to
        get the next set of team folders.
    r  TNc                 C   rx   r   r  r  r   r   r   r    z.  rz   z"TeamFolderListContinueArg.__init__r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   .  r+   z5TeamFolderListContinueArg._process_custom_annotationsr   r  r   r   r)   r   r  n.  r{   r  c                       r   )
TeamFolderListContinueErrora   
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderListContinueError.invalid_cursor: The cursor is
        invalid.
    r?   Nc                 C   rN   r  rP   rQ   r   r   r   r  .  rS   z-TeamFolderListContinueError.is_invalid_cursorc                 C   rN   r_   rP   rQ   r   r   r   r`   .  rS   z$TeamFolderListContinueError.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   .  r+   z7TeamFolderListContinueError._process_custom_annotationsr  r   r   r)   r   r  .  r  r  c                       s@   e Zd ZdgZdZ	d
ddZejdddZ fdd	Z	  Z
S )TeamFolderListError_access_error_valueTNc                 C   rx   r   )r   r   r  r   )r   r   r   r   r   r    .  rz   zTeamFolderListError.__init__r   r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   .  r+   z/TeamFolderListError._process_custom_annotationsr   )r-   r.   r/   r1   r2   r    r   r3   r   r&   r4   r   r   r)   r   r  .  s    
r  c                       r!  )TeamFolderListResulta  
    Result for :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list` and
    :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list_continue`.

    :ivar team.TeamFolderListResult.team_folders: List of all team folders in
        the authenticated team.
    :ivar team.TeamFolderListResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list_continue` to
        obtain additional team folders.
    :ivar team.TeamFolderListResult.has_more: Is true if there are additional
        team folders that have not been returned yet. An additional call to
        :meth:`dropbox.dropbox_client.Dropbox.team_team_folder_list_continue`
        can retrieve them.
    )_team_folders_valuer  r"  TNc                 C   r$  r   )r   r   r  r  r"  team_foldersr  r$  )r   r  r  r$  r   r   r   r    .  r%  zTeamFolderListResult.__init__r  r  r$  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   .  r+   z0TeamFolderListResult._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r$  r&   r4   r   r   r)   r   r  .  s    



r  c                       s   e Zd ZdZg dZdZ						dddZedZ	edZ
ejd	dd
ZedZejddd
ZedZ fddZ  ZS )TeamFolderMetadataaR  
    Properties of a team folder.

    :ivar team.TeamFolderMetadata.team_folder_id: The ID of the team folder.
    :ivar team.TeamFolderMetadata.name: The name of the team folder.
    :ivar team.TeamFolderMetadata.status: The status of the team folder.
    :ivar team.TeamFolderMetadata.is_team_shared_dropbox: True if this team
        folder is a shared team root.
    :ivar team.TeamFolderMetadata.sync_setting: The sync setting applied to this
        team folder.
    :ivar team.TeamFolderMetadata.content_sync_settings: Sync settings applied
        to contents of this team folder.
    )r  rX  r0  _is_team_shared_dropbox_valuer  _content_sync_settings_valueTNc                 C      t j| _t j| _t j| _t j| _t j| _t j| _|d ur|| _|d ur&|| _	|d ur-|| _
|d ur4|| _|d ur;|| _|d urD|| _d S d S r   )r   r   r  rX  r0  r   r  r  r  r\  r1  is_team_shared_dropboxr  content_sync_settings)r   r  r\  r1  r  r  r  r   r   r   r    /  r   zTeamFolderMetadata.__init__r  r\  r1  r   r  r  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   =/  r+   z.TeamFolderMetadata._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r\  r1  r  r  r  r&   r4   r   r   r)   r   r  .  s$    	




r  c                       r  ) TeamFolderPermanentlyDeleteErrorrt  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   I/  r+   z<TeamFolderPermanentlyDeleteError._process_custom_annotationsr  r   r   r)   r   r  B/  r  r  c                       rY  )TeamFolderRenameArgzD
    :ivar team.TeamFolderRenameArg.name: New team folder name.
    rX  TNc                    r  r   )r%   r  r    r   r   rX  r\  )r   r  r\  r)   r   r   r    Y/  r_  zTeamFolderRenameArg.__init__r\  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   d/  r+   z/TeamFolderRenameArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r\  r&   r4   r   r   r)   r   r  N/  s    
	r  c                       r  )TeamFolderRenameErrora'  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderRenameError.invalid_folder_name: The provided folder
        name cannot be used.
    :ivar team.TeamFolderRenameError.folder_name_already_used: There is already
        a team folder with the same name.
    :ivar team.TeamFolderRenameError.folder_name_reserved: The provided name
        cannot be used because it is reserved.
    Nc                 C   rN   r  rP   rQ   r   r   r   r  ~/  rS   z,TeamFolderRenameError.is_invalid_folder_namec                 C   rN   r  rP   rQ   r   r   r   r  /  rS   z1TeamFolderRenameError.is_folder_name_already_usedc                 C   rN   r  rP   rQ   r   r   r   r  /  rS   z-TeamFolderRenameError.is_folder_name_reservedc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   /  r+   z1TeamFolderRenameError._process_custom_annotations)r-   r.   r/   r0   r  r  r  r  r  r  r&   r4   r   r   r)   r   r  i/  r  r  c                       r   )TeamFolderStatusa/  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderStatus.active: The team folder and sub-folders are
        available to all members.
    :ivar team.TeamFolderStatus.archived: The team folder is not accessible
        outside of the team folder manager.
    :ivar team.TeamFolderStatus.archive_in_progress: The team folder is not
        accessible outside of the team folder manager.
    r?   Nc                 C   rN   ra  rP   rQ   r   r   r   rc  /  rS   zTeamFolderStatus.is_activec                 C   rN   r  rP   rQ   r   r   r   r  /  rS   zTeamFolderStatus.is_archivedc                 C   rN   r  rP   rQ   r   r   r   r  /  rS   z'TeamFolderStatus.is_archive_in_progressc                 C   rN   r_   rP   rQ   r   r   r   r`   /  rS   zTeamFolderStatus.is_otherc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   /  r+   z,TeamFolderStatus._process_custom_annotationsr  r   r   r)   r   r  /  r  r  c                       r   )
 TeamFolderTeamSharedDropboxErrora=  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamFolderTeamSharedDropboxError.disallowed: This action is not
        allowed for a shared team root.
    r?   Nc                 C   rN   )zQ
        Check if the union tag is ``disallowed``.

        :rtype: bool
        
disallowedrP   rQ   r   r   r   is_disallowed/  rS   z.TeamFolderTeamSharedDropboxError.is_disallowedc                 C   rN   r_   rP   rQ   r   r   r   r`   /  rS   z)TeamFolderTeamSharedDropboxError.is_otherc                    r$   r   )r%   r	  r&   r'   r)   r   r   r&   /  r+   z<TeamFolderTeamSharedDropboxError._process_custom_annotations)r-   r.   r/   r0   rs   r
  r?   r  r`   r&   r4   r   r   r)   r   r	  /  r  r	  c                       s^   e Zd ZdZddgZdZ			d fdd	Zejdddd	Z	ejd
ddZ
 fddZ  ZS )TeamFolderUpdateSyncSettingsArgaG  
    :ivar team.TeamFolderUpdateSyncSettingsArg.sync_setting: Sync setting to
        apply to the team folder itself. Only meaningful if the team folder is
        not a shared team root.
    :ivar team.TeamFolderUpdateSyncSettingsArg.content_sync_settings: Sync
        settings to apply to contents of this team folder.
    r  r  TNc                    r  r   )	r%   r  r    r   r   r  r  r  r  )r   r  r  r  r)   r   r   r    0  r  z(TeamFolderUpdateSyncSettingsArg.__init__r  r  r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   0  r+   z;TeamFolderUpdateSyncSettingsArg._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  /  s    	r  c                       r+  )
!TeamFolderUpdateSyncSettingsErroraV  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar SyncSettingsError
        TeamFolderUpdateSyncSettingsError.sync_settings_error: An error occurred
        setting the sync settings.
    c                 C   r@   )z
        Create an instance of this class set to the ``sync_settings_error`` tag
        with value ``val``.

        :param files.SyncSettingsError val:
        :rtype: TeamFolderUpdateSyncSettingsError
        r  r   rB   r   r   r   r  /0  rE   z5TeamFolderUpdateSyncSettingsError.sync_settings_errorc                 C   rN   r  rP   rQ   r   r   r   r  :0  rS   z8TeamFolderUpdateSyncSettingsError.is_sync_settings_errorc                 C   ra   r  r  rQ   r   r   r   r  B0  rg   z9TeamFolderUpdateSyncSettingsError.get_sync_settings_errorc                    r$   r   )r%   r  r&   r'   r)   r   r   r&   N0  r+   z=TeamFolderUpdateSyncSettingsError._process_custom_annotations)
r-   r.   r/   r0   rt   r  r  r  r&   r4   r   r   r)   r   r  $0  s    


r  c                       s   e Zd ZdZg dZdZ						dddZedZ	edZ
ed	Zed
ZedZejdddZ fddZ  ZS )TeamGetInfoResulta  
    :ivar team.TeamGetInfoResult.name: The name of the team.
    :ivar team.TeamGetInfoResult.team_id: The ID of the team.
    :ivar team.TeamGetInfoResult.num_licensed_users: The number of licenses
        available to the team.
    :ivar team.TeamGetInfoResult.num_provisioned_users: The number of accounts
        that have been invited or are already active members of the team.
    :ivar team.TeamGetInfoResult.num_used_licenses: The number of licenses used
        on the team.
    )rX  _team_id_value_num_licensed_users_value_num_provisioned_users_value_num_used_licenses_valuer  TNc                 C   r  r   )r   r   rX  r  r  r  r  r  r\  team_idnum_licensed_usersnum_provisioned_usersnum_used_licensesr  )r   r\  r  r  r  r  r  r   r   r   r    j0  r   zTeamGetInfoResult.__init__r\  r  r  r  r  r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   0  r+   z-TeamGetInfoResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r\  r  r  r  r  r  r&   r4   r   r   r)   r   r  S0  s$    	





r  c                       r  )TeamMemberInfoz
    Information about a team member.

    :ivar team.TeamMemberInfo.profile: Profile of a user as a member of a team.
    :ivar team.TeamMemberInfo.role: The user's role in the team.
    r  r  TNc                 C   r   r   )r   r   r  r  r  r  )r   r  r  r   r   r   r    0  r   zTeamMemberInfo.__init__r  r   r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   0  r+   z*TeamMemberInfo._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  0  r  r  c                       r  )TeamMemberInfoV2z
    Information about a team member.

    :ivar team.TeamMemberInfoV2.profile: Profile of a user as a member of a
        team.
    :ivar team.TeamMemberInfoV2.roles: The user's roles in the team.
    r  r  TNc                 C   r   r   )r   r   r  r  r  r  )r   r  r  r   r   r   r    0  r   zTeamMemberInfoV2.__init__r  r   r  r"   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   0  r+   z,TeamMemberInfoV2._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r  r&   r4   r   r   r)   r   r  0  r  r  c                       r.  )TeamMemberInfoV2Resultz
    Information about a team member, after the change, like at
    :meth:`dropbox.dropbox_client.Dropbox.team_members_set_profile`.

    :ivar team.TeamMemberInfoV2Result.member_info: Member info, after the
        change.
    _member_info_valueTNc                 C   rx   r   )r   r   r  r  )r   r  r   r   r   r    0  rz   zTeamMemberInfoV2Result.__init__r  r   c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   0  r+   z2TeamMemberInfoV2Result._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r&   r4   r   r   r)   r   r  0  r*  r  c                       sp   e Zd ZdZddgZdZ																	d fdd	ZedZ	ed	Z
 fd
dZ  ZS )TeamMemberProfilea  
    Profile of a user as a member of a team.

    :ivar team.TeamMemberProfile.groups: List of group IDs of groups that the
        user belongs to.
    :ivar team.TeamMemberProfile.member_folder_id: The namespace id of the
        user's root folder.
    r#  _member_folder_id_valueTNc                    s`   t t| |||||||	|
||||||| tj| _tj| _|d ur%|| _|d ur.|| _d S d S r   )	r%   r  r    r   r   r#  r  r%  member_folder_id)r   r   rG  rH  r1  r\  rI  r%  r  rE  rF  r
   rJ  rK  rL  rM  r  rN  r)   r   r   r    1  s.   
zTeamMemberProfile.__init__r%  r  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   @1  r+   z-TeamMemberProfile._process_custom_annotations)NNNNNNNNNNNNNNNNN)r-   r.   r/   r0   r1   r2   r    r   r3   r%  r  r&   r4   r   r   r)   r   r  1  s6    

)
r  c                       r!  )TeamMemberRolea  
    A role which can be attached to a team member. This replaces AdminTier; each
    AdminTier corresponds to a new TeamMemberRole with a matching name.

    :ivar team.TeamMemberRole.role_id: A string containing encoded role ID. For
        roles defined by Dropbox, this is the same across all teams.
    :ivar team.TeamMemberRole.name: The role display name.
    :ivar team.TeamMemberRole.description: Role description. Describes which
        permissions come with this role.
    )_role_id_valuerX  rY  TNc                 C   r$  r   )r   r   r  rX  rY  role_idr\  r]  )r   r   r\  r]  r   r   r   r    Y1  r%  zTeamMemberRole.__init__r   r\  r]  c                    r$   r   )r%   r  r&   r'   r)   r   r   r&   p1  r+   z*TeamMemberRole._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r   r\  r]  r&   r4   r   r   r)   r   r  E1  r  r  c                       sd   e Zd ZdZdZdZdZdZedd Z	dd Z
dd Zd	d
 Zdd Zdd Z fddZ  ZS )TeamMemberStatusa(  
    The user's status as a member of a specific team.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamMemberStatus.active: User has successfully joined the team.
    :ivar team.TeamMemberStatus.invited: User has been invited to a team, but
        has not joined the team yet.
    :ivar team.TeamMemberStatus.suspended: User is no longer a member of the
        team, but the account can be un-suspended, re-establishing the user as a
        team member.
    :ivar RemovedStatus TeamMemberStatus.removed: User is no longer a member of
        the team. Removed users are only listed when include_removed is true in
        members/list.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``removed`` tag with value
        ``val``.

        :param RemovedStatus val:
        :rtype: TeamMemberStatus
        removedr   rB   r   r   r   r"  1  rE   zTeamMemberStatus.removedc                 C   rN   ra  rP   rQ   r   r   r   rc  1  rS   zTeamMemberStatus.is_activec                 C   rN   )zN
        Check if the union tag is ``invited``.

        :rtype: bool
        invitedrP   rQ   r   r   r   
is_invited1  rS   zTeamMemberStatus.is_invitedc                 C   rN   )zP
        Check if the union tag is ``suspended``.

        :rtype: bool
        	suspendedrP   rQ   r   r   r   is_suspended1  rS   zTeamMemberStatus.is_suspendedc                 C   rN   )zN
        Check if the union tag is ``removed``.

        :rtype: bool
        r"  rP   rQ   r   r   r   
is_removed1  rS   zTeamMemberStatus.is_removedc                 C   ra   )z
        User is no longer a member of the team. Removed users are only listed
        when include_removed is true in members/list.

        Only call this if :meth:`is_removed` is true.

        :rtype: RemovedStatus
        ztag 'removed' not set)r'  rd   re   rQ   r   r   r   get_removed1  rr   zTeamMemberStatus.get_removedc                    r$   r   )r%   r!  r&   r'   r)   r   r   r&   1  r+   z,TeamMemberStatus._process_custom_annotations)r-   r.   r/   r0   rs   rb  r#  r%  rt   r"  rc  r$  r&  r'  r(  r&   r4   r   r   r)   r   r!  u1  s    

r!  c                       r  )	TeamMembershipTypea  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamMembershipType.full: User uses a license and has full access
        to team resources like the shared quota.
    :ivar team.TeamMembershipType.limited: User does not have access to the
        shared quota and team admins have restricted administrative control.
    Nc                 C   rN   )zK
        Check if the union tag is ``full``.

        :rtype: bool
        fullrP   rQ   r   r   r   is_full1  rS   zTeamMembershipType.is_fullc                 C   rN   )zN
        Check if the union tag is ``limited``.

        :rtype: bool
        limitedrP   rQ   r   r   r   
is_limited1  rS   zTeamMembershipType.is_limitedc                    r$   r   )r%   r)  r&   r'   r)   r   r   r&   1  r+   z.TeamMembershipType._process_custom_annotations)r-   r.   r/   r0   rs   r*  r,  r+  r-  r&   r4   r   r   r)   r   r)  1  r   r)  c                       ru   )TeamNamespacesListArgz`
    :ivar team.TeamNamespacesListArg.limit: Specifying a value here has no
        effect.
    r  FNc                 C   rx   r   r  r  r   r   r   r     2  rz   zTeamNamespacesListArg.__init__r  c                    r$   r   )r%   r.  r&   r'   r)   r   r   r&   	2  r+   z1TeamNamespacesListArg._process_custom_annotationsr   r  r   r   r)   r   r.  1  r{   r.  c                       ru   )TeamNamespacesListContinueArgz
    :ivar team.TeamNamespacesListContinueArg.cursor: Indicates from what point
        to get the next set of team-accessible namespaces.
    r  TNc                 C   rx   r   r  r  r   r   r   r    2  rz   z&TeamNamespacesListContinueArg.__init__r  c                    r$   r   )r%   r/  r&   r'   r)   r   r   r&   #2  r+   z9TeamNamespacesListContinueArg._process_custom_annotationsr   r  r   r   r)   r   r/  2  r{   r/  c                       r   )
TeamNamespacesListErrora!  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamNamespacesListError.invalid_arg: Argument passed in is
        invalid.
    r?   Nc                 C   rN   )zR
        Check if the union tag is ``invalid_arg``.

        :rtype: bool
        invalid_argrP   rQ   r   r   r   is_invalid_arg82  rS   z&TeamNamespacesListError.is_invalid_argc                 C   rN   r_   rP   rQ   r   r   r   r`   @2  rS   z TeamNamespacesListError.is_otherc                    r$   r   )r%   r0  r&   r'   r)   r   r   r&   H2  r+   z3TeamNamespacesListError._process_custom_annotations)r-   r.   r/   r0   rs   r1  r?   r2  r`   r&   r4   r   r   r)   r   r0  (2  r  r0  c                       r  )TeamNamespacesListContinueErrora$  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamNamespacesListContinueError.invalid_cursor: The cursor is
        invalid.
    Nc                 C   rN   r  rP   rQ   r   r   r   r  Z2  rS   z1TeamNamespacesListContinueError.is_invalid_cursorc                    r$   r   )r%   r3  r&   r'   r)   r   r   r&   b2  r+   z;TeamNamespacesListContinueError._process_custom_annotations)r-   r.   r/   r0   r  r  r&   r4   r   r   r)   r   r3  M2  r  r3  c                       r!  )TeamNamespacesListResulta3  
    Result for :meth:`dropbox.dropbox_client.Dropbox.team_namespaces_list`.

    :ivar team.TeamNamespacesListResult.namespaces: List of all namespaces the
        team can access.
    :ivar team.TeamNamespacesListResult.cursor: Pass the cursor into
        :meth:`dropbox.dropbox_client.Dropbox.team_namespaces_list_continue` to
        obtain additional namespaces. Note that duplicate namespaces may be
        returned.
    :ivar team.TeamNamespacesListResult.has_more: Is true if there are
        additional namespaces that have not been returned yet.
    )_namespaces_valuer  r"  TNc                 C   r$  r   )r   r   r5  r  r"  
namespacesr  r$  )r   r6  r  r$  r   r   r   r    }2  r%  z!TeamNamespacesListResult.__init__r6  r  r$  c                    r$   r   )r%   r4  r&   r'   r)   r   r   r&   2  r+   z4TeamNamespacesListResult._process_custom_annotationsr&  )r-   r.   r/   r0   r1   r2   r    r   r3   r6  r  r$  r&   r4   r   r   r)   r   r4  g2  s    



r4  c                       r   )TeamReportFailureReasona  
    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TeamReportFailureReason.temporary_error: We couldn't create the
        report, but we think this was a fluke. Everything should work if you try
        it again.
    :ivar team.TeamReportFailureReason.many_reports_at_once: Too many other
        reports are being created right now. Try creating this report again once
        the others finish.
    :ivar team.TeamReportFailureReason.too_much_data: We couldn't create the
        report. Try creating the report again with less data.
    r?   Nc                 C   rN   )zV
        Check if the union tag is ``temporary_error``.

        :rtype: bool
        temporary_errorrP   rQ   r   r   r   is_temporary_error2  rS   z*TeamReportFailureReason.is_temporary_errorc                 C   rN   )z[
        Check if the union tag is ``many_reports_at_once``.

        :rtype: bool
        many_reports_at_oncerP   rQ   r   r   r   is_many_reports_at_once2  rS   z/TeamReportFailureReason.is_many_reports_at_oncec                 C   rN   )zT
        Check if the union tag is ``too_much_data``.

        :rtype: bool
        too_much_datarP   rQ   r   r   r   is_too_much_data2  rS   z(TeamReportFailureReason.is_too_much_datac                 C   rN   r_   rP   rQ   r   r   r   r`   2  rS   z TeamReportFailureReason.is_otherc                    r$   r   )r%   r7  r&   r'   r)   r   r   r&   2  r+   z3TeamReportFailureReason._process_custom_annotations)r-   r.   r/   r0   rs   r8  r:  r<  r?   r9  r;  r=  r`   r&   r4   r   r   r)   r   r7  2  s    r7  c                       r|   )TokenGetAuthenticatedAdminErrora  
    Error returned by
    :meth:`dropbox.dropbox_client.Dropbox.team_token_get_authenticated_admin`.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.TokenGetAuthenticatedAdminError.mapping_not_found: The current
        token is not associated with a team admin, because mappings were not
        recorded when the token was created. Consider re-authorizing a new
        access token to record its authenticating admin.
    :ivar team.TokenGetAuthenticatedAdminError.admin_not_active: Either the team
        admin that authorized this token is no longer an active member of the
        team or no longer a team admin.
    r?   Nc                 C   rN   )zX
        Check if the union tag is ``mapping_not_found``.

        :rtype: bool
        mapping_not_foundrP   rQ   r   r   r   is_mapping_not_found2  rS   z4TokenGetAuthenticatedAdminError.is_mapping_not_foundc                 C   rN   )zW
        Check if the union tag is ``admin_not_active``.

        :rtype: bool
        admin_not_activerP   rQ   r   r   r   is_admin_not_active2  rS   z3TokenGetAuthenticatedAdminError.is_admin_not_activec                 C   rN   r_   rP   rQ   r   r   r   r`   3  rS   z(TokenGetAuthenticatedAdminError.is_otherc                    r$   r   )r%   r>  r&   r'   r)   r   r   r&   
3  r+   z;TokenGetAuthenticatedAdminError._process_custom_annotations)r-   r.   r/   r0   rs   r?  rA  r?   r@  rB  r`   r&   r4   r   r   r)   r   r>  2  s    r>  c                       r.  ) TokenGetAuthenticatedAdminResultz
    Results for
    :meth:`dropbox.dropbox_client.Dropbox.team_token_get_authenticated_admin`.

    :ivar team.TokenGetAuthenticatedAdminResult.admin_profile: The admin who
        authorized the token.
    _admin_profile_valueTNc                 C   rx   r   )r   r   rD  admin_profile)r   rE  r   r   r   r    3  rz   z)TokenGetAuthenticatedAdminResult.__init__rE  r   c                    r$   r   )r%   rC  r&   r'   r)   r   r   r&   '3  r+   z<TokenGetAuthenticatedAdminResult._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   rE  r&   r4   r   r   r)   r   rC  3  r*  rC  c                       r  )UploadApiRateLimitValuea9  
    The value for ``Feature.upload_api_rate_limit``.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar team.UploadApiRateLimitValue.unlimited: This team has unlimited upload
        API quota. So far both server version account and legacy  account type
        have unlimited monthly upload api quota.
    :ivar int team.UploadApiRateLimitValue.limit: The number of upload API calls
        allowed per month.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``limit`` tag with value
        ``val``.

        :param int val:
        :rtype: UploadApiRateLimitValue
        r  r   rB   r   r   r   r  A3  rE   zUploadApiRateLimitValue.limitc                 C   rN   )zP
        Check if the union tag is ``unlimited``.

        :rtype: bool
        	unlimitedrP   rQ   r   r   r   is_unlimitedL3  rS   z$UploadApiRateLimitValue.is_unlimitedc                 C   rN   )zL
        Check if the union tag is ``limit``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_limitT3  rS   z UploadApiRateLimitValue.is_limitc                 C   rN   r_   rP   rQ   r   r   r   r`   \3  rS   z UploadApiRateLimitValue.is_otherc                 C   ra   )z
        The number of upload API calls allowed per month.

        Only call this if :meth:`is_limit` is true.

        :rtype: int
        ztag 'limit' not set)rI  rd   re   rQ   r   r   r   	get_limitd3  rg   z!UploadApiRateLimitValue.get_limitc                    r$   r   )r%   rF  r&   r'   r)   r   r   r&   p3  r+   z3UploadApiRateLimitValue._process_custom_annotations)r-   r.   r/   r0   rs   rG  r?   rt   r  rH  rI  r`   rJ  r&   r4   r   r   r)   r   rF  ,3  s    

rF  c                       rA  ) UserAddResulta  
    Result of trying to add secondary emails to a user. 'success' is the only
    value indicating that a user was successfully retrieved for adding secondary
    emails. The other values explain the type of error that occurred, and
    include the user for which the error occurred.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UserSecondaryEmailsResult UserAddResult.success: Describes a user and
        the results for each attempt to add a secondary email.
    :ivar UserSelectorArg UserAddResult.invalid_user: Specified user is not a
        valid target for adding secondary emails.
    :ivar UserSelectorArg UserAddResult.unverified: Secondary emails can only be
        added to verified users.
    :ivar UserSelectorArg UserAddResult.placeholder_user: Secondary emails
        cannot be added to placeholder users.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param UserSecondaryEmailsResult val:
        :rtype: UserAddResult
        rA   r   rB   r   r   r   rA   3  rE   zUserAddResult.successc                 C   r@   )z
        Create an instance of this class set to the ``invalid_user`` tag with
        value ``val``.

        :param UserSelectorArg val:
        :rtype: UserAddResult
        r   r   rB   r   r   r   r   3  rE   zUserAddResult.invalid_userc                 C   r@   )z
        Create an instance of this class set to the ``unverified`` tag with
        value ``val``.

        :param UserSelectorArg val:
        :rtype: UserAddResult
        
unverifiedr   rB   r   r   r   rL  3  rE   zUserAddResult.unverifiedc                 C   r@   )z
        Create an instance of this class set to the ``placeholder_user`` tag
        with value ``val``.

        :param UserSelectorArg val:
        :rtype: UserAddResult
        placeholder_userr   rB   r   r   r   rM  3  rE   zUserAddResult.placeholder_userc                 C   rN   rO   rP   rQ   r   r   r   rR   3  rS   zUserAddResult.is_successc                 C   rN   r   rP   rQ   r   r   r   r   3  rS   zUserAddResult.is_invalid_userc                 C   rN   )zQ
        Check if the union tag is ``unverified``.

        :rtype: bool
        rL  rP   rQ   r   r   r   is_unverified3  rS   zUserAddResult.is_unverifiedc                 C   rN   )zW
        Check if the union tag is ``placeholder_user``.

        :rtype: bool
        rM  rP   rQ   r   r   r   is_placeholder_user3  rS   z!UserAddResult.is_placeholder_userc                 C   rN   r_   rP   rQ   r   r   r   r`   3  rS   zUserAddResult.is_otherc                 C   ra   )z
        Describes a user and the results for each attempt to add a secondary
        email.

        Only call this if :meth:`is_success` is true.

        :rtype: UserSecondaryEmailsResult
        rb   rc   rQ   r   r   r   rf   3  rr   zUserAddResult.get_successc                 C   ra   )z
        Specified user is not a valid target for adding secondary emails.

        Only call this if :meth:`is_invalid_user` is true.

        :rtype: UserSelectorArg
        r   r   rQ   r   r   r   r   3  rg   zUserAddResult.get_invalid_userc                 C   ra   )z
        Secondary emails can only be added to verified users.

        Only call this if :meth:`is_unverified` is true.

        :rtype: UserSelectorArg
        ztag 'unverified' not set)rN  rd   re   rQ   r   r   r   get_unverified3  rg   zUserAddResult.get_unverifiedc                 C   ra   )z
        Secondary emails cannot be added to placeholder users.

        Only call this if :meth:`is_placeholder_user` is true.

        :rtype: UserSelectorArg
        ztag 'placeholder_user' not set)rO  rd   re   rQ   r   r   r   get_placeholder_user4  rg   z"UserAddResult.get_placeholder_userc                    r$   r   )r%   rK  r&   r'   r)   r   r   r&   4  r+   z)UserAddResult._process_custom_annotations)r-   r.   r/   r0   rs   r?   rt   rA   r   rL  rM  rR   r   rN  rO  r`   rf   r   rP  rQ  r&   r4   r   r   r)   r   rK  u3  s,    







rK  c                       r  )UserCustomQuotaArgzF
    User and their required custom quota in GB (1 TB = 1024 GB).
    r  _quota_gb_valueTNc                 C   r   r   r   r   r  rS  r  quota_gbr   r  rU  r   r   r   r    $4  r   zUserCustomQuotaArg.__init__r  r   rU  c                    r$   r   )r%   rR  r&   r'   r)   r   r   r&   44  r+   z.UserCustomQuotaArg._process_custom_annotationsr   r-   r.   r/   r0   r1   r2   r    r   r3   r  rU  r&   r4   r   r   r)   r   rR  4      

rR  c                       r  )UserCustomQuotaResultzx
    User and their custom quota in GB (1 TB = 1024 GB).  No quota returns if the
    user has no custom quota set.
    r  rS  TNc                 C   r   r   rT  rV  r   r   r   r    F4  r   zUserCustomQuotaResult.__init__r  r   rU  r"   c                    r$   r   )r%   rY  r&   r'   r)   r   r   r&   V4  r+   z1UserCustomQuotaResult._process_custom_annotationsr   rW  r   r   r)   r   rY  94  s    
rY  c                       N   e Zd ZddgZdZ		dddZejdddZed	Z	 fd
dZ
  ZS )UserDeleteEmailsResultr  r   TNc                 C   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r    d4  r   zUserDeleteEmailsResult.__init__r  r   r   c                    r$   r   )r%   r[  r&   r'   r)   r   r   r&   t4  r+   z2UserDeleteEmailsResult._process_custom_annotationsr   r-   r.   r/   r1   r2   r    r   r3   r  r   r&   r4   r   r   r)   r   r[  [4      

r[  c                       r   )UserDeleteResulta  
    Result of trying to delete a user's secondary emails. 'success' is the only
    value indicating that a user was successfully retrieved for deleting
    secondary emails. The other values explain the type of error that occurred,
    and include the user for which the error occurred.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UserDeleteEmailsResult UserDeleteResult.success: Describes a user and
        the results for each attempt to delete a secondary email.
    :ivar UserSelectorArg UserDeleteResult.invalid_user: Specified user is not a
        valid target for deleting secondary emails.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param UserDeleteEmailsResult val:
        :rtype: UserDeleteResult
        rA   r   rB   r   r   r   rA   4  rE   zUserDeleteResult.successc                 C   r@   )z
        Create an instance of this class set to the ``invalid_user`` tag with
        value ``val``.

        :param UserSelectorArg val:
        :rtype: UserDeleteResult
        r   r   rB   r   r   r   r   4  rE   zUserDeleteResult.invalid_userc                 C   rN   rO   rP   rQ   r   r   r   rR   4  rS   zUserDeleteResult.is_successc                 C   rN   r   rP   rQ   r   r   r   r   4  rS   z UserDeleteResult.is_invalid_userc                 C   rN   r_   rP   rQ   r   r   r   r`   4  rS   zUserDeleteResult.is_otherc                 C   ra   )z
        Describes a user and the results for each attempt to delete a secondary
        email.

        Only call this if :meth:`is_success` is true.

        :rtype: UserDeleteEmailsResult
        rb   rc   rQ   r   r   r   rf   4  rr   zUserDeleteResult.get_successc                 C   ra   )z
        Specified user is not a valid target for deleting secondary emails.

        Only call this if :meth:`is_invalid_user` is true.

        :rtype: UserSelectorArg
        r   r   rQ   r   r   r   r   4  rg   z!UserDeleteResult.get_invalid_userc                    r$   r   )r%   r`  r&   r'   r)   r   r   r&   4  r+   z,UserDeleteResult._process_custom_annotationsr   r   r   r)   r   r`  y4      



r`  c                       rZ  )UserResendEmailsResultr  r   TNc                 C   r   r   r\  r]  r   r   r   r    4  r   zUserResendEmailsResult.__init__r  r   r   c                    r$   r   )r%   rb  r&   r'   r)   r   r   r&   4  r+   z2UserResendEmailsResult._process_custom_annotationsr   r^  r   r   r)   r   rb  4  r_  rb  c                       r   )UserResendResulta
  
    Result of trying to resend verification emails to a user. 'success' is the
    only value indicating that a user was successfully retrieved for sending
    verification emails. The other values explain the type of error that
    occurred, and include the user for which the error occurred.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar UserResendEmailsResult UserResendResult.success: Describes a user and
        the results for each attempt to resend verification emails.
    :ivar UserSelectorArg UserResendResult.invalid_user: Specified user is not a
        valid target for resending verification emails.
    r?   Nc                 C   r@   )z
        Create an instance of this class set to the ``success`` tag with value
        ``val``.

        :param UserResendEmailsResult val:
        :rtype: UserResendResult
        rA   r   rB   r   r   r   rA   5  rE   zUserResendResult.successc                 C   r@   )z
        Create an instance of this class set to the ``invalid_user`` tag with
        value ``val``.

        :param UserSelectorArg val:
        :rtype: UserResendResult
        r   r   rB   r   r   r   r   5  rE   zUserResendResult.invalid_userc                 C   rN   rO   rP   rQ   r   r   r   rR   #5  rS   zUserResendResult.is_successc                 C   rN   r   rP   rQ   r   r   r   r   +5  rS   z UserResendResult.is_invalid_userc                 C   rN   r_   rP   rQ   r   r   r   r`   35  rS   zUserResendResult.is_otherc                 C   ra   )z
        Describes a user and the results for each attempt to resend verification
        emails.

        Only call this if :meth:`is_success` is true.

        :rtype: UserResendEmailsResult
        rb   rc   rQ   r   r   r   rf   ;5  rr   zUserResendResult.get_successc                 C   ra   )z
        Specified user is not a valid target for resending verification emails.

        Only call this if :meth:`is_invalid_user` is true.

        :rtype: UserSelectorArg
        r   r   rQ   r   r   r   r   H5  rg   z!UserResendResult.get_invalid_userc                    r$   r   )r%   rc  r&   r'   r)   r   r   r&   T5  r+   z,UserResendResult._process_custom_annotationsr   r   r   r)   r   rc  4  ra  rc  c                       r  )UserSecondaryEmailsArgz.
    User and a list of secondary emails.
    r  r>  TNc                 C   r   r   )r   r   r  r>  r  r
   )r   r  r
   r   r   r   r    e5  r   zUserSecondaryEmailsArg.__init__r  r   r
   c                    r$   r   )r%   rd  r&   r'   r)   r   r   r&   u5  r+   z2UserSecondaryEmailsArg._process_custom_annotationsr   )r-   r.   r/   r0   r1   r2   r    r   r3   r  r
   r&   r4   r   r   r)   r   rd  Y5  rX  rd  c                       rZ  )UserSecondaryEmailsResultr  r   TNc                 C   r   r   r\  r]  r   r   r   r    5  r   z"UserSecondaryEmailsResult.__init__r  r   r   c                    r$   r   )r%   re  r&   r'   r)   r   r   r&   5  r+   z5UserSecondaryEmailsResult._process_custom_annotationsr   r^  r   r   r)   r   re  z5  r_  re  c                       r`  )UserSelectorArga$  
    Argument for selecting a single user, either by team_member_id, external_id
    or email.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``team_member_id`` tag with
        value ``val``.

        :param str val:
        :rtype: UserSelectorArg
        r   r   rB   r   r   r   r   5  rE   zUserSelectorArg.team_member_idc                 C   r@   )z
        Create an instance of this class set to the ``external_id`` tag with
        value ``val``.

        :param str val:
        :rtype: UserSelectorArg
        rE  r   rB   r   r   r   rE  5  rE   zUserSelectorArg.external_idc                 C   r@   )z
        Create an instance of this class set to the ``email`` tag with value
        ``val``.

        :param str val:
        :rtype: UserSelectorArg
        rG  r   rB   r   r   r   rG  5  rE   zUserSelectorArg.emailc                 C   rN   )zU
        Check if the union tag is ``team_member_id``.

        :rtype: bool
        r   rP   rQ   r   r   r   is_team_member_id5  rS   z!UserSelectorArg.is_team_member_idc                 C   rN   )zR
        Check if the union tag is ``external_id``.

        :rtype: bool
        rE  rP   rQ   r   r   r   is_external_id5  rS   zUserSelectorArg.is_external_idc                 C   rN   )zL
        Check if the union tag is ``email``.

        :rtype: bool
        rG  rP   rQ   r   r   r   is_email5  rS   zUserSelectorArg.is_emailc                 C   ra   )z[
        Only call this if :meth:`is_team_member_id` is true.

        :rtype: str
        ztag 'team_member_id' not set)rg  rd   re   rQ   r   r   r   get_team_member_id5  r   z"UserSelectorArg.get_team_member_idc                 C   ra   )zX
        Only call this if :meth:`is_external_id` is true.

        :rtype: str
        ztag 'external_id' not set)rh  rd   re   rQ   r   r   r   get_external_id5  r   zUserSelectorArg.get_external_idc                 C   ra   )zR
        Only call this if :meth:`is_email` is true.

        :rtype: str
        ztag 'email' not set)ri  rd   re   rQ   r   r   r   	get_email5  r   zUserSelectorArg.get_emailc                    r$   r   )r%   rf  r&   r'   r)   r   r   r&   5  r+   z+UserSelectorArg._process_custom_annotations)r-   r.   r/   r0   rs   rt   r   rE  rG  rg  rh  ri  rj  rk  rl  r&   r4   r   r   r)   r   rf  5  s     	








rf  c                       r`  )UsersSelectorArga3  
    Argument for selecting a list of users, either by team_member_ids,
    external_ids or emails.

    This class acts as a tagged union. Only one of the ``is_*`` methods will
    return true. To get the associated value of a tag (if one exists), use the
    corresponding ``get_*`` method.

    :ivar list of [str] team.UsersSelectorArg.team_member_ids: List of member
        IDs.
    :ivar list of [str] team.UsersSelectorArg.external_ids: List of external
        user IDs.
    :ivar list of [str] team.UsersSelectorArg.emails: List of email addresses.
    Nc                 C   r@   )z
        Create an instance of this class set to the ``team_member_ids`` tag with
        value ``val``.

        :param list of [str] val:
        :rtype: UsersSelectorArg
        r  r   rB   r   r   r   r  6  rE   z UsersSelectorArg.team_member_idsc                 C   r@   )z
        Create an instance of this class set to the ``external_ids`` tag with
        value ``val``.

        :param list of [str] val:
        :rtype: UsersSelectorArg
        external_idsr   rB   r   r   r   rn  6  rE   zUsersSelectorArg.external_idsc                 C   r@   )z
        Create an instance of this class set to the ``emails`` tag with value
        ``val``.

        :param list of [str] val:
        :rtype: UsersSelectorArg
        r  r   rB   r   r   r   r  (6  rE   zUsersSelectorArg.emailsc                 C   rN   )zV
        Check if the union tag is ``team_member_ids``.

        :rtype: bool
        r  rP   rQ   r   r   r   is_team_member_ids36  rS   z#UsersSelectorArg.is_team_member_idsc                 C   rN   )zS
        Check if the union tag is ``external_ids``.

        :rtype: bool
        rn  rP   rQ   r   r   r   is_external_ids;6  rS   z UsersSelectorArg.is_external_idsc                 C   rN   )zM
        Check if the union tag is ``emails``.

        :rtype: bool
        r  rP   rQ   r   r   r   	is_emailsC6  rS   zUsersSelectorArg.is_emailsc                 C   ra   )z
        List of member IDs.

        Only call this if :meth:`is_team_member_ids` is true.

        :rtype: list of [str]
        ztag 'team_member_ids' not set)ro  rd   re   rQ   r   r   r   get_team_member_idsK6  rg   z$UsersSelectorArg.get_team_member_idsc                 C   ra   )z
        List of external user IDs.

        Only call this if :meth:`is_external_ids` is true.

        :rtype: list of [str]
        ztag 'external_ids' not set)rp  rd   re   rQ   r   r   r   get_external_idsW6  rg   z!UsersSelectorArg.get_external_idsc                 C   ra   )z
        List of email addresses.

        Only call this if :meth:`is_emails` is true.

        :rtype: list of [str]
        ztag 'emails' not set)rq  rd   re   rQ   r   r   r   
get_emailsc6  rg   zUsersSelectorArg.get_emailsc                    r$   r   )r%   rm  r&   r'   r)   r   r   r&   o6  r+   z,UsersSelectorArg._process_custom_annotations)r-   r.   r/   r0   rs   rt   r  rn  r  ro  rp  rq  rr  rs  rt  r&   r4   r   r   r)   r   rm   6  s     





rm  z^pid_dbhid:.+)patterni  )
max_length      )Z
min_lengthz(/(.|[\r\n])*)?   zpid_dbtmr:.*)rv  ru     )	min_value)r   r   r   r   r   r   r   r   r   r   )r:   r;   r<   r=   r:   r;   r<   r=   )
rA   rF   rG   rH   rI   rJ   rK   rL   rM   r?   r?   ry   )r~   r   r?   r~   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r?   )r   r?   r   )rA   r   r?   r   r   )rA   r   r   r?   r   )r   r   r   r   r   r   r   r   r   r   )r   r   r   r?   r   r   r   r   )r   r  r   r  r  r?   r  r  r  r  r  i  )r{  Z	max_valuer  r  )r  r?   r  )r  r?   r  )r   r  r$  r$  )r,  r   r?   r,  r1  )rA   r?   rA   )r6  r9  r<  r?  r?   r6  r9  r<  r?  rM  )rO  r?   rO  rS  )rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  )rv  rw  rx  rv  rw  rx  )r  r  r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  r  r  )r  r  r  r  )r  r  r  r  r  r  r  r  )r  r  r  r  r?   r  r  r  r  )r  r?   r  r  r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  r  r  r  )r  r  r  )r  r  )r  r	  r
  r  r	  r
  r  )r  r  r  )r  r?   r  )r  r  )r%  r  r$  r%  )r  r  r$  r0  )r3  r4  )r;  r?   )r?  r?   )r9  r?   )
rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  )r[  r\  r]  r^  r  r1  r   r   r[  r\  r]  r^  )rb  rd  rf  rh  rj  rl  r?   rb  rd  rf  rh  rj  rl  )rp  rr  r?   rp  rr  r{  )r  r  r$  r  )rp  rJ   r  r?   rJ   r  )rJ   r  r  r  r  r  r  )r\  r]  r  r   r   )r  r  r  r  rJ   r  r  r  r  r  r  r  r  r  r  )r  r  r{  r  r  )r[  r\  r]  r  )rJ   r  r  r  r  r  r  r{  )r  r?   r  r  )r   r  r  r  r  r  r  )r  r  r  r  r  r  )r  r?   )r  r$  r  r  )r  r  r  r  )r  r$  r  r  )r  r  r  r  r  r   r  r  r  r  r  r  r   r  r  )
r
  r  r  r  r  r  r  r  r  r  )Z	max_itemsr/  )r   r5  r6  r7  r5  r6  r7  )r   rE  rF  rG  rH  r
   r1  r\  rI  rJ  rK  rL  rM  r  rN  rE  rF  rG  rH  r
   rI  rJ  rK  rL  rM  rN  rP  rT  rX  r]  )rd  re  )rd  re  r?   rd  )rd  r?   r  r  r  )rT  r?   )r  r?   r  r  r  r  )r  r?   r  r  r  r  )r  rT  r
  r?   r  r
  )r  r  r  r  r  r  )	r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r  rT  r  r  r?   r  r  r  r  )r  rT  r  r
  r?   )r  r  r  r  r  r  r  r  r  r  r  r  r  )
r	  r  r  r  r  r  r  r  r  r?   r	  r  r  r  r  r  r  r  r  )r  r  r?   )r   r"  r
  r   r"  )r%  r'  r)  r+  r%  r'  r)  r+  )r/  r
  r/  )r2  r4  r  r7  r9  r?   r2  r4  r7  r9  )r?  r   r   r@  rA  r?  r@  rA  )r\  rE  rF  r   rE  rF  )rH  rI  rK  rM  r?   rH  rI  rK  rM  rS  rT  )rA   rV  rM   r?   r[  r_  )rb  rc  rd  rm  rq  )rs  r  r?   rs  rz  )r   r   r  r  r  r  )r  r  r  r?   r  r  r  r  r  r  )r  r  r  r  rL   r  r?   r  r  r  rL   )r  r  r  r$  )r  r  r  r  rL   r?   r  )r  r  r?   r  r  r  r  r  )r  r  r  r  r?   r  r  r  )r  r  )Z	min_itemsr  )rb  r  r  r?   r  r  r   )r  r  r$  r  )r  r\  r1  r  r  r  r  r  )r  r  r  )r
  r?   r
  r  )r\  r  r  r  r  r  r  r  r  r  r         )r   r\  r]  r   )rb  r#  r%  r"  r#  r%  )r*  r,  r*  r,  )r1  r?   r1  )r6  r  r$  r6  )r8  r:  r<  r?   r8  r:  r<  )r?  rA  r?   r?  rA  rE  )rG  r  r?   rG  )rA   r   rL  rM  r?   rU  )r   rE  rG  )r  rn  r  FT zdevices/list_member_devicesZteamapiZrpc)authhoststylezdevices/list_members_deviceszdevices/list_team_deviceszdevices/revoke_device_sessionz#devices/revoke_device_session_batchzfeatures/get_valuesget_infozgroups/createzgroups/deletezgroups/get_infozgroups/job_status/getzgroups/listzgroups/list/continuezgroups/members/addzgroups/members/listzgroups/members/list/continuezgroups/members/removezgroups/members/set_access_typezgroups/updatezlegal_holds/create_policyzlegal_holds/get_policyzlegal_holds/list_held_revisionsz(legal_holds/list_held_revisions_continuezlegal_holds/list_policieszlegal_holds/release_policyzlegal_holds/update_policyz#linked_apps/list_member_linked_appsz$linked_apps/list_members_linked_appsz!linked_apps/list_team_linked_appszlinked_apps/revoke_linked_appz#linked_apps/revoke_linked_app_batchz&member_space_limits/excluded_users/addz'member_space_limits/excluded_users/listz0member_space_limits/excluded_users/list/continuez)member_space_limits/excluded_users/removez$member_space_limits/get_custom_quotaz'member_space_limits/remove_custom_quotaz$member_space_limits/set_custom_quotazmembers/add   zmembers/add/job_status/getzmembers/delete_profile_photoz'members/get_available_team_member_roleszmembers/get_infozmembers/listzmembers/list/continuez members/move_former_member_filesz1members/move_former_member_files/job_status/checkzmembers/recoverzmembers/removezmembers/remove/job_status/getzmembers/secondary_emails/addzmembers/secondary_emails/deletez3members/secondary_emails/resend_verification_emailszmembers/send_welcome_emailzmembers/set_admin_permissionszmembers/set_profilezmembers/set_profile_photozmembers/suspendzmembers/unsuspendznamespaces/listznamespaces/list/continuezproperties/template/addzproperties/template/getzproperties/template/listzproperties/template/updatezreports/get_activityzreports/get_deviceszreports/get_membershipzreports/get_storagezsharing_allowlist/addzsharing_allowlist/listzsharing_allowlist/list/continuezsharing_allowlist/removezteam_folder/activatezteam_folder/archivezteam_folder/archive/checkteam_folder/createteam_folder/get_infoteam_folder/listteam_folder/list/continueteam_folder/permanently_deleteteam_folder/rename team_folder/update_sync_settingstoken/get_authenticated_adminzmembers/add:2zmembers/add/job_status/get:2zmembers/delete_profile_photo:2zmembers/get_info:2zmembers/list:2zmembers/list/continue:2zmembers/set_admin_permissions:2zmembers/set_profile:2zmembers/set_profile_photo:2)r  r  r  r  r  r  r  r  N(  
__future__r   Zstone.backends.python_rsrcr   r   r   ZbvZdropboxr   r   r   r   r	   r
   r   r   r   r   Structr   ZDeviceSession_validatorr5   ZActiveWebSession_validatorUnionr>   Z!AddSecondaryEmailResult_validatorrv   ZAddSecondaryEmailsArg_validatorr}   Z!AddSecondaryEmailsError_validatorr   Z"AddSecondaryEmailsResult_validatorr   ZAdminTier_validatorr   ZApiApp_validatorr   ZBaseDfbReport_validatorr   ZBaseTeamFolderError_validatorr   ZCustomQuotaError_validatorr   ZCustomQuotaResult_validatorr   ZCustomQuotaUsersArg_validatorr   ZDateRange_validatorr   ZDateRangeError_validatorr   Z$DeleteSecondaryEmailResult_validatorr   Z"DeleteSecondaryEmailsArg_validatorr   Z%DeleteSecondaryEmailsResult_validatorr   ZDesktopClientSession_validatorr   ZDesktopPlatform_validatorr   ZDeviceSessionArg_validatorr   ZDevicesActive_validatorr
  ZExcludedUsersListArg_validatorr  Z&ExcludedUsersListContinueArg_validatorr  Z(ExcludedUsersListContinueError_validatorr  Z ExcludedUsersListError_validatorr!  Z!ExcludedUsersListResult_validatorr)  Z ExcludedUsersUpdateArg_validatorr+  Z"ExcludedUsersUpdateError_validatorr/  Z#ExcludedUsersUpdateResult_validatorr2  Z#ExcludedUsersUpdateStatus_validatorr4  ZFeature_validatorrB  ZFeatureValue_validatorrK  Z#FeaturesGetValuesBatchArg_validatorrN  Z%FeaturesGetValuesBatchError_validatorrQ  Z&FeaturesGetValuesBatchResult_validatorrT  ZGetActivityReport_validatorrr  ZGetDevicesReport_validatorr{  ZGetMembershipReport_validatorr  ZGetStorageReport_validatorr  ZGroupAccessType_validatorr  ZGroupCreateArg_validatorr  ZGroupCreateError_validatorr  ZGroupSelectorError_validatorr  Z)GroupSelectorWithTeamGroupError_validatorr  ZGroupDeleteError_validatorZGroupSummaryr  ZGroupFullInfo_validatorr  ZGroupMemberInfo_validatorr  ZGroupMemberSelector_validatorr  Z"GroupMemberSelectorError_validatorr  Z'GroupMemberSetAccessTypeError_validatorr  ZIncludeMembersArg_validatorr  ZGroupMembersAddArg_validatorr  ZGroupMembersAddError_validatorr  Z"GroupMembersChangeResult_validatorr  ZGroupMembersRemoveArg_validatorr  Z#GroupMembersSelectorError_validatorr  Z!GroupMembersRemoveError_validatorr  ZGroupMembersSelector_validatorr  Z&GroupMembersSetAccessTypeArg_validatorr   ZGroupSelector_validatorr  ZGroupUpdateArgs_validatorr  ZGroupUpdateError_validatorr  ZGroupsGetInfoError_validatorr  ZGroupsGetInfoItem_validatorr  ZGroupsListArg_validatorr  ZGroupsListContinueArg_validatorr  Z!GroupsListContinueError_validatorr"  ZGroupsListResult_validatorr'  ZGroupsMembersListArg_validatorr(  Z&GroupsMembersListContinueArg_validatorr)  Z(GroupsMembersListContinueError_validatorr*  Z!GroupsMembersListResult_validatorZ	PollErrorr/  ZGroupsPollError_validatorr2  ZGroupsSelector_validatorr:  Z HasTeamFileEventsValue_validatorr?  Z#HasTeamSelectiveSyncValue_validatorr@  Z#HasTeamSharedDropboxValue_validatorrA  Z'LegalHoldHeldRevisionMetadata_validatorrV  ZLegalHoldPolicy_validatorr`  ZLegalHoldStatus_validatorrn  ZLegalHoldsError_validatorru  Z LegalHoldsGetPolicyArg_validatorry  Z"LegalHoldsGetPolicyError_validatorr}  Z*LegalHoldsListHeldRevisionResult_validatorr  Z(LegalHoldsListHeldRevisionsArg_validatorr  Z0LegalHoldsListHeldRevisionsContinueArg_validatorr  Z2LegalHoldsListHeldRevisionsContinueError_validatorr  Z*LegalHoldsListHeldRevisionsError_validatorr  Z#LegalHoldsListPoliciesArg_validatorr  Z%LegalHoldsListPoliciesError_validatorr  Z&LegalHoldsListPoliciesResult_validatorr  Z#LegalHoldsPolicyCreateArg_validatorr  Z%LegalHoldsPolicyCreateError_validatorr  Z$LegalHoldsPolicyReleaseArg_validatorr  Z&LegalHoldsPolicyReleaseError_validatorr  Z#LegalHoldsPolicyUpdateArg_validatorr  Z%LegalHoldsPolicyUpdateError_validatorr  ZListMemberAppsArg_validatorr  ZListMemberAppsError_validatorr  ZListMemberAppsResult_validatorr  ZListMemberDevicesArg_validatorr  Z ListMemberDevicesError_validatorr  Z!ListMemberDevicesResult_validatorr  ZListMembersAppsArg_validatorr  ZListMembersAppsError_validatorr  ZListMembersAppsResult_validatorr  ZListMembersDevicesArg_validatorr  Z!ListMembersDevicesError_validatorr  Z"ListMembersDevicesResult_validatorr  ZListTeamAppsArg_validatorr  ZListTeamAppsError_validatorr  ZListTeamAppsResult_validatorr  ZListTeamDevicesArg_validatorr  ZListTeamDevicesError_validatorr  ZListTeamDevicesResult_validatorr  ZMemberAccess_validatorr  ZMemberAddArgBase_validatorr  ZMemberAddArg_validatorr	  ZMemberAddResultBase_validatorr,  ZMemberAddResult_validatorr-  ZMemberAddV2Arg_validatorr0  ZMemberAddV2Result_validatorr1  ZMemberDevices_validatorr8  ZMemberLinkedApps_validatorr9  ZMemberProfile_validatorrO  ZUserSelectorError_validatorrR  ZMemberSelectorError_validatorrV  ZMembersAddArgBase_validatorrZ  ZMembersAddArg_validatorZPollResultBaserc  ZMembersAddJobStatus_validatorrr  Z%MembersAddJobStatusV2Result_validatorZLaunchResultBasers  ZMembersAddLaunch_validatorrw  Z"MembersAddLaunchV2Result_validatorrx  ZMembersAddV2Arg_validatorry  Z"MembersDeactivateBaseArg_validatorr}  Z MembersDataTransferArg_validatorr  ZMembersDeactivateArg_validatorr  Z MembersDeactivateError_validatorr  Z&MembersDeleteProfilePhotoArg_validatorr  Z(MembersDeleteProfilePhotoError_validatorr  Z2MembersGetAvailableTeamMemberRolesResult_validatorr  ZMembersGetInfoArgs_validatorr  ZMembersGetInfoError_validatorr  Z MembersGetInfoItemBase_validatorr  ZMembersGetInfoItem_validatorr  ZMembersGetInfoItemV2_validatorr  ZMembersGetInfoV2Arg_validatorr  Z MembersGetInfoV2Result_validatorr  ZMembersInfo_validatorr  ZMembersListArg_validatorr  Z MembersListContinueArg_validatorr  Z"MembersListContinueError_validatorr  ZMembersListError_validatorr  ZMembersListResult_validatorr  ZMembersListV2Result_validatorr  ZMembersRecoverArg_validatorr  ZMembersRecoverError_validatorr  ZMembersRemoveArg_validatorr  Z#MembersTransferFilesError_validatorr  ZMembersRemoveError_validatorr  Z!MembersSendWelcomeError_validatorr  Z#MembersSetPermissions2Arg_validatorr  Z%MembersSetPermissions2Error_validatorr  Z&MembersSetPermissions2Result_validatorr  Z"MembersSetPermissionsArg_validatorr  Z$MembersSetPermissionsError_validatorr  Z%MembersSetPermissionsResult_validatorr  ZMembersSetProfileArg_validatorr  Z MembersSetProfileError_validatorr  Z#MembersSetProfilePhotoArg_validatorr  Z%MembersSetProfilePhotoError_validatorr  ZMembersSuspendError_validatorr$  Z0MembersTransferFormerMembersFilesError_validatorr-  ZMembersUnsuspendArg_validatorr.  ZMembersUnsuspendError_validatorr1  ZMobileClientPlatform_validatorr;  ZMobileClientSession_validatorrB  ZNamespaceMetadata_validatorrG  ZNamespaceType_validatorrO  Z!RemoveCustomQuotaResult_validatorrP  ZRemovedStatus_validatorrU  Z$ResendSecondaryEmailResult_validatorrY  Z$ResendVerificationEmailArg_validatorr\  Z'ResendVerificationEmailResult_validatorr]  Z RevokeDesktopClientArg_validatorra  Z RevokeDeviceSessionArg_validatorrk  Z%RevokeDeviceSessionBatchArg_validatorrn  Z'RevokeDeviceSessionBatchError_validatorro  Z(RevokeDeviceSessionBatchResult_validatorrr  Z"RevokeDeviceSessionError_validatorrv  Z#RevokeDeviceSessionStatus_validatorr~  ZRevokeLinkedApiAppArg_validatorr  Z$RevokeLinkedApiAppBatchArg_validatorr  Z#RevokeLinkedAppBatchError_validatorr  Z$RevokeLinkedAppBatchResult_validatorr  ZRevokeLinkedAppError_validatorr  ZRevokeLinkedAppStatus_validatorr  ZSetCustomQuotaArg_validatorr  ZSetCustomQuotaError_validatorr  Z!SharingAllowlistAddArgs_validatorr  Z"SharingAllowlistAddError_validatorr  Z%SharingAllowlistAddResponse_validatorr  Z!SharingAllowlistListArg_validatorr  Z)SharingAllowlistListContinueArg_validatorr  Z+SharingAllowlistListContinueError_validatorr  Z#SharingAllowlistListError_validatorr  Z&SharingAllowlistListResponse_validatorr  Z$SharingAllowlistRemoveArgs_validatorr  Z%SharingAllowlistRemoveError_validatorr  Z(SharingAllowlistRemoveResponse_validatorr  ZStorageBucket_validatorr  ZTeamFolderAccessError_validatorr  Z!TeamFolderActivateError_validatorr  ZTeamFolderIdArg_validatorr  ZTeamFolderArchiveArg_validatorr  Z TeamFolderArchiveError_validatorr  Z$TeamFolderArchiveJobStatus_validatorr  Z!TeamFolderArchiveLaunch_validatorr  ZTeamFolderCreateArg_validatorr  ZTeamFolderCreateError_validatorr  ZTeamFolderGetInfoItem_validatorr  ZTeamFolderIdListArg_validatorr  Z&TeamFolderInvalidStatusError_validatorr  ZTeamFolderListArg_validatorr  Z#TeamFolderListContinueArg_validatorr  Z%TeamFolderListContinueError_validatorr  ZTeamFolderListError_validatorr  ZTeamFolderListResult_validatorr  ZTeamFolderMetadata_validatorr  Z*TeamFolderPermanentlyDeleteError_validatorr  ZTeamFolderRenameArg_validatorr  ZTeamFolderRenameError_validatorr  ZTeamFolderStatus_validatorr	  Z*TeamFolderTeamSharedDropboxError_validatorr  Z)TeamFolderUpdateSyncSettingsArg_validatorr  Z+TeamFolderUpdateSyncSettingsError_validatorr  ZTeamGetInfoResult_validatorr  ZTeamMemberInfo_validatorr  ZTeamMemberInfoV2_validatorr  Z TeamMemberInfoV2Result_validatorr  ZTeamMemberProfile_validatorr  ZTeamMemberRole_validatorr!  ZTeamMemberStatus_validatorr)  ZTeamMembershipType_validatorr.  ZTeamNamespacesListArg_validatorr/  Z'TeamNamespacesListContinueArg_validatorr0  Z!TeamNamespacesListError_validatorr3  Z)TeamNamespacesListContinueError_validatorr4  Z"TeamNamespacesListResult_validatorr7  Z!TeamReportFailureReason_validatorr>  Z)TokenGetAuthenticatedAdminError_validatorrC  Z*TokenGetAuthenticatedAdminResult_validatorrF  Z!UploadApiRateLimitValue_validatorrK  ZUserAddResult_validatorrR  ZUserCustomQuotaArg_validatorrY  ZUserCustomQuotaResult_validatorr[  Z UserDeleteEmailsResult_validatorr`  ZUserDeleteResult_validatorrb  Z UserResendEmailsResult_validatorrc  ZUserResendResult_validatorrd  Z UserSecondaryEmailsArg_validatorre  Z#UserSecondaryEmailsResult_validatorrf  ZUserSelectorArg_validatorrm  ZUsersSelectorArg_validatorListZGroupsGetInfoResult_validatorStringZLegalHoldId_validatorZ$LegalHoldPolicyDescription_validatorZLegalHoldPolicyName_validatorZ#LegalHoldsGetPolicyResult_validatorZLegalHoldsGetPolicyResultZ&LegalHoldsPolicyCreateResult_validatorZLegalHoldsPolicyCreateResultZ&LegalHoldsPolicyUpdateResult_validatorZLegalHoldsPolicyUpdateResultZ ListHeldRevisionCursor_validatorZMembersGetInfoResult_validatorZNullableZUInt64ZNumberPerDay_validatorZPath_validatorZSecondaryEmail_validatorZSecondaryEmailZTeamMemberRoleId_validatorZUInt32ZUserQuota_validatorr   	validatorr   r   ZDropboxTimestamp_validatorr   r   setZ_all_field_names_Z_all_fields_r:   r;   r<   r=   unionZ_success_validatorZEmailAddress_validatorZ_unavailable_validatorZ_already_pending_validatorZ _already_owned_by_user_validatorZ_reached_limit_validatorZ_transient_error_validatorZ_too_many_updates_validatorZ_unknown_error_validatorZ_rate_limited_validatorZVoidZ_other_validatorZ_tagmapr?   ry   Z$_secondary_emails_disabled_validatorZ_too_many_emails_validatorr~   r   r   Z_team_admin_validatorZ _user_management_admin_validatorZ_support_admin_validatorZ_member_only_validatorr   r   r   r   r   r   r   r   r   Booleanr   r   Z_access_error_validatorZ_status_error_validatorZ$_team_shared_dropbox_error_validatorZ_too_many_users_validatorr   Z_invalid_user_validatorZDate_validatorr   Z_not_found_validatorZ _cannot_remove_primary_validatorr   r   r   r   r   r   Z_windows_validatorZ_mac_validatorZ_linux_validatorr   r   r   r   r  r  r  r  r  r  Z_invalid_cursor_validatorr  Z_list_error_validatorr  r$  Z_users_not_in_team_validatorr,  r1  rA   Z _upload_api_rate_limit_validatorZ"_has_team_shared_dropbox_validatorZ_has_team_file_events_validatorZ"_has_team_selective_sync_validatorr6  r9  r<  r?  rM  Z_empty_features_list_validatorrO  rS  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rv  rw  rx  r  r  r  r  r  r  r  r  r  r  Z_member_validatorZ_owner_validatorr  r  r  r  ZGroupExternalId_validatorr  ZGroupManagementType_validatorr  Z"_group_name_already_used_validatorZ_group_name_invalid_validatorZ%_external_id_already_in_use_validatorZ*_system_managed_group_disallowed_validatorr  r  r  r  Z_group_not_found_validatorr  updateZ _group_already_deleted_validatorr  r  r  r  r  r  Z_member_not_in_group_validatorr  Z:_user_cannot_be_manager_of_company_managed_group_validatorr  r  Z_duplicate_user_validatorZ_group_not_in_team_validatorZ_members_not_in_team_validatorZ_users_not_found_validatorZ*_user_must_be_active_to_be_owner_validatorr  r  r  r  ZAsyncJobId_validatorr  ZGroupId_validatorZ_group_id_validatorZ_group_external_id_validatorr	  r
  r  Z_group_not_on_team_validatorr  Z_id_not_found_validatorZ_group_info_validatorZGroupSummary_validatorr%  Z_access_denied_validatorr0  Z_group_ids_validatorZ_group_external_ids_validatorZ_enabled_validatorrL  ZRev_validatorrM  rN  rO  ZTeamMemberId_validatorrP  rQ  rR  rS  rT  ZSha256HexHash_validatorrU  r[  r\  r]  r^  Z_active_validatorZ_released_validatorZ_activating_validatorZ_updating_validatorZ_exporting_validatorZ_releasing_validatorrb  rd  rf  rh  rj  rl  Z#_unknown_legal_hold_error_validatorZ#_insufficient_permissions_validatorrp  rr  Z&_legal_hold_policy_not_found_validatorr{  r  Z_reset_validatorrJ   r  Z!_legal_hold_still_empty_validatorZ_inactive_legal_hold_validatorr  r  r  r  Z,_start_date_is_later_than_end_date_validatorZ_empty_members_list_validatorZ_invalid_members_validatorZB_number_of_users_on_hold_is_greater_than_hold_limitation_validatorZ_name_must_be_unique_validatorZ)_team_exceeded_legal_hold_quota_validatorZ_invalid_date_validatorr  r  r  r  r  r  r  Z2_legal_hold_performing_another_operation_validatorZ'_legal_hold_already_releasing_validatorr  r  Z_member_not_found_validatorr  r  r  r  r  r  r  r  r  r  r  ZOptionalNamePart_validatorr  r  ZMemberExternalId_validatorr  r  r   r  r  Z_team_license_limit_validatorZ)_free_team_member_limit_reached_validatorZ_user_already_on_team_validatorZ_user_on_another_team_validatorZ_user_already_paired_validatorZ _user_migration_failed_validatorZ'_duplicate_external_member_id_validatorZ)_duplicate_member_persistent_id_validatorZ!_persistent_id_disabled_validatorZ_user_creation_failed_validatorr/  r5  r6  r7  rE  ZAccountId_validatorrF  rG  rH  ZName_validatorrI  rJ  rK  rL  rM  rN  Z_user_not_found_validatorrP  Z_user_not_in_team_validatorrT  rX  r]  Z_complete_validatorZ_failed_validatorr  r  r  Z!_set_profile_disallowed_validatorr  r  Z_member_info_validatorr  r  r  r  Z_user_unrecoverable_validatorr  r
  r  r  Z2_removed_and_transfer_dest_should_differ_validatorZ3_removed_and_transfer_admin_should_differ_validatorZ'_transfer_dest_user_not_found_validatorZ)_transfer_dest_user_not_in_team_validatorZ*_transfer_admin_user_not_in_team_validatorZ(_transfer_admin_user_not_found_validatorZ(_unspecified_transfer_admin_id_validatorZ&_transfer_admin_is_not_admin_validatorZ!_recipient_not_verified_validatorr  r  r  r  r  r  r  r  r  Z_remove_last_admin_validatorZ+_cannot_keep_account_and_transfer_validatorZ._cannot_keep_account_and_delete_data_validatorZ0_email_address_too_long_to_be_disabled_validatorZ+_cannot_keep_invited_user_account_validatorZ/_cannot_retain_shares_when_data_wiped_validatorZ4_cannot_retain_shares_when_no_account_kept_validatorZ>_cannot_retain_shares_when_team_external_sharing_off_validatorZ_cannot_keep_account_validatorZ/_cannot_keep_account_under_legal_hold_validatorZ3_cannot_keep_account_required_to_sign_tos_validatorr  r  r  r  r  r  r  r  r  r  r  r  Z_last_admin_validatorZ!_cannot_set_permissions_validatorZ_role_not_found_validatorr  r  r  r  r  r  r  r  r  r  Z1_external_id_and_new_external_id_unsafe_validatorZ _no_new_data_specified_validatorZ(_email_reserved_for_other_user_validatorZ)_external_id_used_by_other_user_validatorZ _param_cannot_be_empty_validatorZ+_persistent_id_used_by_other_user_validatorZ#_directory_restricted_off_validatorr	  r  r  r  r  r  r  r  ZPhotoSourceArg_validatorr  ZSetProfilePhotoError_validatorZ_photo_error_validatorZ _suspend_inactive_user_validatorZ_suspend_last_admin_validatorr   r"  Z)_user_data_is_being_transferred_validatorZ_user_not_removed_validatorZ*_user_data_cannot_be_transferred_validatorZ(_user_data_already_transferred_validatorr%  r'  r)  r+  Z)_unsuspend_non_suspended_member_validatorr/  Z_iphone_validatorZ_ipad_validatorZ_android_validatorZ_windows_phone_validatorZ_blackberry_validatorr2  r4  r7  r9  r?  r@  rA  ZSharedFolderId_validatorrE  rF  Z_app_folder_validatorZ_shared_folder_validatorZ_team_folder_validatorZ_team_member_folder_validatorrH  rI  rK  rM  rS  rT  Z_not_pending_validatorr[  r_  Z_web_session_validatorZ_desktop_client_validatorZ_mobile_client_validatorrm  rq  Z#_device_session_not_found_validatorrs  rz  r  r  r  Z_app_not_found_validatorZ+_app_folder_removal_not_supported_validatorr  r  r  Z"_some_users_are_excluded_validatorr  r  r  Z_malformed_entry_validatorZ_no_entries_provided_validatorZ$_too_many_entries_provided_validatorZ_team_limit_reached_validatorZ _entries_already_exist_validatorr  r  r  rL   Z_entries_do_not_exist_validatorr  Z!_invalid_team_folder_id_validatorZ_no_access_validatorr  r  r  r  ZSyncSettingArg_validatorr  Z_invalid_folder_name_validatorZ#_folder_name_already_used_validatorZ_folder_name_reserved_validatorZSyncSettingsError_validatorZ_sync_settings_error_validatorr  r  r  Z_team_folder_metadata_validatorr  Z_archived_validatorZ_archive_in_progress_validatorr  r  r   r  r  ZSyncSetting_validatorZContentSyncSetting_validatorr  Z_disallowed_validatorr
  ZContentSyncSettingArg_validatorr  r  r  r  ZTeamMemberPolicies_validatorr  ZNamespaceId_validatorr  r   Z_invited_validatorZ_suspended_validatorZ_removed_validatorr#  r%  Z_full_validatorZ_limited_validatorr*  r,  Z_invalid_arg_validatorr1  r6  Z_temporary_error_validatorZ_many_reports_at_once_validatorZ_too_much_data_validatorr8  r:  r<  Z_mapping_not_found_validatorZ_admin_not_active_validatorr?  rA  rE  Z_unlimited_validatorZ_limit_validatorrG  Z_unverified_validatorZ_placeholder_user_validatorrU  Z_team_member_id_validatorZ_external_id_validatorZ_email_validatorZ_team_member_ids_validatorZ_external_ids_validatorZ_emails_validatordefaultZRouteZdevices_list_member_devicesZdevices_list_members_devicesZdevices_list_team_devicesZdevices_revoke_device_sessionZ#devices_revoke_device_session_batchZfeatures_get_valuesr  Zgroups_createZLaunchEmptyResult_validatorZgroups_deleteZgroups_get_infoZPollArg_validatorZPollEmptyResult_validatorZgroups_job_status_getZgroups_listZgroups_list_continueZgroups_members_addZgroups_members_listZgroups_members_list_continueZgroups_members_removeZgroups_members_set_access_typeZgroups_updateZlegal_holds_create_policyZlegal_holds_get_policyZlegal_holds_list_held_revisionsZ(legal_holds_list_held_revisions_continueZlegal_holds_list_policiesZlegal_holds_release_policyZlegal_holds_update_policyZ#linked_apps_list_member_linked_appsZ$linked_apps_list_members_linked_appsZ!linked_apps_list_team_linked_appsZlinked_apps_revoke_linked_appZ#linked_apps_revoke_linked_app_batchZ&member_space_limits_excluded_users_addZ'member_space_limits_excluded_users_listZ0member_space_limits_excluded_users_list_continueZ)member_space_limits_excluded_users_removeZ$member_space_limits_get_custom_quotaZ'member_space_limits_remove_custom_quotaZ$member_space_limits_set_custom_quotaZmembers_add_v2Zmembers_addZPollError_validatorZmembers_add_job_status_get_v2Zmembers_add_job_status_getZmembers_delete_profile_photo_v2Zmembers_delete_profile_photoZ'members_get_available_team_member_rolesZmembers_get_info_v2Zmembers_get_infoZmembers_list_v2Zmembers_listZmembers_list_continue_v2Zmembers_list_continueZ members_move_former_member_filesZ1members_move_former_member_files_job_status_checkZmembers_recoverZmembers_removeZmembers_remove_job_status_getZmembers_secondary_emails_addZmembers_secondary_emails_deleteZ3members_secondary_emails_resend_verification_emailsZmembers_send_welcome_emailZ members_set_admin_permissions_v2Zmembers_set_admin_permissionsZmembers_set_profile_v2Zmembers_set_profileZmembers_set_profile_photo_v2Zmembers_set_profile_photoZmembers_suspendZmembers_unsuspendZnamespaces_listZnamespaces_list_continueZAddTemplateArg_validatorZAddTemplateResult_validatorZModifyTemplateError_validatorZproperties_template_addZGetTemplateArg_validatorZGetTemplateResult_validatorZTemplateError_validatorZproperties_template_getZListTemplateResult_validatorZproperties_template_listZUpdateTemplateArg_validatorZUpdateTemplateResult_validatorZproperties_template_updateZreports_get_activityZreports_get_devicesZreports_get_membershipZreports_get_storageZsharing_allowlist_addZsharing_allowlist_listZsharing_allowlist_list_continueZsharing_allowlist_removeZteam_folder_activateZteam_folder_archiveZteam_folder_archive_checkZteam_folder_createZteam_folder_get_infoZteam_folder_listZteam_folder_list_continueZteam_folder_permanently_deleteZteam_folder_renameZ team_folder_update_sync_settingsZtoken_get_authenticated_adminZROUTESr   r   r   r   <module>   s    
>
?  
H

1

?
G

o
%
Z

$
 



J
8
!
X


%
$
/

1

$
H 


$
 
$
3
E
J
'
5
G
%


-
#
#



# 

)
$

[
#
(
P
9
0
#
S


"
-
!

#
-

Q
:
:
:
s
Y
Y
/


/

"
>
0



?
m

1
3
n

%

5
"
,

(
2
9
%
/

(
2
9
%
/
"S"  f1"=7# 'S_'3$##5/;"!"..;D{ &I"$G!T "@0@$PH6C[" p.",<!% 	#8"|$/

Q'"\R;#2I
0;#%-F"#B.V%#0=5G " __fr

 

		






 




 
 
 
 













 







 




"&
("& 

 


"&
"&"&



 



$
(
 






	"

 $







$$


 

$$
	


"&


" 
	

	"&"
	
	
 

 









	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV