
    |                        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  \
R                  " \
R                   R"                  5       " S
 S\
R$                  5      5       r\
R                  " \
R                   R(                  5       " S S\
R$                  5      5       r\
R                  " \
R                   R,                  5       " S S\
R$                  5      5       rg)z/gcloud dns managed-zone set-iam-policy command.    )absolute_import)division)unicode_literals)util)apis)base)flags)iam_utilc                   .    \ rS rSrSr\S 5       rS rSrg)SetIamPolicyAlpha   Set the IAM policy for a Cloud DNS managed-zone.

This command sets the IAM policy of the specified managed-zone.

## EXAMPLES

To set the IAM policy of your managed-zone , run:

  $ {command} my-zone --policy-file=policy.json
c                 p    [         R                  " S5      R                  U 5        U R                  SSSS9  g Nz7The name of the managed-zone to set the IAM policy for.z--policy-fileTz%JSON or YAML file with the IAM policy)requiredhelpr	   GetZoneResourceArgAddToParseradd_argumentparsers    /lib/surface/dns/managed_zones/set_iam_policy.pyArgsSetIamPolicyAlpha.Args)   >    	ACCN;D
4  6    c                    [         R                  " U R                  5       5      n[         R                  " U5      n[        R
                  " SU5      nUR                  R                  R                  5       nSR                  UR                  UR                  5      n[        R                  " UR                  UR                  5      u  pxUR!                  UUR#                  XxS9S9n	UR$                  R'                  U	5      $ )Ndnszprojects/{0}/managedZones/{1}policy
updateMaskresourcegoogleIamV1SetIamPolicyRequest)r   GetApiFromTrackReleaseTrackGetApiClientr   GetMessagesModuleCONCEPTSzoneParseformatprojectmanagedZoner
   ParsePolicyFileWithUpdateMaskpolicy_fileGoogleIamV1Policy*DnsProjectsManagedZonesSetIamPolicyRequestGoogleIamV1SetIamPolicyRequestprojects_managedZonesSetIamPolicy
selfargsapi_version
dns_clientmessageszone_refresource_namer!   update_maskreqs
             r   RunSetIamPolicyAlpha.Run3   s    &&t'8'8':;K"";/J%%e[9H}}!!'')H3::(..0M"@@(446F 
=
='/'N'N (O (3 > 4C
 ++88==r    N	__name__
__module____qualname____firstlineno____doc__staticmethodr   rA   __static_attributes__rC   r   r   r   r      s     	 6 6>r   r   c                   .    \ rS rSrSr\S 5       rS rSrg)SetIamPolicyBetaE   r   c                 p    [         R                  " S5      R                  U 5        U R                  SSSS9  g r   r   r   s    r   r   SetIamPolicyBeta.ArgsR   r   r   c                    Sn[         R                  " U5      n[        R                  " SU5      nUR                  R
                  R                  5       nSR                  UR                  SUR                  5      n[        R                  " UR                  UR                  5      u  pxUR                  UUR                  XxS9S9n	UR                   R#                  U	5      $ Nv2r   z+projects/{0}/locations/{1}/managedZones/{2}globalr    r#   r   r(   r   r)   r*   r+   r,   r-   r.   r/   r
   r0   r1   r2   "DnsManagedZonesSetIamPolicyRequestr4   managedZonesr6   r7   s
             r   rA   SetIamPolicyBeta.Run\       K"";/J%%e[9H}}!!'')HAHH(H$8$8:M"@@(446F 
5
5'/'N'N (O (3 6 4C
 ""//44r   rC   NrD   rC   r   r   rM   rM   E        	 6 65r   rM   c                   .    \ rS rSrSr\S 5       rS rSrg)SetIamPolicyGAo   r   c                 p    [         R                  " S5      R                  U 5        U R                  SSSS9  g r   r   r   s    r   r   SetIamPolicyGA.Args|   r   r   c                    Sn[         R                  " U5      n[        R                  " SU5      nUR                  R
                  R                  5       nSR                  UR                  SUR                  5      n[        R                  " UR                  UR                  5      u  pxUR                  UUR                  XxS9S9n	UR                   R#                  U	5      $ rR   rU   r7   s
             r   rA   SetIamPolicyGA.Run   rY   r   rC   NrD   rC   r   r   r\   r\   o   rZ   r   r\   N)rI   
__future__r   r   r   googlecloudsdk.api_lib.dnsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.dnsr	   googlecloudsdk.command_lib.iamr
   ReleaseTracksr'   ALPHACommandr   BETArM   GAr\   rC   r   r   <module>rm      s    6 &  ' + , ( 0 3 D%%++,%> %> -%>P D%%**+&5t|| &5 ,&5R D%%(()&5T\\ &5 *&5r   