
                            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
  \R                  \R                  " \R                  R                  5       " S S	\R                  5      5       5       r\R                  " \R                  R"                  5       " S
 S\5      5       r\R                  " \R                  R&                  5       " S S\5      5       rg)zCommand to update the project.    )absolute_import)division)unicode_literals)base_classes)base)
propertiesc                   2    \ rS rSrSrSr\S 5       rS rSr	g)Update   lUpdate a Compute Engine project resource.

*{command}* is used to update a Compute Engine project resource.
Fc                     UR                  SSS/S SS9  UR                  S/ SQS	 S
S9  U R                  (       a  UR                  S/ SQS SS9  g g )Nz--default-network-tierPREMIUMSTANDARDc                 "    U R                  5       $ Nupperxs    *lib/surface/compute/project_info/update.py<lambda>Update.Args.<locals>.<lambda>)   
    qwwy    z2The default network tier to assign to the project.)choicestypehelpz--cloud-armor-tier)CA_STANDARDCA_ENTERPRISE_PAYGOCA_ENTERPRISE_ANNUALc                 "    U R                  5       $ r   r   r   s    r   r   r   .   r   r   z*Cloud armor tier to assign to the project.z--managed-protection-tier)r   CAMP_PLUS_PAYGOCAMP_PLUS_ANNUALc                 "    U R                  5       $ r   r   r   s    r   r   r   5   s
    r   z1Managed protection tier to assign to the project.)add_argument _support_managed_protection_tier)clsparsers     r   ArgsUpdate.Args$   sw    
 J' A	  C
 N 9	   ++
%H"B	   ,r   c                    [         R                  " U R                  5       5      nUR                  R                  nUR                  R
                  n/ nUR                  (       a  UR                  [        R                  R                  R                  R                  5       UR                  UR                  R                  UR                  5      S9S9nUR                  UR                   SU45        UR"                  (       a  UR%                  [        R                  R                  R                  R                  5       UR'                  UR&                  R)                  UR"                  5      S9S9nUR                  UR                   SU45        OU R*                  (       a  UR,                  (       a  UR/                  [        R                  R                  R                  R                  5       UR1                  UR0                  R3                  UR,                  5      S9S9nUR                  UR                   S	U45        UR                  R5                  U5      $ )
N)networkTier)project$projectsSetDefaultNetworkTierRequestSetDefaultNetworkTier)cloudArmorTier)r-    projectsSetCloudArmorTierRequestSetCloudArmorTier)managedProtectionTier)r-   'projectsSetManagedProtectionTierRequestSetManagedProtectionTier)r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesdefault_network_tier+ComputeProjectsSetDefaultNetworkTierRequestr   VALUEScorer-   	GetOrFail$ProjectsSetDefaultNetworkTierRequestNetworkTierValueValuesEnumappendprojectscloud_armor_tier'ComputeProjectsSetCloudArmorTierRequest ProjectsSetCloudArmorTierRequestCloudArmorTierValueValuesEnumr&   managed_protection_tier.ComputeProjectsSetManagedProtectionTierRequest'ProjectsSetManagedProtectionTierRequest$ManagedProtectionTierValueValuesEnumMakeRequests)selfargsholderr8   r:   requestsrequests          r   Run
Update.Run9   s   **4+<+<+>?F]]**F}}%%HH  DD##((00::</7
.
."GG(()B)BC / E E Fg oov(?IJ@@##((00::<+3+T+T%FFdd'' ,U , A g oov(;WEF		.	.43O3OGG##((00::<2:2b2b$,$T$T$y$y..% 3c 3 H g oov(BGLM==%%h//r    N)
__name__
__module____qualname____firstlineno____doc__r&   classmethodr)   rR   __static_attributes__rT   r   r   r
   r
      s&    
 &+" ($0r   r
   c                       \ rS rSrSrSrSrg)
UpdateBeta`   r   TrT   NrU   rV   rW   rX   rY   r&   r[   rT   r   r   r]   r]   `       
 &*"r   r]   c                       \ rS rSrSrSrSrg)UpdateAlphaj   r   TrT   Nr_   rT   r   r   rb   rb   j   r`   r   rb   N)rY   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   googlecloudsdk.corer   DefaultUniverseOnlyReleaseTracksr7   GAUpdateCommandr
   BETAr]   ALPHArb   rT   r   r   <module>rn      s    % &  ' 7 ( * D%%(()A0T A0 * A0H D%%**+* * ,* D%%++,** * -*r   