
    Q,                         S 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.    N)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   .   s    =)&	r   c                 0    [        U 5      nUR                  $ )z6Returns the service class for the Constraint resource.)r   constraintsr   s     r   ConstraintServicer!   4   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__A   s6    .K(()<kJDK**+>LDMr   c                     g r&    r1   names     r   	GetPolicyOrgPolicyApi.GetPolicyF       r   c                     g r&   r5   r6   s     r   GetEffectivePolicyOrgPolicyApi.GetEffectivePolicyJ   r:   r   returnc                     g r&   r5   )r1   r7   etags      r   DeletePolicyOrgPolicyApi.DeletePolicyN        	r   c                     g r&   r5   r1   parents     r   ListPoliciesOrgPolicyApi.ListPoliciesT   r:   r   c                     g r&   r5   rE   s     r   ListConstraintsOrgPolicyApi.ListConstraintsX   r:   r   c                     g r&   r5   )r1   policys     r   CreatePolicyOrgPolicyApi.CreatePolicy\   r:   r   c                     g r&   r5   )r1   rM   update_masks      r   UpdatePolicyOrgPolicyApi.UpdatePolicy`   r:   r   c                     g r&   r5   r1   custom_constraints     r   CreateCustomConstraint#OrgPolicyApi.CreateCustomConstraintd   r:   r   c                     g r&   r5   rU   s     r   UpdateCustomConstraint#OrgPolicyApi.UpdateCustomConstrainth   r:   r   c                     g r&   r5   r6   s     r   GetCustomConstraint OrgPolicyApi.GetCustomConstraintl   r:   r   c                     g r&   r5   r6   s     r   DeleteCustomConstraint#OrgPolicyApi.DeleteCustomConstraintp   r:   r   c                     g r&   r5   r1   s    r   CreateEmptyPolicySpec"OrgPolicyApi.CreateEmptyPolicySpect   r:   r   c                     g r&   r5   r6   s     r   BuildPolicyOrgPolicyApi.BuildPolicyx   r:   r   c                     g r&   r5   )r1   r7   has_spechas_dry_run_specs       r   BuildEmptyPolicyOrgPolicyApi.BuildEmptyPolicy|   r:   r   c                     g r&   r5   r1   	condition	allow_alldeny_allenforcevaluess         r   BuildPolicySpecPolicyRule&OrgPolicyApi.BuildPolicySpecPolicyRule   s     	r   c                     g r&   r5   r1   allowed_valuesdenied_valuess      r   %BuildPolicySpecPolicyRuleStringValues2OrgPolicyApi.BuildPolicySpecPolicyRuleStringValues   rC   r   )r   r0   r&   FFNNNNNr5   r5   )__name__
__module____qualname____firstlineno____doc__r*   r2   abcabstractmethodr8   r<   r   GoogleProtobufEmptyrA   rG   rJ   rN   rR   rW   rZ   r]   r`   rd   rg   rl   ru   r{   __static_attributes____classcell__)r-   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/r7   folders/)

startswithr0   (OrgpolicyOrganizationsPoliciesGetRequestr   organizations_policiesGet"OrgpolicyFoldersPoliciesGetRequestfolders_policies#OrgpolicyProjectsPoliciesGetRequestprojects_policiesr1   r7   requests      r   r8   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   r0   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   Nr7   r>   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   )r7   r@   r   )
r   r0   +OrgpolicyOrganizationsPoliciesDeleteRequestr   r   Delete%OrgpolicyFoldersPoliciesDeleteRequestr   &OrgpolicyProjectsPoliciesDeleteRequestr   )r1   r7   r@   r   s       r   rA   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   )rF   r   )
r   r0   )OrgpolicyOrganizationsPoliciesListRequestr   r   List#OrgpolicyFoldersPoliciesListRequestr   $OrgpolicyProjectsPoliciesListRequestr   r1   rF   r   s      r   rG   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   r0   ,OrgpolicyOrganizationsConstraintsListRequestr   organizations_constraintsr   &OrgpolicyFoldersConstraintsListRequestfolders_constraints'OrgpolicyProjectsConstraintsListRequestprojects_constraintsr   s      r   rJ   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   )rF   googleCloudOrgpolicyV2Policyr   r   )r   GetResourceFromPolicyNamer7   r   r0   +OrgpolicyOrganizationsPoliciesCreateRequestr   r   Create%OrgpolicyFoldersPoliciesCreateRequestr   &OrgpolicyProjectsPoliciesCreateRequestr   )r1   rM   rF   r   s       r   rN   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   )r7   r   
updateMaskr   )r7   r   r0   *OrgpolicyOrganizationsPoliciesPatchRequestr   r   Patch$OrgpolicyFoldersPoliciesPatchRequestr   %OrgpolicyProjectsPoliciesPatchRequestr   )r1   rM   rQ   r   s       r   rR   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)rF   &googleCloudOrgpolicyV2CustomConstraintr   )r   r   r7   r0   4OrgpolicyOrganizationsCustomConstraintsCreateRequestr   organizations_customConstraintsr   )r1   rV   rF   r   s       r   rW   %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   r7   )r0   3OrgpolicyOrganizationsCustomConstraintsPatchRequestr7   r   r   r   )r1   rV   r   s      r   rZ   %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   )r0   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   )r0   4OrgpolicyOrganizationsCustomConstraintsDeleteRequestr   r   r   r   s      r   r`   %OrgPolicyApiGA.DeleteCustomConstraint  s:    mmPP Q G;;66==gFFr   c                 6    U R                   R                  5       $ r&   )r0    GoogleCloudOrgpolicyV2PolicySpecrc   s    r   rd   $OrgPolicyApiGA.CreateEmptyPolicySpec  s    ==99;;r   c                 h    U R                   R                  5       nU R                   R                  XS9$ )N)r7   specr0   r   GoogleCloudOrgpolicyV2Policy)r1   r7   r   s      r   rg   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)r7   r   
dryRunSpecr   )r1   r7   rj   rk   r   dry_run_specs         r   rl   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)rp   allowAlldenyAllrs   rt   )r0   *GoogleCloudOrgpolicyV2PolicySpecPolicyRulero   s         r   ru   (OrgPolicyApiGA.BuildPolicySpecPolicyRule&  s0     ==CC D  r   r5   c                 4    U R                   R                  XS9$ )N)allowedValuesdeniedValues)r0   6GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValuesrx   s      r   r{   4OrgPolicyApiGA.BuildPolicySpecPolicyRuleStringValues4  s&     ==OO$ P B Br   r&   r}   r~   r   )r   r   r   r   r   r8   r<   strr   r   rA   rG   rJ   rN   rR   rW   rZ   r]   r`   rd   rg   rl   ru   r{   r   r5   r   r   r+   r+      s    /
8G !;;00;&9<C:(OFD
G
<L	 +/*.)-(,'+ <>:<B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+   r5   r   r   <module>r      sq    ,  2 , ( T!   ##T*(
BBS	6 S	lhB\ hBr   