
    1                        S 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.    )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   2   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holderr5   r7   requestsrequests          r   Run
Update.Run6   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&   rO   __static_attributes__rQ   r   r   r   r      s&    
 &+" ($0r   r   c                       \ rS rSrSrSrSrg)
UpdateBeta]   r	   TrQ   NrR   rS   rT   rU   rV   r#   rX   rQ   r   r   rZ   rZ   ]       
 &*"r   rZ   c                       \ rS rSrSrSrSrg)UpdateAlphag   r	   TrQ   Nr\   rQ   r   r   r_   r_   g   r]   r   r_   N)rV   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   googlecloudsdk.corer   DefaultUniverseOnlyReleaseTracksr4   GAUpdateCommandr   BETArZ   ALPHAr_   rQ   r   r   <module>rj      s    % 8 ( * D%%(()A0T A0 * A0H D%%**+* * ,* D%%++,** * -*r   