Ë
    €Ï…  ã                   óÌ   — 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Ze
j                   G d„ de
j                   «      «       Zdddœe_        y
)z4Command for updating organization firewall policies.é    )Úabsolute_import)Údivision)Úunicode_literals)Úbase_classes)Úclient)Úbase)Úfirewall_policies_utils)ÚflagsNc                   ó*   — e Zd ZdZdZed„ «       Zd„ Zy)ÚUpdatezØUpdate a Compute Engine organization firewall policy.

  *{command}* is used to update organization firewall policies. An organization
  firewall policy is a set of rules that controls access to various resources.
  Nc                 ó    — t        j                  dd¬«      | _        | j                  j                  |d¬«       t        j                  |«       y )NTÚupdate)ÚrequiredÚ	operation)Úoperation_type)r
   ÚFirewallPolicyArgumentÚFIREWALL_POLICY_ARGÚAddArgumentÚAddArgsUpdateFirewallPolicy)ÚclsÚparsers     ú/lib/surface/compute/firewall_policies/update.pyÚArgszUpdate.Args'   sA   € ä#×:Ñ:Ø ô+€CÔà×Ñ×'Ñ'¨¸xÐ'ÔHÜ	×%Ñ% fÕ-ó    c           	      óz  — t        j                  | j                  «       «      }| j                  j	                  ||j
                  d¬«      }t        j                  ||j                  |j
                  t        j                  | j                  «       «      j                  «       ¬«      }t        j                  ||j                  «       |j                  ¬«      }|j                  |d¬«      d   }|j                  j                   j#                  |j$                  |j&                  ¬«      }|j)                  |d|¬«      S )	NF)Úwith_project)ÚrefÚcompute_clientÚ	resourcesÚversion)Úorganization)Úfp_idÚonly_generate_requestr   )ÚdescriptionÚfingerprint)r"   r#   Úfirewall_policy)r   ÚComputeApiHolderÚReleaseTrackr   ÚResolveAsResourcer   r   ÚOrgFirewallPolicyÚsixÚ	text_typeÚlowerr	   ÚGetFirewallPolicyIdÚNamer!   ÚDescribeÚmessagesÚFirewallPolicyr$   r%   r   )ÚselfÚargsÚholderr   Úorg_firewall_policyr"   Úexisting_firewall_policyr&   s           r   ÚRunz
Update.Run.   s"  € Ü×*Ñ*¨4×+<Ñ+<Ó+>Ó?€FØ
×
"Ñ
"×
4Ñ
4Øˆf×Ñ¨Uð 5ó 4€Cä ×2Ñ2ØØ—}‘}Ø×"Ñ"Ü—‘˜d×/Ñ/Ó1Ó2×8Ñ8Ó:ô	<Ðô
 $×7Ñ7Ø˜SŸX™X›Z°d×6GÑ6GôI€Eà2×;Ñ;Ø¨5ð  <ó  2Ø23ñ 5Ðà—m‘m×,Ñ,×;Ñ;Ø×$Ñ$Ø,×8Ñ8ð <ó :€Oð ×%Ñ%ØØ#Ø'ð &ó )ð )r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r8   © r   r   r   r      s&   „ ñð Ðàñ.ó ð.ó)r   r   z¾    To update an organization firewall policy with ID ``123456789" to change the
    description to ``New description", run:

      $ {command} 123456789 --description='New description'
    a      To update a firewall policy, the user must have the following
    permission: *`compute.firewallPolicies.update`.

    To find predefined roles that contain those permissions, see the [Compute
    Engine IAM roles](https://cloud.google.com/compute/docs/access/iam).
    )ÚEXAMPLESzIAM PERMISSIONS)r<   Ú
__future__r   r   r   Úgooglecloudsdk.api_lib.computer   Ú0googlecloudsdk.api_lib.compute.firewall_policiesr   Úgooglecloudsdk.callioper   Ú4googlecloudsdk.command_lib.compute.firewall_policiesr	   r
   r+   ÚDefaultUniverseOnlyÚUpdateCommandr   Údetailed_helpr>   r   r   Ú<module>rH      sa   ðñ ;å &Ý Ý 'å 7Ý CÝ (Ý XÝ FÛ 
ð ×Ñô$)ˆT×Ñó $)ó ð$)ðR	ðñ€Õ r   