ó
    €Ï2  ã                   ó8  • 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                   \
R                  R"                  \
R                  R$                  5       " S
 S\
R&                  5      5       rg)z@Command for removing user defined fields from security policies.é    )Úabsolute_import)Údivision)Úunicode_literals)Úbase_classes)Úclient)Úbase)Ú
exceptions)Úflagsc                   ó2   • \ rS rSrSrSr\S 5       rS rSr	g)ÚRemoveUserDefinedFieldAlphaé   a  Remove a user defined field from a Compute Engine security policy.

*{command}* is used to remove user defined fields from security policies.

## EXAMPLES

To remove a user defined field run this:

  $ {command} SECURITY_POLICY --user-defined-field-name=my-field
Nc                 óŽ   • [         R                  " 5       U l        U R                  R                  USS9  UR	                  SSSS9  g )NÚupdate)Úoperation_typeú--user-defined-field-nameTz-The name of the user defined field to remove.)ÚrequiredÚhelp)r
   ÚSecurityPolicyRegionalArgumentÚSECURITY_POLICY_ARGÚAddArgumentÚadd_argument)ÚclsÚparsers     ÚBlib/surface/compute/security_policies/remove_user_defined_field.pyÚArgsÚ RemoveUserDefinedFieldAlpha.Args-   sH   € ä#×BÒBÓD€CÔØ×Ñ×'Ñ'¨¸xÐ'ÑHØ
×ÑØ#ØØ<ð ò ó    c                 ól  • [         R                  " U R                  5       5      nU R                  R	                  XR
                  5      n[        R                  " X2R                  S9nUR                  5       S   nUR                  n/ nU H0  nUR                  UR                  :w  d  M  UR                  U5        M2     [        U5      [        U5      :X  a  [        R                  " SS5      eUR                  R                   R                  UUR"                  S9n	U(       d  SOS n
UR%                  XšS9$ )N)ÚrefÚcompute_clientr   r   z1user defined field does not exist in this policy.)ÚuserDefinedFieldsÚfingerprintÚuser_defined_fields)Úsecurity_policyÚ
field_mask)r   ÚComputeApiHolderÚReleaseTrackr   ÚResolveAsResourceÚ	resourcesr   ÚSecurityPolicyÚDescriber!   ÚnameÚuser_defined_field_nameÚappendÚlenr	   ÚInvalidArgumentExceptionÚmessagesr"   ÚPatch)ÚselfÚargsÚholderr   r$   Úexisting_security_policyÚexisting_user_defined_fieldsÚnew_user_defined_fieldsÚuser_defined_fieldÚupdated_security_policyr%   s              r   ÚRunÚRemoveUserDefinedFieldAlpha.Run7   s*  € Ü×*Ò*¨4×+<Ñ+<Ó+>Ó?€FØ
×
"Ñ
"×
4Ñ
4°T×;KÑ;KÓ
L€CÜ×+Ò+Ø§¡ñ€Oð  /×7Ñ7Ó9¸!Ñ<Ðà#;×#MÑ#MÐ Ø ÐÛ:ÐØ	×	 Ñ	  D×$@Ñ$@Õ	@Ø×&Ñ&Ð'9Ö:ñ ;ô Ð'Ó(¬CÐ0GÓ,HÓHÜ×/Ò/Ø
%Ø
=óð ð
 %Ÿm™m×4Ñ4×CÑCØ1Ø,×8Ñ8ð Dð Ðö
 /FÑ&È4€Jà× Ñ Ø/ð !ð ð r   © )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úclassmethodr   r;   Ú__static_attributes__r=   r   r   r   r      s&   † ñ	ð Ðàñó ðõr   r   N)rB   Ú
__future__r   r   r   Úgooglecloudsdk.api_lib.computer   Ú0googlecloudsdk.api_lib.compute.security_policiesr   Úgooglecloudsdk.callioper   r	   Ú4googlecloudsdk.command_lib.compute.security_policiesr
   ÚReleaseTracksr'   ÚALPHAÚBETAÚGAÚUpdateCommandr   r=   r   r   Ú<module>rO      sz   ðñ Gå &Ý Ý 'å 7Ý CÝ (Ý .Ý Fð ×ÒØ×Ñ×Ñ˜T×.Ñ.×3Ñ3°T×5FÑ5F×5IÑ5Ióô5 $×"4Ñ"4ó 5óñ5r   