
                            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  SS	KJr  SS
KJr  SSKJr  SSS.r\R,                  \R.                  " \R0                  R2                  \R0                  R4                  \R0                  R6                  5       " S S\R8                  5      5       5       rg)z-Import network firewall policy rules command.    )absolute_import)division)unicode_literals)base_classes)client)region_client)base)flags)util)
console_iozI        Imports Firewall Policy rules configuration from a file.
        z        Firewall Policy rules can be imported by running:

          $ {command} FIREWALL_POLICY --source=<path-to-file> --global
        )DESCRIPTIONEXAMPLESc                   Z    \ rS rSrSrSr\r\S 5       r	\S	S j5       r
\S 5       rS rSrg)
Import*   zyImport a Compute Engine network firewall policy rules.

Imports network firewall policy rules configuration from a file.
Nc                     U R                  5       [        R                   R                  :X  a  gU R                  5       [        R                   R                  :X  a  gg)z3Returns the API version based on the release track.alphabetav1)ReleaseTrackr	   ALPHABETA)clss    =lib/surface/compute/network_firewall_policies/import_rules.pyGetApiVersionImport.GetApiVersion7   sG     T..444				t0055	5    c                 L    [         R                  " SU R                  5       SUS9$ )z!Returns the resource schema path.computeFirewallPolicyfor_help)export_utilGetSchemaPathr   )r   r"   s     r   r$   Import.GetSchemaPath@   s,     $$	 r   c                     [         R                  " SSS9U l        U R                  R                  USS9  [        R
                  " XR                  SS95        g )NTzimport rules to)required	operationzimport-rules)operation_typer!   )r
   NetworkFirewallPolicyArgumentNETWORK_FIREWALL_POLICY_ARGAddArgumentr#   AddImportFlagsr$   )r   parsers     r   ArgsImport.ArgsJ   sY    &+&I&I!2'C# ##//~ 0  v'8'8$'8'GHr   c                 &   [         R                  " U R                  5       5      nU R                  R	                  UUR
                  [        R                  " [        5      S9n[        R                  " X2R                  S9n[        US5      (       a  [        R                  " X2R                  S9n[        R                  " UR                  =(       d    SSS9n[         R"                  " UR                  R$                  R&                  UU R)                  5       S9nUR+                  SS9S	   n[        R,                  " S
SS9  UR                  R$                  R'                  UR.                  UR0                  UR2                  S9nUR5                  USS9$ )N)scope_lister)compute_clientregion-F)binary)message_typestreamschema_path)only_generate_requestr   z*Firewall Policy rules will be overwritten.T)messagecancel_on_no)fingerprintrulespacketMirroringRules)firewall_policyr:   )r   ComputeApiHolderr   r+   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   NetworkFirewallPolicyhasattrr   RegionNetworkFirewallPolicyr   ReadFromFileOrStdinsourcer#   r   messagesr    r$   DescribePromptContinuer=   r>   r?   Update)	selfargsholderfirewall_policy_refnetwork_firewall_policy_clientdatafirewall_policy_rulesexisting_firewall_policyr@   s	            r   Run
Import.RunT   sz   **4+<+<+>?F::LL"88@ M 
 &,%A%AMM&" "H--

3
3!-- % ))$++*<UKD'..]]++::&&(  >FF#  G   	 <4 mm,,;;,88#))2GG < O
 *00'u 1  r    )F)__name__
__module____qualname____firstlineno____doc__r+   DETAILED_HELPdetailed_helpclassmethodr   r$   r/   rW   __static_attributes__rY   r   r   r   r   *   sU    

 !%-    I I(r   r   N)r^   
__future__r   r   r   googlecloudsdk.api_lib.computer   8googlecloudsdk.api_lib.compute.network_firewall_policiesr   r   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   rD   <googlecloudsdk.command_lib.compute.network_firewall_policies!googlecloudsdk.command_lib.exportr   r#   googlecloudsdk.core.consoler   r_   DefaultUniverseOnlyReleaseTracksr   r   r   GACommandr   rY   r   r   <module>ro      s    4 &  ' 7 K R ( E N A 2		 T..33T5F5F5I5INT\\ N Nr   