
                            S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	KJr  SS
KJr  SrSrSrSrSr\S-   rSSS.r\	R,                  \	R.                  \	R0                  " \	R2                  R4                  \	R2                  R6                  5       " S S\	R8                  5      5       5       5       r\\l        g)z*services policies add-enable-rule command.    )absolute_import)division)unicode_literals)services_util)serviceusage)base)common_flags)log)
propertieszprojects/{}z
folders/{}zorganizations/{}z/consumerPolicies/{}z gcloud beta services operations zwait {0}z[        Add service(s) to a consumer policy for a project, folder or organization.
        af          To add enable rule for a service called `my-consumed-service` on default consumer policy on the current
        project, run:

          $ {command} my-consumed-service
              OR
          $ {command} my-consumed-service --policy_name=default

        To add enable rule for a service called `my-consumed-service` on default consumer policy on the
        project `my-project` , run:

          $ {command} my-consumed-service --project=my-project
              OR
          $ {command} my-consumed-service --policy_name=default --project=my-project

        To run the same command asynchronously (non-blocking), run:

          $ {command} my-consumed-service --async

        To enable services called `service1`, `service2`, and `service3` on the
        current project default policy , run:

          $ {command} service1 service2 service3
        )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)AddEnableRulesF   zJAdd service(s) to a consumer policy for a project, folder or organization.c                     [         R                  " SS9R                  U 5        U R                  SSSS9  [         R                  " U 5        [         R
                  " U SS9  [        R                  R                  U 5        g)	zArgs is called by calliope to gather arguments for this command.

Args:
  parser: An argparse parser that you can use to add arguments that go on
    the command line after this command. Positional arguments are allowed.
zto add enable rule for)suffixz--policy-namezCName of the consumer policy. Currently only "default" is supported.default)helpr   zadd enable ruleN)r	   available_service_flagAddToParseradd_argumentadd_resource_argsvalidate_only_argsr   
ASYNC_FLAG)parsers    1lib/surface/services/policies/add_enable_rules.pyArgsAddEnableRules.ArgsL   sr     '''k&
    ""6*##F3DEOO'    c                 0   UR                  S5      (       a  UR                  O0[        R                  R                  R                  R                  SS9nUR                  S5      (       a  UR                  OSnUR                  S5      (       a  UR                  OSn[        R                  " UR                  UUR                  UUUR                  5      u  pVUR                  (       aB  [        R                  UR                   5      n["        R$                  R'                  SU 35        g[(        R*                  " UR                   [        R,                  5      nUR                  (       a  [(        R.                  " U5        g[(        R0                  " U5        g)zRun services policies add-enable-rule.

Args:
  args: argparse.Namespace, The arguments that this command was invoked
    with.

Returns:
  The services in the consumer policy.
projectT)requiredfolderNorganizationz`Asynchronous operation is in progress... Use the following command to wait for its completion:
 )IsSpecifiedr!   r   VALUEScoreGetr#   r$   r   AddEnableRuleservicepolicy_namevalidate_onlyasync__OP_WAIT_CMDformatnamer
   statusPrintr   WaitOperationGetOperationV2AlphaPrintOperationPrintOperationWithResponse)selfargsr!   r#   r$   op_cmds           r   RunAddEnableRules.Runc   s=    I&& 	##++///> 
 !,,X66T[[DF!--n==4  &&EB {{(c	jj%!
 		$	$RWWl.N.N	OB""2&..r2r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r<   __static_attributes__r>   r   r   r   r   F   s     S( (,)3r   r   N)rC   
__future__r   r   r   googlecloudsdk.api_lib.servicesr   r   googlecloudsdk.callioper   #googlecloudsdk.command_lib.servicesr	   googlecloudsdk.corer
   r   _PROJECT_RESOURCE_FOLDER_RESOURCE_ORGANIZATION_RESOURCE_CONSUMER_POLICY_DEFAULT_OP_BASE_CMDr.   _DETAILED_HELPUniverseCompatibleHiddenReleaseTracksReleaseTrackALPHABETASilentCommandr   detailed_helpr>   r   r   <module>rY      s     1 &  ' 9 8 ( < # * "  + 1 1j(	@ D%%++T->->-C-CDC3T'' C3 E  C3L  . r   