
                            d 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dl	m
Z
 ddlmZ dd	lmZ dd
lmZ  ej                   ej"                  j$                  ej"                  j&                         G d dej(                               Zy)z3Cloud Pub/Sub subscriptions set-iam-policy command.    )absolute_import)division)unicode_literals)subscriptions)base)iam_util)flags)resource_args)logc                   L    e Zd ZdZ ej
                  dd      Zed        Zd Z	y)SetIamPolicyz4Set the IAM policy for a Cloud Pub/Sub Subscription.subscriptionzmy-subscriptionc                 Z    t        j                  | d       t        j                  |        y )Nzto set an IAM policy on.)r
   AddSubscriptionResourceArgr	   AddIamPolicyFileFlag)parsers    2lib/surface/pubsub/subscriptions/set_iam_policy.pyArgszSetIamPolicy.Args$   s!    ,,V5OP	v&    c                    t        j                         }|j                  }|j                  j                  j                         }t        j                  |j                  |j                        }|j                  ||      }t        j                  j                  dj                  |j                                      |S )N)policyz)Updated IAM policy for subscription [{}].)r   SubscriptionsClientmessagesCONCEPTSr   Parser   ParsePolicyFilepolicy_filePolicyr   r   statusPrintformatName)selfargsclientr   subscription_refr   responses          r   RunzSetIamPolicy.Run)   s    ..0FH}}11779%%d&6&6HF""#3F"CHJJ@GG! "Or   N)
__name__
__module____qualname____doc__r   GetDetailedHelpForSetIamPolicydetailed_helpstaticmethodr   r(    r   r   r   r      s6    <9(99')- ' '
r   r   N)r,   
__future__r   r   r   googlecloudsdk.api_lib.pubsubr   googlecloudsdk.callioper   googlecloudsdk.command_lib.iamr   !googlecloudsdk.command_lib.pubsubr	   r
   googlecloudsdk.corer   ReleaseTracksReleaseTrackGABETACommandr   r0   r   r   <module>r<      sl    : &  ' 7 ( 3 3 ; # D%%(($*;*;*@*@A4<<  Br   