
    ,                     ^   d Z ddlmZ ddlmZ ddlmZ ddl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ZdZe
j                   j"                  de
j                   j$                  de
j                   j&                  diZd Z G d de      Z G d de      Z G d de      Z G d de      Zy)z'Utilities for Org Policy Simulator API.    )absolute_import)division)unicode_literalsN)apis)waiter)base)
properties)	resourcespolicysimulatori6 v1alphav1betav1c                 ,    t         j                  |       S )z;Return the api version of the Org Policy Simulator service.)VERSION_MAPget)release_tracks    Elib/googlecloudsdk/api_lib/policy_intelligence/orgpolicy_simulator.pyGetApiVersionr   (   s    		''    c                   0    e Zd ZdZ fdZd Zd Zd Zej                  	 	 dd       Z
ej                  	 	 	 	 	 dd       Zej                  	 	 dd       Zej                  	 	 dd	       Zej                  	 	 dd
       Zej                  d        Z xZS )OrgPolicySimulatorApiz'Base Class for OrgPolicy Simulator API.c                 >   |t         j                  j                  k(  rt        t        |   t              S |t         j                  j                  k(  rt        t        |   t              S |t         j                  j                  k(  rt        t        |   t              S y N)r   ReleaseTrackALPHAsuperr   __new__OrgPolicySimulatorApiAlphaBETAOrgPolicySimulatorApiBetaGAOrgPolicySimulatorApiGA)clsr   	__class__s     r   r   zOrgPolicySimulatorApi.__new__0   s    ))///(  :;<))...(  9:;)),,,(  789 -r   c                     t        |      | _        t        j                  t        | j                        | _        t        j                  t        | j                        | _        y r   )r   api_versionr   GetClientInstance	_API_NAMEclientGetMessagesModulemessages)selfr   s     r   __init__zOrgPolicySimulatorApi.__init__;   sC    $]3D((D4D4DEDK**9d6F6FGDMr   c                 *    |j                  d      d   S )N/)split)r,   operation_names     r   GetViolationsPreviewIdz,OrgPolicySimulatorApi.GetViolationsPreviewIdB   s    $R((r   c                    t        j                  t        | j                        }t        j
                  j                         }|j                  d| j                         |j                  |j                  t        j                  j                  j                  j                  d| j                  |j                        dd      }t!        j"                  |j$                        }t!        j&                  |||t(              S )z#Wait for the operation to complete.r   global)organizationsIdlocationsIdorgPolicyViolationsPreviewsIdzNpolicysimulator.organizations.locations.orgPolicyViolationsPreviews.operations)params
collection)wait_ceiling_ms)r   r'   r(   r&   r
   REGISTRYCloneRegisterApiByNameParsenamer	   VALUESaccess_context_managerorganization	GetOrFailr3   r   CloudOperationPollerNoResources
operationsWaitFor_MAX_WAIT_TIME_MS)r,   	operationmessage	v1_clientregistryoperation_refpollers          r   WaitForOperationz&OrgPolicySimulatorApi.WaitForOperationE   s     &&y$2B2BCI!!'')H0$2B2BCNN !!88EEOO#++INN;
 d # 	eM 33I4H4HIF>>w8IK Kr   c                      y r    r,   violations_previewparents      r   'CreateOrgPolicyViolationsPreviewRequestz=OrgPolicySimulatorApi.CreateOrgPolicyViolationsPreviewRequestZ        	r   c                      y r   rQ   r,   r@   overlayresource_countsstateviolations_counts         r   ,GetPolicysimulatorOrgPolicyViolationsPreviewzBOrgPolicySimulatorApi.GetPolicysimulatorOrgPolicyViolationsPreview`   s     	r   c                      y r   rQ   r,   custom_constraintspoliciess      r   GetOrgPolicyOverlayz)OrgPolicySimulatorApi.GetOrgPolicyOverlayi   rV   r   c                      y r   rQ   r,   policypolicy_parents      r   GetOrgPolicyPolicyOverlayz/OrgPolicySimulatorApi.GetOrgPolicyPolicyOverlayo   s    
 	r   c                      y r   rQ   r,   custom_constraintcustom_constraint_parents      r   #GetOrgPolicyCustomConstraintOverlayz9OrgPolicySimulatorApi.GetOrgPolicyCustomConstraintOverlayv   rV   r   c                      y r   rQ   r,   s    r   $GetOrgPolicyViolationsPreviewMessagez:OrgPolicySimulatorApi.GetOrgPolicyViolationsPreviewMessage|   s    r   NNNNNNN)__name__
__module____qualname____doc__r   r-   r3   rO   abcabstractmethodrU   r]   rb   rg   rl   ro   __classcell__)r$   s   @r   r   r   -   s    /	9H)K* AE59	 	
 8<;?CG9=DH	 	 -1#'	 	
  	 	 <@CG	 	
 	 	r   r   c                   X    e Zd ZdZ	 	 d	dZ	 	 	 	 	 d
dZ	 	 d	dZ	 	 d	dZ	 	 d	dZd Z	y)r   z-Base Class for OrgPolicy Simulator API Alpha.Nc                 <    | j                   j                  ||      S )N);googleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewrT   r+   MPolicysimulatorOrganizationsLocationsOrgPolicyViolationsPreviewsCreateRequestrR   s      r   rU   zBOrgPolicySimulatorApiAlpha.CreateOrgPolicyViolationsPreviewRequest   s'     ==ffDV g  r   c                 B    | j                   j                  |||||      S N)r@   rY   resourceCountsr[   violationsCountr+   ;GoogleCloudPolicysimulatorV1alphaOrgPolicyViolationsPreviewrX   s         r   r]   zGOrgPolicySimulatorApiAlpha.GetPolicysimulatorOrgPolicyViolationsPreview   s0     ==TT&( U * *r   c                 <    | j                   j                  ||      S N)customConstraintsra   )r+   1GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayr_   s      r   rb   z.OrgPolicySimulatorApiAlpha.GetOrgPolicyOverlay   s'     ==JJ, K  r   c                 <    | j                   j                  ||      S N)re   policyParent)r+   >GoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayPolicyOverlayrd   s      r   rg   z4OrgPolicySimulatorApiAlpha.GetOrgPolicyPolicyOverlay   s'     ==WW" X $ $r   c                 <    | j                   j                  ||      S N)customConstraintcustomConstraintParent)r+   HGoogleCloudPolicysimulatorV1alphaOrgPolicyOverlayCustomConstraintOverlayri   s      r   rl   z>OrgPolicySimulatorApiAlpha.GetOrgPolicyCustomConstraintOverlay   s'     ==aa*7 b 9 9r   c                 2    | j                   j                  }|S r   r   r,   ms     r   ro   z?OrgPolicySimulatorApiAlpha.GetOrgPolicyViolationsPreviewMessage   s    QQAHr   rp   rq   
rr   rs   rt   ru   rU   r]   rb   rg   rl   ro   rQ   r   r   r   r      sW    5 BF59 9=;?CG9=DH* .2#' (,.2$ =ACG9r   r   c                   X    e Zd ZdZ	 	 d	dZ	 	 	 	 	 d
dZ	 	 d	dZ	 	 d	dZ	 	 d	dZd Z	y)r    z,Base Class for OrgPolicy Simulator API Beta.Nc                 <    | j                   j                  ||      S )N):googleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewrT   r|   rR   s      r   rU   zAOrgPolicySimulatorApiBeta.CreateOrgPolicyViolationsPreviewRequest   s'     ==ffCU g  r   c                 B    | j                   j                  |||||      S r   r+   :GoogleCloudPolicysimulatorV1betaOrgPolicyViolationsPreviewrX   s         r   r]   zFOrgPolicySimulatorApiBeta.GetPolicysimulatorOrgPolicyViolationsPreview   s0     ==SS&( T * *r   c                 <    | j                   j                  ||      S r   )r+   0GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayr_   s      r   rb   z-OrgPolicySimulatorApiBeta.GetOrgPolicyOverlay   s'     ==II, J  r   c                 <    | j                   j                  ||      S r   )r+   =GoogleCloudPolicysimulatorV1betaOrgPolicyOverlayPolicyOverlayrd   s      r   rg   z3OrgPolicySimulatorApiBeta.GetOrgPolicyPolicyOverlay   s'     ==VV" W $ $r   c                 <    | j                   j                  ||      S r   )r+   GGoogleCloudPolicysimulatorV1betaOrgPolicyOverlayCustomConstraintOverlayri   s      r   rl   z=OrgPolicySimulatorApiBeta.GetOrgPolicyCustomConstraintOverlay   s'     ==``*7 a 9 9r   c                 2    | j                   j                  }|S r   r   r   s     r   ro   z>OrgPolicySimulatorApiBeta.GetOrgPolicyViolationsPreviewMessage   s    PPAHr   rp   rq   r   rQ   r   r   r    r       sW    4 BF59 9=;?CG9=DH* .2#' (,.2$ =ACG9r   r    c                   X    e Zd ZdZ	 	 d	dZ	 	 	 	 	 d
dZ	 	 d	dZ	 	 d	dZ	 	 d	dZd Z	y)r"   z*Base Class for OrgPolicy Simulator API GA.Nc                 <    | j                   j                  ||      S )N)6googleCloudPolicysimulatorV1OrgPolicyViolationsPreviewrT   r|   rR   s      r   rU   z?OrgPolicySimulatorApiGA.CreateOrgPolicyViolationsPreviewRequest   s'     ==ff?Q g  r   c                 B    | j                   j                  |||||      S r   r+   6GoogleCloudPolicysimulatorV1OrgPolicyViolationsPreviewrX   s         r   r]   zDOrgPolicySimulatorApiGA.GetPolicysimulatorOrgPolicyViolationsPreview   s0     ==OO&( P * *r   c                 <    | j                   j                  ||      S r   )r+   ,GoogleCloudPolicysimulatorV1OrgPolicyOverlayr_   s      r   rb   z+OrgPolicySimulatorApiGA.GetOrgPolicyOverlay   s'     ==EE, F  r   c                 <    | j                   j                  ||      S r   )r+   9GoogleCloudPolicysimulatorV1OrgPolicyOverlayPolicyOverlayrd   s      r   rg   z1OrgPolicySimulatorApiGA.GetOrgPolicyPolicyOverlay   s'     ==RR" S $ $r   c                 <    | j                   j                  ||      S r   )r+   CGoogleCloudPolicysimulatorV1OrgPolicyOverlayCustomConstraintOverlayri   s      r   rl   z;OrgPolicySimulatorApiGA.GetOrgPolicyCustomConstraintOverlay  s'     ==\\*7 ] 9 9r   c                 .    | j                   j                  S r   r   rn   s    r   ro   z<OrgPolicySimulatorApiGA.GetOrgPolicyViolationsPreviewMessage  s    ==OOOr   rp   rq   r   rQ   r   r   r"   r"      sX    2 BF59 9=;?CG9=DH* .2#' (,.2$ =ACG9Pr   r"   )ru   
__future__r   r   r   rv   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.callioper   googlecloudsdk.corer	   r
   r(   rH   r   r   r   r!   r   r   objectr   r   r    r"   rQ   r   r   <module>r      s    . &  ' 
 , . ( * ) 	"  	YH$(
Q	F Q	h.!6 .b. 5 .`-P3 -Pr   