
    W                         S r SSK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rS
SSSSSSSSSSS.rSSSSSSS.rSSSS .r " S! S"5      rS#\4S$ jrS#\4S% jrS#\4S& jrg)'z)Cloud Workstations configs API utilities.    N)waiter)GetClientInstance)GetMessagesModule)VERSION_MAP)base)log)	resourceszJ{location}-docker.pkg.dev/cloud-workstations-images/predefined/base:latestzK{location}-docker.pkg.dev/cloud-workstations-images/predefined/clion:latestzN{location}-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latestzS{location}-docker.pkg.dev/cloud-workstations-images/predefined/code-oss-cuda:latestzL{location}-docker.pkg.dev/cloud-workstations-images/predefined/goland:latestzW{location}-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latestzN{location}-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latestzM{location}-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latestzK{location}-docker.pkg.dev/cloud-workstations-images/predefined/rider:latestzN{location}-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latestzN{location}-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest)z
base-imageclioncodeosszcodeoss-cudagolandintellijphpstormpycharmriderrubyminewebstormidmachineTypepoolSizebootDiskSizeGbenableNestedVirtualizationreservationAffinity)r   zmachine-typez	pool-sizezboot-disk-sizezenable-nested-virtualizationreservation-affinitykeyconsumeReservationTypevalues)r   consume-reservation-typer   c                   X    \ rS rSrSr\R                  R                  4S jrS r	S r
Srg)ConfigsR   z4The Configs set of Cloud Workstations API functions.c                     [         R                  " U5      U l        [        U5      U l        [        U5      U l        U R                  R                  U l        g )N)	r   getapi_versionr   clientr   messages9projects_locations_workstationClusters_workstationConfigs_service)selfrelease_tracks     2lib/googlecloudsdk/api_lib/workstations/configs.py__init__Configs.__init__U   s?    "}5D#M2DK%m4DMMM 	M    c                 Z#   UR                   R                  R                  5       R                  5       nUR	                  S5      S   n[
        R                  " SU5      R                  S5      nUR	                  S5      S   nU R                  R                  5       nX&l
        SR                  UR                  5      Ul        SR                  UR                  5      Ul        UR                   (       a  U R                  R                  R#                  [%        [&        R(                  " UR                   5      5       VVs/ s H2  u  pxU R                  R                  R"                  R+                  XxS9PM4     snnS9Ul        UR,                  Ul        UR0                  Ul        U R                  R5                  5       Ul        U R                  R9                  5       UR6                  l        UR<                  UR6                  R:                  l        UR@                  UR6                  R:                  l!        URD                  (       a%  URD                  UR6                  R:                  l#        URH                  (       a%  URH                  UR6                  R:                  l%        URL                  UR6                  R:                  l'        URP                  UR6                  R:                  l)        U R                  RU                  URV                  URX                  URZ                  S	9UR6                  R:                  l.        U R                  R_                  UR`                  S
9UR6                  R:                  l1        URd                  UR6                  R:                  l3        URh                  UR6                  R:                  l5        URm                  S5      (       a&  URn                  UR6                  R:                  l8        O*URr                  (       + UR6                  R:                  l8        URt                  (       aZ  URv                  (       aI  U R                  Ry                  URt                  URv                  S9/n	XR6                  R:                  l=        UR|                  (       a%  UR|                  UR6                  R:                  l?        UR                  (       a  U R                  R8                  R                  n
U R                  R8                  R                  R*                  nU
" UR                  R                  5        VVs/ s H  u  pxU" XxS9PM     snnS9UR6                  R:                  lC        U R                  [        R                  " [        R                  R                  5      :w  ac  U R                  R                  5       UlK        UR                  (       a  SUR                  lM        UR                  (       a  SUR                  lO        U R                  [        R                  " [        R                  R                  5      :w  Ga  UR                  (       Ga  UR                   GHs  nU R                  R                  5       nUR                  5        GH  u  pxUS:X  d  US:X  aB  U R                  Ry                  UR                  SS5      UR                  SS5      S9/Ul=        MT  US:X  a  U R                  R                  5       nUR                  S0 5      R                  5        HP  u  pxUS:X  a%  U R                  R                  R                  U5      n[        U[        R                  U5      U5        MR     UUlV        M  [        U[        R                  U5      U5        GM     UR6                  R:                  R                  R                  U5        GMv     U R                  [        R                  " [        R                  R                  5      :w  a  UR                  (       a  U R                  R                  5       nUR                  R                  5        HP  u  pxUS:X  a%  U R                  R                  R                  U5      n[        U[        R                  U5      U5        MR     XR6                  R:                  lV        UR                  (       am  UR                   H]  nU R                  R                  5       nUR                  5        H  u  px[        UXx5        M     UR                  R                  U5        M_     UR                  (       Gdq  U R                  R                  5       nSUl`        UR                  S5      =(       dA    UR                  S5      =(       d)    UR                  S5      =(       d    UR                  S5      nU(       a  URm                  S5      (       a  UR                  OSnURm                  S5      (       a  UR                  OSnURm                  S5      (       a  UR                  OSnURm                  S5      (       a  UR                  OSnO0UR                  nUR                  nUR                  nUR                  nUS:X  a  U R                  R                  U(       a  SOUUS:X  a*  U R                  R                  R                  R                  O)U R                  R                  R                  R                  US9Uln        OU R                  R                  U(       a  SOUU(       a  SOSUUS:X  a*  U R                  R                  R                  R                  O)U R                  R                  R                  R                  US 9Ulp        UR                  R                  U5        UR                  (       a  UR                   H  nU R                  R                  5       nUR                  S!5      Ul`        U R                  R                  UR                  S"5      UR                  S#5      UR                  S$5      UR                  S%5      S&9Ulp        UR                  R                  U5        M     U R                  R                  5       Ulw        UR                  (       a  UR                  UR                  ly        OLUR                  (       a;  [        R                  UR                  5      R                  US'9UR                  ly        UR                  (       a  UR                  UR                  l}        UR                  (       a  UR                  UR                  l        UGR                   (       a  U R                  R                  GR                  5       nUGR                   R                  5        HM  u  pxUGR                  R                  U R                  R                  GR                  R+                  XxS95        MO     UUR                  l        UGR                  UR                  l        UGR                  UR                  l        U R                  GR                  5       nUGR                  (       a  UGR                  Ul        UGR                  (       a  UGR                  Ul        UUl        UGR                  (       a  UGR                  Ul        UGR                   (       a  UGR                   Ul        UGR$                  (       a  UGR$                  Ul        UGR(                  (       a  U R                  R8                  GR+                  5       nUGR(                  R                  5        HM  u  pxUGR                  R                  U R                  R8                  GR*                  R+                  XxS95        MO     UUR6                  R:                  l        U R                  GR/                  X5US(9nU GR0                  GR3                  U5      nG[4        GR6                  GR9                  S)R                  U5      5        UGR:                  (       a=  G[4        GR6                  GR9                  S*R                  UR                  5      5        U$ G[<        GR>                  GRA                  UR                  S+U R                  S,9nG[B        GRD                  " U GR0                  U GRF                  GRH                  5      nG[B        GRJ                  " UUS-R                  UR                  5      5      nG[4        GR6                  GR9                  S.R                  U5      5        U$ s  snnf s  snnf )/zCreate a new workstation configuration.

Args:
  args: argparse.Namespace, The arguments that this command was invoked
    with.

Returns:
  Workstation configuration that was created.
/workstationConfigs/r   /locations/(?P<location>[^/]+)/location   {}sr   valueadditionalProperties)enableSecureBoot
enableVtpmenableIntegrityMonitoringenableConfidentialComputedisable_ssh_to_vmtypecountTaccelerator-typeaccelerator-count r   r   z/home	disk_type	disk_sizedisk_source_snapshotdisk_reclaim_policyzpd-standardN   deletehyperdisk-balanced-haretain)sizeGbreclaimPolicysourceSnapshotext4)rL   fsTypediskTyperM   rN   z
mount-pathz	disk-typezsource-snapshotzsource-imagez	read-only)rQ   rN   sourceImagereadOnlyr1   )parentworkstationConfigIdworkstationConfigzCreate request issued for: [{}] Check operation [{}] for status.*workstations.projects.locations.operations
collectionr#   &Waiting for operation [{}] to completezCreated configuration [{}].)CONCEPTSconfigParseRelativeNamesplitresearchgroupr%   WorkstationConfignameformatidle_timeoutidleTimeoutrunning_timeoutrunningTimeoutlabelsLabelsValuesortedsix	iteritemsAdditionalPropertydisable_tcp_connectionsdisableTcpConnectionsmax_usable_workstations_countmaxUsableWorkstationsHosthostGceInstancegceInstancemachine_typer   service_accountserviceAccountservice_account_scopesserviceAccountScopesnetwork_tagstags	pool_sizer   disable_public_ip_addressesdisablePublicIpAddressesGceShieldedInstanceConfigshielded_secure_bootshielded_vtpmshielded_integrity_monitoringshieldedInstanceConfigGceConfidentialInstanceConfigenable_confidential_computeconfidentialInstanceConfigenable_nested_virtualizationr   boot_disk_sizer   IsSpecifiedr=   
disableSshenable_ssh_to_vmaccelerator_typeaccelerator_countAcceleratoracceleratorsstartup_script_uristartupScriptUriinstance_metadataInstanceMetadataValueitemsinstanceMetadatar#   r   r"   r   ReleaseTrackGAHttpOptionshttpOptions-allow_unauthenticated_cors_preflight_requests+allowedUnauthenticatedCorsPreflightRequestsdisable_localhost_replacementdisableLocalhostReplacementboost_configBoostConfigReservationAffinity%ConsumeReservationTypeValueValuesEnumsetattrRESERVATION_AFFINITY_MAPr   BOOST_CONFIG_MAPboostConfigsappendreservation_affinityallowed_ports	PortRangeallowedPortsno_persistent_storagePersistentDirectory	mountPathIsKnownAndSpecifiedrD   rF   rE   rG   pd_disk_typepd_disk_sizepd_source_snapshotpd_reclaim_policy$GceHyperdiskBalancedHighAvailabilityReclaimPolicyValueValuesEnumRETAINDELETEgceHdGceRegionalPersistentDiskgcePdpersistentDirectoriesephemeral_directoryEphemeralDirectoryGcePersistentDiskephemeralDirectories	Container	containercontainer_custom_imageimagecontainer_predefined_imageIMAGE_URL_MAPcontainer_commandcommandcontainer_argsargscontainer_envEnvValuer7   envcontainer_working_dir
workingDircontainer_run_as_user	runAsUserCustomerEncryptionKeykms_keykmsKeykms_key_service_accountkmsKeyServiceAccountencryptionKeyenable_audit_agentenableAuditAgent&grant_workstation_admin_role_on_create!grantWorkstationAdminRoleOnCreatereplica_zonesreplicaZonesvm_tagsVmTagsValuevmTagsOWorkstationsProjectsLocationsWorkstationClustersWorkstationConfigsCreateRequestr'   Creater   statusPrintasync_r	   REGISTRYParseRelativeNamer   CloudOperationPollerr$   projects_locations_operationsWaitFor) r(   r   config_namerU   r1   	config_idr^   r   r5   r   instance_metadata_value_messageadditional_property_messager   desired_boost_configdesired_reservation_affinity
port_rangedesired_port_rangepduse_disk_flagsrD   source_snapshotrE   reclaim_policy	directoryenv_valencryption_keytags_val
create_reqop_refop_resourcepollerresults                                    r*   r   Configs.Create]   s    --&&,,.;;=K56q9Fyy;[IOOH !!"89!<I]],,.FKd&7&78F!LL)=)=>F{{mm55AA
 !'s}}T[['A B	  !C*# mm--99LL M  !C	  B fm $(#?#?F #'#E#EF  --$$&FK"mm779FKK*.*;*;FKK'-1-A-AFKK*""595P5Pfkk2%)%6%6fkk"'+~~FKK$(( KK4 	//!66))&*&H&H 	0 	
 KK2 	33&*&F&F 	4 	
 KK6 	)) KK6 .2-@-@FKK*+,,+/+A+Afkk(/3/D/D+Dfkk(!7!7
--
#
#((** $ l .:kk*151H1Hfkk.
--
#
#
9
9 & --
#
#
9
9
L
L " * %)$:$:$@$@$B$$Bjc .#C$B$ kk. ;??4+<+<+?+?@@==446f		;	;IMF		+	+9=6 	KOOD,=,=,@,@AA++,#}}88:&,,.JC&&#1D*D))%))*<bA&**+>B * 1 - ,,+/==+L+L+N(*..&eg
 2299__ .*..s3 - !4 (*:*>*>s*CUK5 /6 	,,334HI; ,@ 	KOOD,=,=,@,@AA%%%)]]%F%F%H"11779*#,,--33YY% 	($((-	
 : 5Qkk1***!]]446$**,JC
$c
1 -""#56	 + %%%==,,.bbl ##K0 ?&&{3?&&'=>? &&'<=	  
"..{;;DNN 	
  677 %% 	
 '+&6&6{&C&CDNN	  566 $$ 	 %%	%%	11// 
-	-==EE'1Y "X- BB__ff]]GGddkk* F 
 ==::'1Y(2f "X- 77TT[[]]<<YY``* ; 

 ""))"- //)]]--/ }}\2==22]];/$==):;!n5]];/	 3 
 	##**2. 0 }}..0F""#::f		(	(,00

)
) !  !%!7!7f"11f''002g**002*#$$++MM##,,?? @ 	
 3 %f"&"<"<F!%!;!;F ]]88:N|||"lln###,0,H,Hn))F $ 7 7f222

5
5 .  ..f|||**668h**,*#%%,,MM%%11DD E 	
 - (0fkk$nn o J ]]!!*-FJJ6==iHI{{{	jj9@@MNm$$66?$$ 7 K
 ((t{{@@F ^^077DF
 JJ299)DEMA	 ~$s   =9AF!
AF'
c                 |,   UR                   R                  R                  5       R                  5       n[        R
                  " SU5      R                  S5      nUR                  S5      S   nU R                  R                  5       nX%l
        U R                  R                  US9nU R                  R                  U5      n/ nUR                  S5      (       a1  SR                  UR                   5      Ul        UR%                  S5        UR                  S5      (       a1  SR                  UR&                  5      Ul        UR%                  S5        UR                  S	5      (       a  U R                  R                  R+                  [-        [.        R0                  " UR2                  5      5       V	V
s/ s H2  u  pU R                  R                  R*                  R5                  XS
9PM4     sn
n	S9Ul        UR%                  S	5        UR                  S5      (       a"  UR6                  Ul        UR%                  S5        U R:                  [<        R>                  " [@        RB                  RD                  5      :w  a  U R                  RG                  5       Ul$        URJ                  (       a"  SURH                  l&        UR%                  S5        URN                  (       a"  SURH                  l&        UR%                  S5        URP                  (       a"  SURH                  l)        UR%                  S5        URT                  (       a"  SURH                  l)        UR%                  S5        U R                  RW                  5       Ul,        U R                  R[                  5       URX                  l.        UR                  S5      (       a6  UR^                  URX                  R\                  l0        UR%                  S5        U R:                  [<        R>                  " [@        RB                  RD                  5      :w  a  UR                  S5      (       a  U R                  Rc                  5       nURd                  Rg                  5        HP  u  pU	S:X  a%  U R                  Rb                  Ri                  U
5      n
[k        U[l        R?                  U	5      U
5        MR     XRX                  R\                  l7        UR%                  S5        UR                  S5      (       a6  URp                  URX                  R\                  l9        UR%                  S5        UR                  S5      (       a6  URt                  URX                  R\                  l;        UR%                  S5        UR                  S5      (       a6  URx                  URX                  R\                  l=        UR%                  S5        UR                  S5      (       a6  UR|                  URX                  R\                  l?        UR%                  S5        UR                  S5      (       a6  UR                  URX                  R\                  lA        UR%                  S 5        UR                  S!5      (       a6  UR                  URX                  R\                  lC        UR%                  S"5        UR                  S#5      (       a6  UR                  URX                  R\                  lF        UR%                  S$5        UR                  S%5      (       a;  UR                  (       + URX                  R\                  lF        UR%                  S$5        UR                  S&5      (       aM  U R                  R                  UR                  S'9URX                  R\                  lJ        UR%                  S(5        UR                  S)5      (       a"  UR                  UlL        UR%                  S)5        UR                  S*5      (       a"  UR                  UlN        UR%                  S*5        UR                  S+5      (       a"  UR                  UlP        UR%                  S+5        UR                  S,5      (       a'  UR                  (       + UlP        UR%                  S+5        UR                  S-5      (       a6  UR                  URX                  R\                  lS        UR%                  S.5        UR                  (       a6  UR                  URX                  R\                  lU        UR%                  S/5        UR                  (       a  U R                  RZ                  R                  nU R                  RZ                  R                  R4                  nU" UR                  Rg                  5        V	V
s/ s H  u  pU" XS
9PM     sn
n	S9URX                  R\                  lX        UR%                  S05        U R                  R                  5       nUR                  S15      (       a"  UR                  Ul[        UR%                  S25        UR                  S35      (       a"  UR                  Ul]        UR%                  S45        UR                  S55      (       a"  UR                  Ul_        UR%                  S65        UURX                  R\                  l`        UR                  S75      (       d  UR                  S85      (       aZ  U R                  R                  UR                  UR                  S99/nXRX                  R\                  ld        UR%                  S:5        U R:                  [<        R>                  " [@        RB                  RD                  5      :w  Ga  UR                  S;5      (       Gal  UR                   GHJ  nU R                  R                  5       nURg                  5        H  u  pU	S<:X  d  U	S=:X  a(  U R                  R                  US<   US=   S99/Uld        M9  U	S>:X  a  U R                  Rc                  5       nUS>   Rg                  5        HP  u  pU	S:X  a%  U R                  Rb                  Ri                  U
5      n
[k        U[l        R?                  U	5      U
5        MR     UUl7        M  [k        U[        R?                  U	5      U
5        M     URX                  R\                  R                  R%                  U5        GMM     UR%                  S?5        UR                  S@5      (       a  / Uli        UR                   H]  nU R                  R                  5       nURg                  5        H  u  p[k        UX5        M     UR                  R%                  U5        M_     UR%                  S@5        U R                  R                  5       Ulm        UR                  SA5      (       a-  UR                  UR                  lo        UR%                  SB5        ObUR                  SC5      (       aL  [        R?                  UR                  5      R                  USD9UR                  lo        UR%                  SB5        UR                  SE5      (       a,  UR                  UR                  ls        UR%                  SF5        UR                  SG5      (       a,  UR                  UR                  lu        UR%                  SH5        UR                  SI5      (       a  U R                  R                  R                  5       nUR                  Rg                  5        HK  u  pUR                  R%                  U R                  R                  R                  R5                  XS
95        MM     UUR                  ly        UR%                  SJ5        UR                  SK5      (       a,  UR                  UR                  l{        UR%                  SL5        UR                  SM5      (       a,  UR                  UR                  l}        UR%                  SN5        UR                  SO5      =(       d    UR                  SP5      nUR                  SQ5      =(       d    UR                  SR5      nUR                  SS5      =(       d    UR                  ST5      nU=(       d    U=(       d    UnU(       a/  UR                  SO5      (       a  UR                  OUR                  nOG[        U5      nU(       a1  UR                  SQ5      (       a  UGR                  OUGR                  nOG[        U5      nU(       a1  UR                  SS5      (       a  UGR                  OUGR
                  nOG[        U5      nUGR                  (       aH  UGR                  SU   GR                  (       a(  USV:X  a"  G[        GR                  GR                  SW5        UGR                  (       ah  G[        UGR                  SU   SX5      (       aH  UGR                  SU   GR                  (       a(  USV:w  a"  G[        GR                  GR                  SY5        U(       a  UR%                  SZ5        UGR                  Ul        UGR                  (       d!  U R                  GR                  5       /Ul        U(       af  USV:X  a/  U R                  GR                  SUUS[9UGR                  SU   l        OU R                  GR!                  SUS\UUS]9UGR                  SU   l        ObUSV:X  a.  U R                  GR                  US^9UGR                  SU   l        O.U R                  GR!                  UUS_9UGR                  SU   l        UR                  S`5      (       a  U R                  RZ                  GR#                  5       nUGR$                  Rg                  5        HL  u  pUR                  R%                  U R                  RZ                  GR"                  R5                  XS
95        MN     UURX                  R\                  l        UR%                  Sa5        U(       d  G[        GR(                  " Sb5        gcU R                  GR+                  UUSdGR-                  U5      Se9nU R                  GR/                  U5      nG[        GR0                  GR                  SfR                  U5      5        UGR2                  (       a=  G[        GR0                  GR                  SgR                  UR                  5      5        U$ G[4        GR6                  GR9                  UR                  ShU R:                  Si9nG[:        GR<                  " U R                  U GR>                  GR@                  5      n G[:        GRB                  " U USjR                  UR                  5      5      n!G[        GR0                  GR                  SkR                  U5      5        U!$ s  sn
n	f s  sn
n	f )lzUpdates an existing workstation configuration.

Args:
  args: argparse.Namespace, The arguments that this command was invoked
    with.

Returns:
  Workstation configuration that was updated.
r0   r1   r/   r2   )rf   rh   r3   rj   rl   r4   r6   rt   max_usable_workstationsTz<http_options.allowed_unauthenticated_cors_preflight_requestsFz*http_options.disable_localhost_replacementrz   zhost.gce_instance.machine_typer   r   z&host.gce_instance.reservation_affinityr{   z!host.gce_instance.service_accountr}   z(host.gce_instance.service_account_scopesr   zhost.gce_instance.tagsr   zhost.gce_instance.pool_sizer   z-host.gce_instance.disable_public_ip_addressesr   z#host.gce_instance.boot_disk_size_gbr=   zhost.gce_instance.disable_sshr   r   r;   zJhost.gce_instance.confidential_instance_config.enable_confidential_computer   r   rr   enable_tcp_connectionsr   z.host.gce_instance.enable_nested_virtualizationz$host.gce_instance.startup_script_uriz#host.gce_instance.instance_metadatar   z=host.gce_instance.shielded_instance_config.enable_secure_bootr   z6host.gce_instance.shielded_instance_config.enable_vtpmr   zFhost.gce_instance.shielded_instance_config.enable_integrity_monitoringr   r   r>   zhost.gce_instance.acceleratorsr   rA   rB   r   zhost.gce_instance.boost_configsr   r   zcontainer.imager   rT   r   zcontainer.commandr   zcontainer.argsr   zcontainer.envr   zcontainer.working_dirr   zcontainer.run_as_userrD   r   rE   r   rF   r   r   rJ   z/Can't update persistent directory from PD to HDr   z/Can't update persistent directory from HD to PDpersistent_directories)rL   rN   rC   )rL   rP   rN   rQ   )rL   )rL   rQ   r   zhost.gce_instance.vm_tagszNo fields were specified.N,)rf   rW   
updateMaskzUpdate request issued for: [{}]rX   rY   rZ   r\   zUpdated configuration [{}].)r]   r^   r_   r`   rb   rc   rd   ra   r%   re   rf   LWorkstationsProjectsLocationsWorkstationClustersWorkstationConfigsGetRequestr'   Getr   rg   rh   ri   r   rj   rk   rm   rn   ro   rp   rl   rq   rt   ru   r#   r   r"   r   r   r   r   r   r   r   0disallow_unauthenticated_cors_preflight_requestsenable_localhost_replacementr   r   rv   rw   rx   ry   rz   r   r   r   r   r   r   r   r   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r=   r   r   r   r   r   r   r   r   r   rr   rs   r  r   r   r   r   r   r   r   r   r   r8   r   r9   r   r:   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r   r   r   r   r   rD   r   extract_disk_typerE   r   extract_disk_sizerF   r   extract_source_snapshotr   r   r   errr   hasattrr   r   r   r   r   r   r   errorNWorkstationsProjectsLocationsWorkstationClustersWorkstationConfigsPatchRequestjoinPatchr   r   r	   r   r   r   r   r$   r   r   )"r(   r   r   r1   r   r^   get_req
old_configupdate_maskr   r5   r   r   r   gce_shielded_instance_configr   r   r   r   r   r   use_disk_typeuse_disk_sizeuse_source_snapshotupdate_diskrD   rE   r   r   
update_reqr   r   r  r  s"                                     r*   UpdateConfigs.Update  s6    --&&,,.;;=Kyy;[IOOH !!"89!<I]],,.FKmmhh i G ""7+JK'' <<(9(9:f()**#ll4+?+?@f*+!!mm55AA
 !'s}}T[['A B	  !C*# mm--99LL M  !C	  B fm "788%)%G%Gf"23;??4+<+<+?+?@@==446f		;	;IMFJ	
 
	>	>INFJ	
 
	*	*9>6GH		+	+9=6GH --$$&FK"mm779FKK'',0,=,=fkk)9:;?? 


1
2
2%)]]%F%F%H"11779*#,,--33YY% 	($((-	
 : 5Qkk1AB)**/3/C/Cfkk,<=011595P5Pfkk2CD''%)%6%6fkk"12$$)-fkk&67566

*
* kk6 HI())/3/B/Bfkk,>? 344+/+A+Afkk(89 233/3/D/D+Dfkk(89566
--
5
5(,(H(H 6  kk8
 
V ,-- $ 7 7f-.@AA

5
5 . AB122%)%A%Af"23011)-)D)D%Df"23677

+
+ kk8 IJ151H1Hfkk.?@
--
#
#
9
9 & --
#
#
9
9
L
L " * %)$:$:$@$@$B$$Bjc .#C$B$ kk. >? $(==#J#J#L .//6:6O6O"3
I ((040B0B"-
B 788

,
, #< 
R
 	% KK2 *++t/?/?0 0 --
#
#((** $ l .:kk*9:;?? 


>
*
*++,#}}88:&,,.JC&&#1D*D))%&89&':; * 1 - ,,+/==+L+L+N(*+ABHHJ
2299__ .*..s3 K - !4 (*:*>*>s*CUK1 /2 	,,334HI7 ,8 :;((f***!]]446$**,JC
$c
1 -""#56	 +
 ) }}..0F011#::f*+			6	7	7,00

)
) !  *++,,!%!7!7f,-())"11f)*((''002g**002*#$$++MM##,,?? @ 	
 3 %f)/00$($>$>f!01/00#'#=#=f 01,, 2		!	!.	1  ,, 2		!	!.	1  22 8		!	!"6	7   G=G4GK %%k22 ..    )4i %%k22 ..    )4i %%&<== 
#
#&&  5Z@o(((,,Q/55500	ggmmEF 	(((J44Q7AA,,Q/55500	ggmmEF12#-#C#CF +++&*mm&G&G&I%Jf"	-	-MM>>. ?  	$$Q'- MM33."	 4  	$$Q'- 
-	-
--
<
< =  ""1%+ --
1
1 2  ""1%+ 	""**668h**,*#%%,,MM%%11DD E 	
 - (0fkk$45	ii+,mm 88K( n J
 ]]  ,FJJ6==iHI{{{	jj9@@MNm$$66?$$ 7 K
 ((t{{@@F ^^077DF
 JJ299)DEMS T$s   29AX2
9AX8
)r'   r#   r$   r%   N)__name__
__module____qualname____firstlineno____doc__r   r   BETAr+   r   r   __static_attributes__ r-   r*   r   r   R   s&    <#'#4#4#9#9 wr	kr-   r   returnc                    U R                   (       a   [        U R                   S   SS5      (       a  gU R                   (       aB  [        U R                   S   SS5      (       a#  U R                   S   R                  R                  $ g)Nr   r   FrJ   r   rC   )r   getattrr   rQ   r  s    r*   r  r  D  sw    %%'&&q)7E+ + #%%'&&q)7E+ + ++A.44===	r-   c                 P   U R                   (       aB  [        U R                   S   SS5      (       a#  U R                   S   R                  R                  $ U R                   (       aB  [        U R                   S   SS5      (       a#  U R                   S   R                  R                  $ g)Nr   r   Fr   )r   r,  r   rL   r   r-  s    r*   r  r  P  s    %%'&&q)7E+ + ++A.44;;;%%'&&q)7E+ + ++A.44;;;	
r-   c                 P   U R                   (       aB  [        U R                   S   SS5      (       a#  U R                   S   R                  R                  $ U R                   (       aB  [        U R                   S   SS5      (       a#  U R                   S   R                  R                  $ g)Nr   r   Fr   rC   )r   r,  r   rN   r   r-  s    r*   r  r  \  s    %%'&&q)7E+ + ++A.44CCC%%'&&q)7E+ + ++A.44CCC	r-   )r&  rb   googlecloudsdk.api_lib.utilr   (googlecloudsdk.api_lib.workstations.utilr   r   r   googlecloudsdk.callioper   googlecloudsdk.corer   r	   ro   r   r   r   r   strr  intr  r  r)  r-   r*   <module>r6     s    0 
 . F F @ ( # ) 

 	U 	V 	Y 	^ 	W 	b 	Y 	X 	V 	Y 	YA"J !&$@1   8 o od	S 		S 		3 	r-   