
    )                     >   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  SSS.r\
R&                  " \
R(                  R*                  \
R(                  R,                  5       " S S\
R.                  5      5       r\\l        g)z-Bare Metal Solution NFS share create command.    )absolute_import)division)unicode_literals)	BmsClient)waiter)base)flags)labels_util)log)	resourcesz;
          Create a Bare Metal Solution NFS share.
        a=  
          To create an NFS share called ``my-share'' in region ``us-central1'', with
          requested size of 256 Gib, SSD storage and 2 allowed clients, run:

          $ {command} my-share  --region=us-central1 --size-gib=256 --storage-type=SSD --allowed-client=network=my-network,network-project-id=some-other-project,cidr=10.130.240.24/29,mount-permissions=READ_ONLY,allow-dev=yes,allow-suid=no,enable-root-squash=yes --allowed-client=network=my-network2,cidr=10.130.240.26/28,mount-permissions=READ_WRITE,allow-dev=yes,allow-suid=yes,enable-root-squash=no
        )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)Create,   z'Create a Bare Metal Solution NFS share.c                    [         R                  " U SS9  [         R                  " U S9  [         R                  " U S9  [         R                  " U S9  [
        R                  " U S9  [        R                  R                  U 5        g)z Register flags for this command.T)
positionalparserN)
r	   AddNfsShareArgToParserAddNfsSizeGibArgAddNfsStorageTypeArgAddNfsAllowedClientArgr
   AddCreateLabelsFlagsr   
ASYNC_FLAGAddToParserr   s    $lib/surface/bms/nfs_shares/create.pyArgsCreate.Args0   s^     
  D9	&)	f-	  /$$F3OO'    c                    UR                   R                  R                  5       n[        5       n[        R
                  " XR                  R                  R                  S9nUR                  UUR                  UR                  UR                  US9nUR                  (       a%  [        R                  " UR!                  5       SS9  U$ UR"                  (       aI  [        R$                  R'                  SR)                  UR!                  5       UR*                  5      5        U$ [,        R.                  R1                  UR*                  SSS9n[2        R4                  " UR6                  5      n[2        R8                  " XvS	R)                  UR*                  5      5      n[        R                  " UR!                  5       SS9  U$ )
N)args
labels_cls)nfs_share_resourcesize_gibstorage_typeallowed_clients_dictslabelsz	NFS share)kindz@Create request issued for: [{}]
Check operation [{}] for status.z/baremetalsolution.projects.locations.operationsv2)
collectionapi_versionz&Waiting for operation [{}] to complete)CONCEPTS	nfs_shareParser   r
   ParseCreateArgsmessagesNfsShareLabelsValueCreateNfsSharer%   r&   allowed_clientdoner   CreatedResourceNameasync_statusPrintformatnamer   REGISTRYParseRelativeNamer   CloudOperationPollerNoResourcesoperation_serviceWaitFor)	selfr"   r.   clientr(   op_refop_resourcepollerress	            r   Run
Create.Run:   s_   ''--/I[F((oo66BBDF""$&&"11 # F {{	)..*=m{{	jj **0&1A17+>? m$$66D 7 K 33F4L4LMF
..077DFC 	({;Jr     N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rI   __static_attributes__rK   r    r   r   r   ,   s    /( (r    r   N)rP   
__future__r   r   r   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr	   $googlecloudsdk.command_lib.util.argsr
   googlecloudsdk.corer   r   DETAILED_HELPReleaseTracksReleaseTrackALPHAGACreateCommandr   detailed_helprK   r    r   <module>ra      s    4 &  ' ; . ( 0 < # )		 D%%++T->->-A-AB+T + C+\ % r    