
    ,                         S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSK
Jr  SS	KJr  S
r\R                  R                   S0rS rS rS rS rS r " S S\5      r " S S\5      rg)z%Utilities for the Org Policy service.    )absolute_import)division)unicode_literalsN)utils)apis)base)orgpolicy_v2_messages	orgpolicyv2c                 ,    [         R                  U 5      $ )z2Returns the api version of the Org Policy service.)VERSION_MAPget)release_tracks    /lib/googlecloudsdk/api_lib/orgpolicy/service.pyGetApiVersionr       s    		''    c                 N    [        U 5      n[        R                  " [        U5      $ )z4Returns a client instance of the Org Policy service.)r   r   GetClientInstanceORG_POLICY_API_NAMEr   api_versions     r   OrgPolicyClientr   %        m,+			 3[	AAr   c                 N    [        U 5      n[        R                  " [        U5      $ )z7Returns the messages module for the Org Policy service.)r   r   GetMessagesModuler   r   s     r   OrgPolicyMessagesr   +   r   r   c                 0    [        U 5      nUR                  $ )z2Returns the service class for the Policy resource.)r   policiesr   clients     r   PolicyServicer!   1   s    =)&	r   c                 0    [        U 5      nUR                  $ )z6Returns the service class for the Constraint resource.)r   constraintsr   s     r   ConstraintServicer$   7   s    =)&			r   c                     ^  \ rS rSrSrU 4S jrS r\R                  S 5       r	\R                  S 5       r
\R                   SS\R                  4S jj5       r\R                  S	 5       r\R                  S
 5       r\R                  S 5       r\R                  SS j5       r\R                  S 5       r\R                  S 5       r\R                  S 5       r\R                  S 5       r\R                  S 5       r\R                  S 5       r\R                  SS j5       r\R                       SS j5       r\R                    SS j5       rSrU =r$ )OrgPolicyApi=   zBase class for Org Policy API.c                 p   > U[         R                  R                  :X  a  [        [        U ]  [        5      $ g N)r   ReleaseTrackGAsuperr&   __new__OrgPolicyApiGA)clsr   	__class__s     r   r-   OrgPolicyApi.__new__@   s.    )),,,<-n== -r   c                     [        U5      n[        R                  " [        U5      U l        [        R
                  " [        U5      U l        g r)   )r   r   r   r   r    r   messages)selfr   r   s      r   __init__OrgPolicyApi.__init__D   s6    .K(()<kJDK**+>LDMr   c                     g r)    r4   names     r   	GetPolicyOrgPolicyApi.GetPolicyI       r   c                     g r)   r8   r9   s     r   GetEffectivePolicyOrgPolicyApi.GetEffectivePolicyM   r=   r   returnc                     g r)   r8   )r4   r:   etags      r   DeletePolicyOrgPolicyApi.DeletePolicyQ        	r   c                     g r)   r8   r4   parents     r   ListPoliciesOrgPolicyApi.ListPoliciesW   r=   r   c                     g r)   r8   rH   s     r   ListConstraintsOrgPolicyApi.ListConstraints[   r=   r   c                     g r)   r8   )r4   policys     r   CreatePolicyOrgPolicyApi.CreatePolicy_   r=   r   c                     g r)   r8   )r4   rP   update_masks      r   UpdatePolicyOrgPolicyApi.UpdatePolicyc   r=   r   c                     g r)   r8   r4   custom_constraints     r   CreateCustomConstraint#OrgPolicyApi.CreateCustomConstraintg   r=   r   c                     g r)   r8   rX   s     r   UpdateCustomConstraint#OrgPolicyApi.UpdateCustomConstraintk   r=   r   c                     g r)   r8   r9   s     r   GetCustomConstraint OrgPolicyApi.GetCustomConstrainto   r=   r   c                     g r)   r8   r9   s     r   DeleteCustomConstraint#OrgPolicyApi.DeleteCustomConstraints   r=   r   c                     g r)   r8   r4   s    r   CreateEmptyPolicySpec"OrgPolicyApi.CreateEmptyPolicySpecw   r=   r   c                     g r)   r8   r9   s     r   BuildPolicyOrgPolicyApi.BuildPolicy{   r=   r   c                     g r)   r8   )r4   r:   has_spechas_dry_run_specs       r   BuildEmptyPolicyOrgPolicyApi.BuildEmptyPolicy   r=   r   c                     g r)   r8   r4   	condition	allow_alldeny_allenforcevaluess         r   BuildPolicySpecPolicyRule&OrgPolicyApi.BuildPolicySpecPolicyRule   s     	r   c                     g r)   r8   r4   allowed_valuesdenied_valuess      r   %BuildPolicySpecPolicyRuleStringValues2OrgPolicyApi.BuildPolicySpecPolicyRuleStringValues   rF   r   )r    r3   r)   FFNNNNNr8   r8   )__name__
__module____qualname____firstlineno____doc__r-   r5   abcabstractmethodr;   r?   r	   GoogleProtobufEmptyrD   rJ   rM   rQ   rU   rZ   r]   r`   rc   rg   rj   ro   rx   r~   __static_attributes____classcell__)r0   s   @r   r&   r&   =   s   &>M
 	 	 	 	 	00	 	
 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 *.*.)-(,'+	 	 ;=:<	 	r   r&   c                       \ rS rSrSrS rS r SS\S\R                  4S jjr
S	 rS
 rS rSS jrS rS rS rS rS rS rSS jr     SS jr  SS jrSrg)r.      z'Base class for all Org Policy V2GA API.c                    UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ U R                  R                  US9nU R                  R                  R                  U5      $ Norganizations/r:   folders/)

startswithr3   (OrgpolicyOrganizationsPoliciesGetRequestr    organizations_policiesGet"OrgpolicyFoldersPoliciesGetRequestfolders_policies#OrgpolicyProjectsPoliciesGetRequestprojects_policiesr4   r:   requests      r   r;   OrgPolicyApiGA.GetPolicy   s    '((FF G g[[//33G<<		$	$@@d@Kg[[))--g66AAtALg[[**..w77r   c                    UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ U R                  R                  US9nU R                  R                  R                  U5      $ r   )
r   r3   7OrgpolicyOrganizationsPoliciesGetEffectivePolicyRequestr    r   r?   1OrgpolicyFoldersPoliciesGetEffectivePolicyRequestr   2OrgpolicyProjectsPoliciesGetEffectivePolicyRequestr   r   s      r   r?   !OrgPolicyApiGA.GetEffectivePolicy   s    '((UU V g[[//BB7KK		$	$OO P g[[))<<WEEPP Q g[[**==gFFr   Nr:   rA   c                    UR                  S5      (       a>  U R                  R                  XS9nU R                  R                  R                  U5      $ UR                  S5      (       a>  U R                  R                  XS9nU R                  R                  R                  U5      $ U R                  R                  XS9nU R                  R                  R                  U5      $ )Nr   )r:   rC   r   )
r   r3   +OrgpolicyOrganizationsPoliciesDeleteRequestr    r   Delete%OrgpolicyFoldersPoliciesDeleteRequestr   &OrgpolicyProjectsPoliciesDeleteRequestr   )r4   r:   rC   r   s       r   rD   OrgPolicyApiGA.DeletePolicy   s     '((II J g [[//66w??		$	$CC D g [[))0099DD E g [[**11'::r   c                    UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ U R                  R                  US9nU R                  R                  R                  U5      $ Nr   )rI   r   )
r   r3   )OrgpolicyOrganizationsPoliciesListRequestr    r   List#OrgpolicyFoldersPoliciesListRequestr   $OrgpolicyProjectsPoliciesListRequestr   r4   rI   r   s      r   rJ   OrgPolicyApiGA.ListPolicies   s    )**GG H g[[//44W==			:	&	&AAAPg[[))..w77BB C g[[**//88r   c                    UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ UR                  S5      (       a>  U R                  R                  US9nU R                  R                  R                  U5      $ U R                  R                  US9nU R                  R                  R                  U5      $ r   )
r   r3   ,OrgpolicyOrganizationsConstraintsListRequestr    organizations_constraintsr   &OrgpolicyFoldersConstraintsListRequestfolders_constraints'OrgpolicyProjectsConstraintsListRequestprojects_constraintsr   s      r   rM   OrgPolicyApiGA.ListConstraints   s    )**JJ K g[[2277@@			:	&	&DD E g[[,,11'::EE F g[[--227;;r   c                    [         R                  " UR                  5      nUR                  S5      (       a<  U R                  R                  X!S9nU R                  R                  R                  US9$ UR                  S5      (       a<  U R                  R                  X!S9nU R                  R                  R                  US9$ U R                  R                  X!S9nU R                  R                  R                  US9$ )Nr   )rI   googleCloudOrgpolicyV2Policyr   r   )r   GetResourceFromPolicyNamer:   r   r3   +OrgpolicyOrganizationsPoliciesCreateRequestr    r   Create%OrgpolicyFoldersPoliciesCreateRequestr   &OrgpolicyProjectsPoliciesCreateRequestr   )r4   rP   rI   r   s       r   rQ   OrgPolicyApiGA.CreatePolicy   s    ,,V[[9F)**II J >g[[//66w6GG			:	&	&CC D >g[[))000AADD E >g[[**11'1BBr   c                 >   UR                   R                  S5      (       aJ  U R                  R                  UR                   UUS9nU R                  R
                  R                  U5      $ UR                   R                  S5      (       aJ  U R                  R                  UR                   UUS9nU R                  R                  R                  U5      $ U R                  R                  UR                   UUS9nU R                  R                  R                  U5      $ )Nr   )r:   r   
updateMaskr   )r:   r   r3   *OrgpolicyOrganizationsPoliciesPatchRequestr    r   Patch$OrgpolicyFoldersPoliciesPatchRequestr   %OrgpolicyProjectsPoliciesPatchRequestr   )r4   rP   rT   r   s       r   rU   OrgPolicyApiGA.UpdatePolicy   s    {{.//HH{{'-  I "g [[//55g>>			
	+	+BB{{'-  C "g [[))//88CC{{'-  D "g [[**0099r   c                     [         R                  " UR                  5      nU R                  R	                  X!S9nU R
                  R                  R                  US9$ )N)rI   &googleCloudOrgpolicyV2CustomConstraintr   )r   r   r:   r3   4OrgpolicyOrganizationsCustomConstraintsCreateRequestr    organizations_customConstraintsr   )r4   rY   rI   r   s       r   rZ   %OrgPolicyApiGA.CreateCustomConstraint  sU    ,,->-C-CDFmmPP Q QG;;66==g=NNr   c                     U R                   R                  UUR                  S9nU R                  R                  R                  U5      $ )N)r   r:   )r3   3OrgpolicyOrganizationsCustomConstraintsPatchRequestr:   r    r   r   )r4   rY   r   s      r   r]   %OrgPolicyApiGA.UpdateCustomConstraint  sE    mmOO/@## P %G ;;66<<WEEr   c                 ~    U R                   R                  US9nU R                  R                  R	                  U5      $ Nr   )r3   1OrgpolicyOrganizationsCustomConstraintsGetRequestr    r   r   r   s      r   r`   "OrgPolicyApiGA.GetCustomConstraint  s:    mmMM N G;;66::7CCr   c                 ~    U R                   R                  US9nU R                  R                  R	                  U5      $ r   )r3   4OrgpolicyOrganizationsCustomConstraintsDeleteRequestr    r   r   r   s      r   rc   %OrgPolicyApiGA.DeleteCustomConstraint  s:    mmPP Q G;;66==gFFr   c                 6    U R                   R                  5       $ r)   )r3    GoogleCloudOrgpolicyV2PolicySpecrf   s    r   rg   $OrgPolicyApiGA.CreateEmptyPolicySpec  s    ==99;;r   c                 h    U R                   R                  5       nU R                   R                  XS9$ )N)r:   specr3   r   GoogleCloudOrgpolicyV2Policy)r4   r:   r   s      r   rj   OrgPolicyApiGA.BuildPolicy  s,    ==99;D==5545KKr   c                     S nS nU(       a  U R                   R                  5       nU(       a  U R                   R                  5       nU R                   R                  XUS9$ )N)r:   r   
dryRunSpecr   )r4   r:   rm   rn   r   dry_run_specs         r   ro   OrgPolicyApiGA.BuildEmptyPolicy  sW    DL]];;=d]]CCEl==55 6  r   c                 <    U R                   R                  UUUUUS9$ )N)rs   allowAlldenyAllrv   rw   )r3   *GoogleCloudOrgpolicyV2PolicySpecPolicyRulerr   s         r   rx   (OrgPolicyApiGA.BuildPolicySpecPolicyRule)  s0     ==CC D  r   r8   c                 4    U R                   R                  XS9$ )N)allowedValuesdeniedValues)r3   6GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValuesr{   s      r   r~   4OrgPolicyApiGA.BuildPolicySpecPolicyRuleStringValues7  s&     ==OO$ P B Br   r)   r   r   r   )r   r   r   r   r   r;   r?   strr	   r   rD   rJ   rM   rQ   rU   rZ   r]   r`   rc   rg   rj   ro   rx   r~   r   r8   r   r   r.   r.      s    /
8G !;;00;&9<C:(OFD
G
<L	 +/*.)-(,'+ <>:<Br   r.   )r   
__future__r   r   r   r    googlecloudsdk.api_lib.orgpolicyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   2googlecloudsdk.generated_clients.apis.orgpolicy.v2r	   r   r*   r+   r   r   r   r   r!   r$   objectr&   r.   r8   r   r   <module>r      sx    , &  ' 
 2 , ( T!   ##T*(
BBS	6 S	lhB\ hBr   