
    	                         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  \R"                  \R$                  " \R&                  R(                  5       " S
 S\R*                  5      5       5       rSS0\l        g)z&Command for creating network policies.    )absolute_import)division)unicode_literals)ClassVar)base_classes)client)base)flagsc                   T    \ rS rSr% Sr\\R                     \S'   \	S 5       r
S rSrg)Create   zCreate a Compute Engine network policy.

*{command}* is used to create network policies. A network
policy is a set of rules that classifies network traffic.
NETWORK_POLICY_ARGc                     [         R                  " SSS9U l        U R                  R                  USS9  [         R                  " U5        g )NTcreate)required	operation)operation_type)r
   NetworkPolicyArgumentr   AddArgumentAddArgNetworkPolicyCreation)clsparsers     .lib/surface/compute/network_policies/create.pyArgsCreate.Args)   sC    "88C &&vh&G	%%f-    c                 h   [         R                  " U R                  5       5      nU R                  R	                  XR
                  5      n[        R                  " X2R                  S9nUR                  R                  R                  UR                  UR                  5       S9nUR                  USS9$ )N)compute_client)descriptionnameF)network_policyonly_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcesr   NetworkPolicymessagesr   Namer   )selfargsholderrefr!   policys         r   Run
Create.Run1   s    **4+<+<+>?F

!
!
3
3D:J:J
KC))#mmLN]]##11$$388: 2 F   U !  r    N)__name__
__module____qualname____firstlineno____doc__r   compute_flagsResourceArgument__annotations__classmethodr   r/   __static_attributes__r1   r   r   r   r      s1     }==>>. .r   r   EXAMPLESz
    To create a regional network policy named ``my-region-policy'' under project
    with ID ``test-project'', in region ``my-region'', run:

      $ {command} my-region-policy           --project=test-project           --region=my-region
    N)r6   
__future__r   r   r   typingr   googlecloudsdk.api_lib.computer   /googlecloudsdk.api_lib.compute.network_policiesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r7   3googlecloudsdk.command_lib.compute.network_policiesUniverseCompatibleReleaseTracksr$   ALPHACreateCommandr   detailed_helpr1   r   r   <module>rI      s    - &  '  7 B ( E E D%%++,T  - B  
 r   