
    `                         S r SSKJr  SSKJr  SSKJr  SSK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rS
rSrSr\R(                  " S5      r\R,                  " S/ SQ5      rS rS r " S S\5      rg)!Cloud Bare Metal Solution client.    )absolute_import)division)unicode_literalsN)
exceptions)
list_pager)apis)utilv2v1globalz?PERMISSION_DENIED: Permission (.+) denied on 'projects/(.+?)/.*IpRangeReservation)start_addressend_addressnotec                     [        U [        R                  5      (       a#  [        R                  " U SS9nUR
                  nU$ [        R                  " U 5      nU$ )zEReturns a best-effort error message created from an API client error.z	{message})error_format)
isinstanceapitools_exceptions	HttpErrorapilib_exceptionsHttpExceptionmessagesix	text_type)errorparsed_errorerror_messages      ,lib/googlecloudsdk/api_lib/bms/bms_client.py_ParseErrorr    +   sV    *4455$22KL !((M 
 MM%(M	    c                 2   U (       a  U  Vs/ s H  n[         R                  U5      PM     nn[        S U 5       5      (       aN  [        [	        S U 5       5      5      S:X  a/  SUS   R                  S5      < SUS   R                  S5      < 3/n U $ s  snf )zHIf all errors are PERMISSION_DENIEDs, use a single global error instead.c              3   (   #    U  H  oS Lv   M
     g 7fN .0matchs     r   	<genexpr>-_CollapseRegionalIAMErrors.<locals>.<genexpr>=   s     37%7s   c              3   B   #    U  H  oR                  S 5      v   M     g7f)   N)groupr&   s     r   r)   r*   >   s     8uKKNNs   r,   zPERMISSION_DENIED: Permission r   z denied on projects/   )_REGIONAL_IAM_REGEXr(   alllensetr-   )errorsematchess      r   _CollapseRegionalIAMErrorsr6   7   s     5;<V"((+VG<373338889Q> QZa '!*"2"21"57f 
- =s   Bc                   x   \ rS rSrSr\4S jr\S 5       r\S 5       r	S r
S5S jrS	 rS
 rS rS rS rS r S5S jrS rS rS rS rS rS5S jrS rS rS rS5S jrS5S jrS rS rS r S r!S r"S  r#S! r$S" r%S5S# jr&S$ r'S5S% jr(S& r)S' r*S( r+S) r,S* r-S5S+ jr.S, r/S- r0S. r1S/ r2S5S0 jr3S1 r4S2 r5S3 r6S4r7g)6	BmsClientG   r   c                 n   [         R                  " SU5      U l        [         R                  " S[        5      U l        [         R
                  " SU5      U l        U R                  R                  U l        U R                  R                  U l
        U R                  R                  U l        U R                  R                  U l        U R                  R                  U l        U R                  R"                  U l        U R                  R&                  U l        U R                  R*                  U l        U R                  R.                  U l        U R                  R2                  U l        U R                  R6                  U l        U R:                  R<                  R>                  R@                  U R:                  R<                  R>                  RB                  S.U l"        U R:                  RF                  RH                  RJ                  U R:                  RF                  RH                  RL                  S.U l'        g )Nbaremetalsolution)	READ_ONLY
READ_WRITE)SSDHDD)(r	   GetClientInstance_client_V1_API_VERSION
_v1_clientGetMessagesModule	_messagesprojects_locations_instancesinstances_serviceprojects_locations_volumesvolumes_service+projects_locations_snapshotSchedulePolicies"snapshot_schedule_policies_service$projects_locations_volumes_snapshotssnapshots_serviceprojects_locations_networksnetworks_serviceprojects_locationslocations_serviceprojects_locations_volumes_lunsluns_serviceprojects_locations_nfsSharesnfs_shares_serviceprojects_locations_sshKeysssh_keys_serviceprojects_locations_operationsoperation_serviceprojects_locations_osImagesos_images_servicemessagesAllowedClientMountPermissionsValueValuesEnumREADr=   $nfs_mount_permissions_str_to_messageNfsShareStorageTypeValueValuesEnumr>   r?   nfs_storage_type_str_to_message)selfapi_versions     r   __init__BmsClient.__init__J   s   ))*={KDL,,_DO ++,?MDN!\\FFD<<BBD@@ 	+ "\\NND LLDDD!\\<<DDDD"llGGD LLCCD!\\GGD!\\EED MM''GGLL MM''GGRR1D- }}%%@@DD}}%%@@DD,D(r!   c                     U R                   $ r$   )rA   rd   s    r   clientBmsClient.clientj   s    <<r!   c                     U R                   $ r$   )rE   ri   s    r   r\   BmsClient.messagesn   s    >>r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ Nname)r\   5BaremetalsolutionProjectsLocationsInstancesGetRequestRelativeNamerG   Getrd   resourcerequests      r   GetInstanceBmsClient.GetInstancer   sD    KK&&( 	L 	
 
 !!%%g..r!   Nc           	      z    U R                   R                  US9n[        R                  " U R                  UUSUSS9$ )NparentpageSize	instanceslimitbatch_size_attribute
batch_sizefield)r\   6BaremetalsolutionProjectsLocationsInstancesListRequestr   YieldFromListrG   rd   r|   r   	page_sizerw   s        r   ListInstancesBmsClient.ListInstancesz   sO    LL 	M 	
 
 ##' r!   c           	      *   / nUb  UR                  S5        Ub  UR                  S5        Ub  UR                  S5        U(       d  U(       a  UR                  S5        Ub  UR                  S5        U V	s/ s H  oR                  5       PM     n
n	U R                  R                  UR                  5       UUUU
US9nU R                  R	                  UR                  5       USR                  U5      S9nU R                  R                  U5      $ s  sn	f )	z%Update an existing instance resource.labelsos_imagehyperthreading_enabledssh_keyskms_key_version)rq   r   osImagehyperthreadingEnabledsshKeyskmsKeyVersion,)rq   instance
updateMask)appendrs   r\   Instance7BaremetalsolutionProjectsLocationsInstancesPatchRequestjoinrG   Patch)rd   instance_resourcer   r   enable_hyperthreadingr   r   clear_ssh_keysupdated_fieldsssh_keyssh_keys_relativeinstance_msgrw   s                r   UpdateInstanceBmsClient.UpdateInstance   s    NH%J'(45>J'"-.?GHxG--/xH==))++-3!% * L 	MM"//1!xx/ 	N 	
  !!''00% Is   6Dc                     U Vs/ s H  oUR                  5       PM     nnU R                  R                  UR                  5       UUUS.S9nU R                  R	                  U5      $ s  snf )zReimage an existing instance.)r   r   r   )rq   reimageInstanceRequest)rs   r\   9BaremetalsolutionProjectsLocationsInstancesReimageRequestrG   Reimage)rd   r   r   r   kms_crypto_key_versionr   r   rw   s           r   ReimageInstanceBmsClient.ReimageInstance   sx     @HHxG--/xHOO"//1#,!7$ 	P 	
  !!))'22 Is   A'c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )z%Enable hyperthreading on an instance.rp   )r\   FBaremetalsolutionProjectsLocationsInstancesEnableHyperthreadingRequestrs   rG   EnableHyperthreadingrd   r   rw   s      r   r   BmsClient.EnableHyperthreading   sA    mmbb++- c G !!66w??r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )z&Disable hyperthreading on an instance.rp   )r\   GBaremetalsolutionProjectsLocationsInstancesDisableHyperthreadingRequestrs   rG   DisableHyperthreadingr   s      r   r   BmsClient.DisableHyperthreading   sA    mmcc++- d G !!77@@r!   c                     U R                   R                  US9nU R                   R                  UR                  5       US9nU R                  R                  U5      $ )z%Rename an existing instance resource.)newInstanceId)rq   renameInstanceRequest)r\   RenameInstanceRequest8BaremetalsolutionProjectsLocationsInstancesRenameRequestrs   rG   Rename)rd   r   new_namerename_instance_requestrw   s        r   RenameInstanceBmsClient.RenameInstance   sg    "mmAA B  	NN"//1"9 	O 	
  !!((11r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )zLoad instance auth info.rp   )r\   >BaremetalsolutionProjectsLocationsInstancesLoadAuthInfoRequestrs   rG   LoadAuthInfor   s      r   LoadInstanceAuthInfoBmsClient.LoadInstanceAuthInfo   sA    mmZZ++- [ G !!..w77r!   c           	          SU-  nU R                   R                  US9n[        R                  " U R                  UUSUSS9$ )Nprojects/%s/locations/globalr{   r}   snapshotSchedulePoliciesr   )r\   EBaremetalsolutionProjectsLocationsSnapshotSchedulePoliciesListRequestr   r   rK   rd   project_resourcer   r   r|   rw   s         r   ListSnapshotSchedulePolicies&BmsClient.ListSnapshotSchedulePolicies   sY     ,.>>Fmmaa b G ##//'( r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   DBaremetalsolutionProjectsLocationsSnapshotSchedulePoliciesGetRequestrs   rK   rt   ru   s      r   GetSnapshotSchedulePolicy#BmsClient.GetSnapshotSchedulePolicy   sA    mm``""$ a G 2266w??r!   c                     UR                  5       nUR                  5       R                  5       nU R                  U5      nU R                  R                  X7US9nU R                  R                  UUUS9n	U R                  R                  U	5      $ )z7Sends request to create a new Snapshot Schedule Policy.description	schedulesr   )r|   snapshotSchedulePolicyIdsnapshotSchedulePolicy)	NameParentrs   _ParseSnapshotSchedulesr\   SnapshotSchedulePolicyGBaremetalsolutionProjectsLocationsSnapshotSchedulePoliciesCreateRequestrK   Create)
rd   policy_resourcer   r   r   	policy_idr|   schedule_msgs
policy_msgrw   s
             r   CreateSnapshotSchedulePolicy&BmsClient.CreateSnapshotSchedulePolicy   s      $$&I##%224F00;M55 6 J mmcc!*) d G
 2299'BBr!   c                    / nU(       a  UR                  S5        Ub  UR                  S5        U R                  U5      nU(       a  UR                  S5        SR                  U5      nU R                  R	                  X&US9nU R                  R                  UR                  5       UUS9n	U R                  R                  U	5      $ )z;Sends request to update an existing SnapshotSchedulePolicy.r   r   r   r   r   )rq   r   r   )	r   r   r   r\   r   FBaremetalsolutionProjectsLocationsSnapshotSchedulePoliciesPatchRequestrs   rK   r   )
rd   r   r   r   r   r   r   update_maskr   rw   s
             r   UpdateSnapshotSchedulePolicy&BmsClient.UpdateSnapshotSchedulePolicy  s     NM*H%00;MK(((>*K55 6 J mmbb))+) c G
 2288AAr!   c           	          / nU(       a<  U H6  nUR                  U R                  R                  US   US   US   S95        M8     U$ )z?Parses schedule ArgDict dicts into a list of Schedule messages.crontab_specretention_countprefix)crontabSpecretentionCountr   )r   r\   Schedule)rd   r   r   schedule_args       r   r   !BmsClient._ParseSnapshotSchedules&  sZ    M#,MM""(8+,=>#H- # 	
 $ r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   GBaremetalsolutionProjectsLocationsSnapshotSchedulePoliciesDeleteRequestrs   rK   Deleteru   s      r   DeleteSnapshotSchedulePolicy&BmsClient.DeleteSnapshotSchedulePolicy4  sA    mmcc""$ d G 2299'BBr!   c           	      z    U R                   R                  US9n[        R                  " U R                  UUSUSS9$ )Nr{   r}   volumesr   )r\   4BaremetalsolutionProjectsLocationsVolumesListRequestr   r   rI   r   s        r   ListVolumesBmsClient.ListVolumes:  sO    JJ 	K 	
 
 ##' r!   c                    / nSnU(       a"  UR                  S5        UR                  5       nOU(       a  UR                  S5        Ub  UR                  S5        U(       a  UR                  S5        U R                  R                  UR                  5       UUUS9nU R                  R	                  UR                  5       USR                  U5      S9n	U R                  R                  U	5      $ )z#Update an existing volume resource.Nr   r   snapshotAutoDeleteBehavior)rq   r   r   r   r   )rq   volumer   )r   rs   r\   Volume5BaremetalsolutionProjectsLocationsVolumesPatchRequestr   rI   r   )
rd   volume_resourcer   !snapshot_schedule_policy_resourceremove_snapshot_schedule_policysnapshot_auto_deleter   policy_name
volume_msgrw   s
             r   UpdateVolumeBmsClient.UpdateVolumeI  s     NK(455BBDk	(45H%89%%))+#7*	 & J 	KK --/xx/ 	L 	
  %%g..r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   3BaremetalsolutionProjectsLocationsVolumesGetRequestrs   rI   rt   ru   s      r   	GetVolumeBmsClient.GetVolumeo  sA    mmOO""$ P G ##G,,r!   c                     U R                   R                  US9nU R                   R                  UR                  5       US9nU R                  R                  U5      $ )z#Rename an existing volume resource.)newVolumeId)rq   renameVolumeRequest)r\   RenameVolumeRequest6BaremetalsolutionProjectsLocationsVolumesRenameRequestrs   rI   r   )rd   r   r   rename_volume_requestrw   s        r   RenameVolumeBmsClient.RenameVolumeu  sf     MM== >  	LL --/ 5 	M 	
  &&w//r!   c           	      z    U R                   R                  US9n[        R                  " U R                  UUSUSS9$ )Nr{   r}   networksr   )r\   5BaremetalsolutionProjectsLocationsNetworksListRequestr   r   rO   r   s        r   ListNetworksBmsClient.ListNetworks  sO    KK 	L 	
 
 ##' r!   c           	          SU-  nU R                   R                  US9n[        R                  " U R                  UUSUSS9$ )Nr   r{   r}   osImagesr   )r\   5BaremetalsolutionProjectsLocationsOsImagesListRequestr   r   r[   r   s         r   ListOSImagesBmsClient.ListOSImages  sZ    +.>>FKK 	L 	
 
 ##' r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   4BaremetalsolutionProjectsLocationsOsImagesGetRequestrs   r[   rt   ru   s      r   
GetOSImageBmsClient.GetOSImage  sD    JJ&&( 	K 	
 
 !!%%g..r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   4BaremetalsolutionProjectsLocationsNetworksGetRequestrs   rO   rt   ru   s      r   
GetNetworkBmsClient.GetNetwork  sD    JJ&&( 	K 	
 
   $$W--r!   c           	         / n/ nUb  UR                  S5        Ubb  UR                  S5        U HK  nUR                  U R                  R                  UR                  UR                  UR
                  S95        MM     U R                  R                  UR                  5       UUS9nU R                  R                  UR                  5       USR                  U5      S9nU R                  R                  U5      $ )z$Update an existing network resource.r   reservations)startAddress
endAddressr   )rq   r   r&  r   )rq   networkr   )r   r\   NetworkAddressReservationr   r   r   Networkrs   6BaremetalsolutionProjectsLocationsNetworksPatchRequestr   rO   r   )	rd   network_resourcer   ip_reservationsr   ip_reservations_messagesip_reservationnetwork_msgrw   s	            r   UpdateNetworkBmsClient.UpdateNetwork  s    N!H%"N++. ''MM33+99)55#(( 4 	
 , --''**,- ( K 	LL!..0xx/ 	M 	
    &&w//r!   c                     U R                   R                  US9nU R                   R                  UR                  5       US9nU R                  R                  U5      $ )z$Rename an existing network resource.)newNetworkId)rq   renameNetworkRequest)r\   RenameNetworkRequest7BaremetalsolutionProjectsLocationsNetworksRenameRequestrs   rO   r   )rd   r-  r   rename_network_requestrw   s        r   RenameNetworkBmsClient.RenameNetwork  sg    !]]?? @  	MM!..0!7 	N 	
    ''00r!   c                 p    UR                   U R                  R                  R                  R                  :H  $ r$   )typer\   r+  TypeValueValuesEnumCLIENTrd   r)  s     r   IsClientNetworkBmsClient.IsClientNetwork  s'    <<4==00DDKKKKr!   c                 p    UR                   U R                  R                  R                  R                  :H  $ r$   )r=  r\   r+  r>  PRIVATEr@  s     r   IsPrivateNetworkBmsClient.IsPrivateNetwork  s'    <<4==00DDLLLLr!   c                 p    UR                   U R                  R                  R                  R                  :H  $ r$   )networkTyper\   LogicalNetworkInterfaceNetworkTypeValueValuesEnumr?  rd   logical_network_interfaces     r   IsClientLogicalNetworkInterface)BmsClient.IsClientLogicalNetworkInterface  s/    !--==00KKRR	Sr!   c                 p    UR                   U R                  R                  R                  R                  :H  $ r$   )rH  r\   rI  rJ  rD  rK  s     r    IsPrivateLogicalNetworkInterface*BmsClient.IsPrivateLogicalNetworkInterface  s/    !--==00KKSS	Tr!   c           	          UR                  5       nU R                  R                  US9n[        R                  " U R
                  UUSUSS9$ )Nr{   r}   lunsr   )rs   r\   8BaremetalsolutionProjectsLocationsVolumesLunsListRequestr   r   rS   rd   r   r   r   r|   rw   s         r   ListLUNsForVolumeBmsClient.ListLUNsForVolume  s]    ))+FNN 	O 	
 
 ##' r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   7BaremetalsolutionProjectsLocationsVolumesLunsGetRequestrs   rS   rt   ru   s      r   GetLUNBmsClient.GetLUN  sD    MM&&( 	N 	
 
   ))r!   c           	          UR                  5       nU R                  R                  US9n[        R                  " U R
                  UUSUSS9$ )Nr{   r}   volumeSnapshotsr   )rs   r\   =BaremetalsolutionProjectsLocationsVolumesSnapshotsListRequestr   r   rM   rU  s         r   ListSnapshotsForVolume BmsClient.ListSnapshotsForVolume	  sZ    ))+FmmYY Z G ##' r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   <BaremetalsolutionProjectsLocationsVolumesSnapshotsGetRequestrs   rM   rt   ru   s      r   GetVolumeSnapshotBmsClient.GetVolumeSnapshot  sA    mmXX""$ Y G !!%%g..r!   c                     U R                   R                  UR                  5       U R                   R                  X#S9S9nU R                  R                  U5      $ )N)rq   r   )r|   volumeSnapshot)r\   ?BaremetalsolutionProjectsLocationsVolumesSnapshotsCreateRequestrs   VolumeSnapshotrM   r   )rd   rv   rq   r   rw   s        r   CreateVolumeSnapshotBmsClient.CreateVolumeSnapshot  s[    mm[[$$&}}33 4 
 \ G !!((11r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   ?BaremetalsolutionProjectsLocationsVolumesSnapshotsDeleteRequestrs   rM   r   ru   s      r   DeleteVolumeSnapshotBmsClient.DeleteVolumeSnapshot&  sA    mm[[""$ \ G !!((11r!   c                 j    U R                   R                  US9nU R                  R                  U5      $ )N)rf  )r\   NBaremetalsolutionProjectsLocationsVolumesSnapshotsRestoreVolumeSnapshotRequestrM   RestoreVolumeSnapshot)rd   snapshot_namerw   s      r   rq  BmsClient.RestoreVolumeSnapshot,  s8    mmjj$ k G !!77@@r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   5BaremetalsolutionProjectsLocationsNfsSharesGetRequestrs   rU   rt   ru   s      r   GetNfsShareBmsClient.GetNfsShare2  sD    KK&&( 	L 	
 
 ""&&w//r!   c           	      z    U R                   R                  US9n[        R                  " U R                  UUSUSS9$ )Nr{   r}   	nfsSharesr   )r\   6BaremetalsolutionProjectsLocationsNfsSharesListRequestr   r   rU   r   s        r   ListNfsSharesBmsClient.ListNfsShares:  sO    LL 	M 	
 
 ##' r!   c                 V   / n/ nUb  UR                  S5        Ub  UR                  S5        UnU R                  R                  UR                  5       UUS9nU R                  R	                  UR                  5       USR                  U5      S9nU R                  R                  U5      $ )z&Update an existing nfs share resource.r   allowedClients)rq   r   r~  r   )rq   nfsSharer   )r   r\   ra   rs   7BaremetalsolutionProjectsLocationsNfsSharesPatchRequestr   rU   r   )rd   nfs_share_resourcer   allowed_clientsr   updated_allowed_clientsnfs_share_msgrw   s           r   UpdateNfsShareBmsClient.UpdateNfsShareI  s    N H%",- /MM**,,.. + M 	MM#002"xx/ 	N 	
  ""((11r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )z&Delete an existing nfs share resource.rp   )r\   8BaremetalsolutionProjectsLocationsNfsSharesDeleteRequestrs   rU   r   )rd   r  rw   s      r   DeleteNfsShareBmsClient.DeleteNfsSharec  sF     	NN#002 	O 	
 
 ""))'22r!   c                 4   U R                  UUS9nU R                  R                  UR                  5       UU R                  U   UUS9nU R                  R                  UUR                  5       R                  5       S9nU R                  R                  U5      $ )zCreate an NFS share resource.)r  allowed_clients_dicts)rq   requestedSizeGibstorageTyper~  r   )r  r|   )	ParseAllowedClientsDictsr\   ra   rs   rc   8BaremetalsolutionProjectsLocationsNfsSharesCreateRequestr   rU   r   )	rd   r  size_gibstorage_typer  r   r  r  rw   s	            r   CreateNfsShareBmsClient.CreateNfsSharel  s     33-3 4 O MM**,,.!88F& + M 	NN"%,,.;;= 	O 	
  ""))'22r!   c                     U R                   R                  US9nU R                   R                  UR                  5       US9nU R                  R                  U5      $ )z&Rename an existing nfs share resource.)newNfsshareId)rq   renameNfsShareRequest)r\   RenameNfsShareRequest8BaremetalsolutionProjectsLocationsNfsSharesRenameRequestrs   rU   r   )rd   r  r   rename_nfs_share_requestrw   s        r   RenameNfsShareBmsClient.RenameNfsShare  sg    #}}BB  C   	NN#002": 	O 	
  ""))'22r!   c           	          SU-  nU R                   R                  US9n[        R                  " U R                  UUSUSS9$ )Nr   r{   r}   r   r   )r\   4BaremetalsolutionProjectsLocationsSshKeysListRequestr   r   rW   r   s         r   ListSshKeysBmsClient.ListSshKeys  sZ    +.>>FJJ 	K 	
 
 ##' r!   c                     U R                   R                  UR                  5       R                  5       UR	                  5       U R                   R                  US9S9nU R                  R                  U5      $ )z#Sends request to create an SSH key.)	publicKey)r|   sshKeyIdsSHKey)r\   6BaremetalsolutionProjectsLocationsSshKeysCreateRequestr   rs   r   SSHKeyrW   r   )rd   rv   
public_keyrw   s       r   CreateSshKeyBmsClient.CreateSshKey  sk     	LL??$113]]_==''*'= 	M 	
    ''00r!   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ ro   )r\   6BaremetalsolutionProjectsLocationsSshKeysDeleteRequestrs   rW   r   ru   s      r   DeleteSshKeyBmsClient.DeleteSshKey  sD    LL&&( 	M 	
 
   ''00r!   c                     / nU Hh  nU R                   US      n[        R                  " UUS9nUR                  U R                  R                  UUS   UUS   US   US   (       + S95        Mj     U$ )z.Parses NFS share allowed client list of dicts.zmount-permissions)r  allowed_client_dictcidrz	allow-devz
allow-suidzenable-root-squash)r)  allowedClientsCidrmountPermissionsallowDev	allowSuidnoRootSquash)r`   r
   NFSNetworkFullNamer   r\   r]   )rd   r  r  r  allowed_clientmount_permissionsnetwork_full_names          r   r  "BmsClient.ParseAllowedClientsDicts  s    O/CC
,
- 11/, 
--
%
%'!/!70%k2&|4-.BCC & 	 0$ r!   )rA   rE   rC   rG   rQ   rS   rO   r`   rU   rc   rY   r[   rK   rM   rW   rI   )NN)8__name__
__module____qualname____firstlineno____doc___DEFAULT_API_VERSIONrf   propertyrj   r\   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r#  r2  r:  rA  rE  rM  rP  rV  rZ  r_  rc  ri  rm  rq  rv  r{  r  r  r  r  r  r  r  r  __static_attributes__r%   r!   r   r8   r8   G   s(   )!5 @    /)1V3"@A28 59 @C"B0C$/L-0 /.0B1LM */22A0243383 	11r!   r8   )r  
__future__r   r   r   collectionsreapitools.base.pyr   r   r   googlecloudsdk.api_lib.utilr	   r   googlecloudsdk.command_lib.bmsr
   r   r  rB   _GLOBAL_REGIONcompiler/   
namedtupler   r    r6   objectr8   r%   r!   r   <module>r     s~    ( &  '  	 > ' , G / 
 jjE  !++B 
	 F
 F
r!   