
                         D   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  \R$                  " \R&                  R(                  \R&                  R*                  5      \R,                   " S S\R.                  5      5       5       rg)z Command to update disk settings.    )absolute_import)division)unicode_literals)base_classes)poller)waiter)base)flags)log)
propertiesc                   6    \ rS rSrSrSS0r\S 5       rS rSr	g)	Update   zUpdate disk settings.EXAMPLESaR  
        To update the disk settings in zone us-west1-a, add the access location ``us-central1 `` and remove the access location ``us-central2``
        in the project ``my-gcp-project'', run:

          $ {command} --add-access-locations=us-central1 --remove-access-locations=us-central2 --project=my-gcp-project --zone=us-west1-a
      c                 \    [         R                  " U 5        [         R                  " U 5        g )N)r
   AddDiskSettingArgAddUpdateDiskSettingsFlags)parsers    +lib/surface/compute/disk_settings/update.pyArgsUpdate.Args+   s    	F#	$$V,    c           
      <   [         R                  " U R                  5       5      nUR                  n/ nUR                  R                  5       nUR                  (       ag  UR                   HW  nUR                  UR                  R
                  R                  R                  UUR                  R                  US9S95        MY     UR                  (       ah  UR                   HX  nUR                  UR                  R
                  R                  R                  UUR                  R                  5       S95        MZ     UR                  R
                  R                  US9Ul        UR                  (       aS  UR                  R
                  R                  UR                  R                  5       R!                  SS5      5      nXul        UR$                  (       Gaa  UR&                  R(                  nUR                  R+                  UR                  R-                  US9[.        R0                  R2                  R4                  R7                  5       SUR$                  S9n	UR9                  US	U	4/S
S9S   n
UR:                  R=                  U
R>                  [.        R0                  R2                  R4                  R7                  5       UR$                  S.SS9nUR:                  R=                  S [.        R0                  R2                  R4                  R6                  UR$                  S.SS9n[@        RB                  " UR                  R&                  R(                  U5      n[D        RF                  " UUSRI                  [.        R0                  R2                  R4                  R7                  5       UR$                  URK                  5       5      5        [L        RN                  RQ                  SRI                  [.        R0                  R2                  R4                  R7                  5       UR$                  5      5        U
$ UR&                  RR                  nUR                  RU                  UR                  R-                  US9[.        R0                  R2                  R4                  R7                  5       URV                  SS9n	UR9                  US	U	4/S
S9S   n
UR:                  R=                  U
R>                  [.        R0                  R2                  R4                  R7                  5       URV                  S.SS9nUR:                  R=                  S [.        R0                  R2                  R4                  R6                  URV                  S.SS9n[@        RB                  " UR                  R&                  RR                  U5      n[D        RF                  " UUSRI                  [.        R0                  R2                  R4                  R7                  5       URV                  URK                  5       5      5        [L        RN                  RQ                  SRI                  [.        R0                  R2                  R4                  R7                  5       URV                  5      5        U
$ )N)region)keyvalue)additionalProperties-_)accessLocationr    )diskSettingsproject
updateMaskzonePatchT)no_followupr   )r"   r$   zcompute.zoneOperations)params
collectionzcompute.diskSettingszIWaiting for operation [projects/{0}/zones/{1}/operations/{2}] to completezDUpdated zonal disk settings for compute_project [{0}] in zone [{1}].)r!   r"   r   r#   )r"   r   zcompute.regionOperationszcompute.regionDiskSettingszKWaiting for operation [projects/{0}/regions/{1}/operations/{2}] to completezIUpdated regional disk settings for compute_project [{0}] in region [{1}].),r   ComputeApiHolderReleaseTrackclientmessagesDiskSettingsAccessLocationadd_access_locationsappendLocationsValueAdditionalProperty2DiskSettingsAccessLocationAccessLocationPreferenceremove_access_locations	locationsaccess_location_policyPolicyValueValuesEnumupperreplacepolicyr$   apitools_clientr!   ComputeDiskSettingsPatchRequestDiskSettingsr   VALUEScorer"   	GetOrFailMakeRequests	resourcesParsenamer   Pollerr   WaitForformatNamer   statusPrintregionDiskSettings%ComputeRegionDiskSettingsPatchRequestr   )selfargsholderr+   new_locations_valuesaccess_locationlocation
new_policyservicepatch_requestresultoperation_refdisk_settings_refoperation_pollers                 r   Run
Update.Run0   s   **4+<+<+>?F]]F oo@@BO  //(##OO66EEXXooXX# Y  Y 	
 0 ##22(##OO66EEXXooXXZ Y 	
 3 	22AA!5 	B 	
 
 ""
//
4
4
J
J))//199#sC 
  * yyy&&33gooEE33, 4  ##((00::<%yy F m ""Wm,
-4 # 	f &&,,
++#**//77AACii . - m !**00
#**//77AAii , 1   
--
'
'
4
4
 nn

f$$,,668ii  "		 
jj
P6$$,,668ii m&&99gooKK33, 4  ##((00::<% L m ""Wm,
-4 # 	f &&,,
++#**//77AAC 0 - m !**00
#**//77AA 2 1   
--
'
'
:
:
 nn

f$$,,668kk  "		 
jjF$$,,668kk mr    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   rY   __static_attributes__r[   r   r   r   r      s0       
 - - -Qr   r   N)r`   
__future__r   r   r   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   0googlecloudsdk.command_lib.compute.disk_settingsr
   googlecloudsdk.corer   r   ReleaseTracksr*   ALPHABETAUniverseCompatibleUpdateCommandr   r[   r   r   <module>rp      s     ' &  ' 7 < . ( B # * D%%++T->->-C-CD`T `  E`r   