
                         n   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	r\R                  " \R                  R                   5       " S
 S\R"                  5      5       r\R                  " \R                  R&                  \R                  R(                  5       " S S\5      5       rg)z=`gcloud service-directory namespaces set-iam-policy` command.    )absolute_import)division)unicode_literals)
namespaces)base)iam_util)resource_args	namespacec                   <    \ rS rSrSrSS0r\S 5       rS rS r	Sr
g	)
SetIamPolicy    Sets IAM policy for a namespace.EXAMPLESz          To set an IAM policy to a Service Directory namespace, run:

            $ {command} my-namespace --location=us-east1 policy.json
          c                 ^    [         R                  " U S5        [        R                  " U 5        g )Nzto add IAM policy binding to.)r	   AddNamespaceResourceArgr   AddArgForPolicyFile)parsers    :lib/surface/service_directory/namespaces/set_iam_policy.pyArgsSetIamPolicy.Args*   s&    ))+-   (    c                 t   [         R                  " U R                  5       5      nUR                  R                  R                  5       n[        R                  " UR                  UR                  R                  5      nUR                  X45      n[        R                  " UR                  5       [        5        U$ N)r   NamespacesClientGetReleaseTrackCONCEPTSr
   Parser   ParsePolicyFilepolicy_filemsgsPolicyr   LogSetIamPolicyName_RESOURCE_TYPE)selfargsclientnamespace_refpolicyresults         r   RunSetIamPolicy.Run2   s    (()=)=)?@FMM++113M%%d&6&68J8JKF  7F]//1>BMr   c                 6    [         R                  R                  $ r   )r   ReleaseTrackGAr%   s    r   r   SetIamPolicy.GetReleaseTrack<   s    r    N)__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r+   r   __static_attributes__r2   r   r   r   r      s4    ( - ) ) r   r   c                       \ rS rSrSrS rSrg)SetIamPolicyBeta@   r   c                 6    [         R                  R                  $ r   )r   r.   BETAr0   s    r   r    SetIamPolicyBeta.GetReleaseTrackD   s    !!!r   r2   N)r3   r4   r5   r6   r7   r   r:   r2   r   r   r<   r<   @   s
    ("r   r<   N)r7   
__future__r   r   r   (googlecloudsdk.api_lib.service_directoryr   googlecloudsdk.callioper   googlecloudsdk.command_lib.iamr   ,googlecloudsdk.command_lib.service_directoryr	   r$   ReleaseTracksr.   r/   Commandr   ALPHAr?   r<   r2   r   r   <module>rI      s    D &  ' ? ( 3 F D%%(() 4<<   * D D%%++T->->-C-CD"| " E"r   