
    	                     >   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mZ ej"                  ej$                   ej&                  ej(                  j*                         G d
 dej,                                             Zddie_        y)z&Command for creating network policies.    )absolute_import)division)unicode_literals)ClassVar)base_classes)client)base)flagsc                   L    e Zd ZU dZeej                     ed<   ed        Z	d Z
y)CreatezCreate 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                     t        j                  dd      | _        | j                  j                  |d       t        j                  |       y )NTcreate)required	operation)operation_type)r
   NetworkPolicyArgumentr   AddArgumentAddArgNetworkPolicyCreation)clsparsers     .lib/surface/compute/network_policies/create.pyArgszCreate.Args*   sC    "88C &&vh&G	%%f-    c                 z   t        j                  | j                               }| j                  j	                  ||j
                        }t        j                  ||j                        }|j                  j                  j                  |j                  |j                               }|j                  |d      S )N)compute_client)descriptionnameF)network_policyonly_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcesr   NetworkPolicymessagesr   Namer   )selfargsholderrefr   policys         r   Runz
Create.Run2   s    **4+<+<+>?F

!
!
3
3D&:J:J
KC))#fmmLN]]##11$$388: 2 F   U !  r   N)__name__
__module____qualname____doc__r   compute_flagsResourceArgument__annotations__classmethodr   r-    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)r1   
__future__r   r   r   typingr   googlecloudsdk.api_lib.computer   /googlecloudsdk.api_lib.compute.network_policiesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r2   3googlecloudsdk.command_lib.compute.network_policiesHiddenUniverseCompatibleReleaseTracksr"   ALPHACreateCommandr   detailed_helpr6   r   r   <module>rE      s    - &  '  7 B ( E E D%%++,T  -  B  
 r   