
    2                        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\R                  5      r " S	 S
\5      r " S S\R                  5      r " S S\5      r " S S\5      r\R                   S4\S4\S4S.r " S S\R$                  5      r " S S\R(                  5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S  S!\R2                  5      r " S" S#\5      r " S$ S%\R2                  5      r " S& S'\5      r " S( S)\5      r " S* S+\R>                  5      r  " S, S-\5      r! " S. S/\R>                  5      r" " S0 S1\5      r# " S2 S3\R>                  5      r$ " S4 S5\5      r% " S6 S7\R>                  5      r& " S8 S9\5      r' " S: S;\5      r( " S< S=\R>                  5      r) " S> S?\5      r* " S@ SA\R>                  5      r+ " SB SC\R2                  5      r, " SD SE\5      r- " SF SG\5      r. " SH SI\R2                  5      r/ " SJ SK\5      r0 " SL SM\5      r1 " SN SO\5      r2 " SP SQ\5      r3 " SR SS\5      r4 " ST SU\5      r5g)VzGCompute resource completers for the core.cache.completion_cache module.    N)
completers)parameter_info_lib)
exceptions)encodingc                       \ rS rSrSrSrg)Error   zExceptions for this module. N__name__
__module____qualname____firstlineno____doc____static_attributes__r
       4lib/googlecloudsdk/command_lib/compute/completers.pyr   r      s    #r   r   c                       \ rS rSrSrSrg)TestParametersRequired    z6Test parameters must be exported in _ARGCOMPLETE_TEST.r
   Nr   r
   r   r   r   r       s    >r   r   c                       \ rS rSrS rSrg)ResourceParamCompleter'   c                 h    [         R                  " UUU R                  S[        R                  S40S9$ )NprojectTupdaters)r   ParameterInfoByConvention
collectionresource_manager_completersProjectCompleterselfparsed_argsarguments      r   ParameterInfo$ResourceParamCompleter.ParameterInfo)   s8    773DDdK
	 r   r
   Nr   r   r   r   r&   r   r
   r   r   r   r   '   s    r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )RegionsCompleter7   zThe region completer.c                 8   > [         [        U ]
  " SSSSSS.UD6  g )Nzcompute.regionszcompute regions list --uriregionp  r   list_commandparamtimeoutr
   )superr*   __init__r#   kwargs	__class__s     r   r4   RegionsCompleter.__init__:   s.    	
D* $1	
 r   r
   r   r   r   r   r   r4   r   __classcell__r7   s   @r   r*   r*   7   s     r   r*   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )ZonesCompleterC   zThe zone completer.c                 8   > [         [        U ]
  " SSSSSS.UD6  g )Nzcompute.zoneszcompute zones list --urizoner.   r/   r
   )r3   r=   r4   r5   s     r   r4   ZonesCompleter.__init__F   s-    	.$( "/	
 r   r
   r9   r;   s   @r   r=   r=   C   s     r   r=   TF)r   r-   r@   c                   0   ^  \ rS rSr  SU 4S jjrSrU =r$ )ListCommandParameterInfo\   c                 f   > U(       a  U R                  U5      S;   a  g [        [        U ]  UUUUS9$ )N)r-   r@   )parameter_valuecheck_properties
for_update)GetDestr3   rC   GetFlag)r#   parameter_namerF   rG   rH   r7   s        r   rJ    ListCommandParameterInfo.GetFlag^   s@    dll>26HH)48')	 9  r   r
   )NTF)r   r   r   r   rJ   r   r:   r;   s   @r   rC   rC   \   s    4805	 	r   rC   c                       \ rS rSrS rSrg)ListCommandCompleterj   c                 6    [        UUU R                  [        S9$ )Nr   rC   r   COMPLETERS_BY_CONVENTIONr"   s      r   r&   "ListCommandCompleter.ParameterInfol   s    #)	 r   r
   Nr(   r
   r   r   rN   rN   j   s    r   rN   c                       \ rS rSrSrS rSrg)GlobalListCommandCompleteru   z)A global resource list command completer.c                 :    [        UUU R                  S/[        S9$ )Nglobal)additional_paramsr   rQ   r"   s      r   r&   (GlobalListCommandCompleter.ParameterInfox   s$    ##*) r   r
   N)r   r   r   r   r   r&   r   r
   r   r   rU   rU   u   s
    1r   rU   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )DisksCompleter   c                 4   > [         [        U ]
  " SSSS.UD6  g )Nzcompute.diskszcompute disks list --urir   r0   r
   )r3   r\   r4   r5   s     r   r4   DisksCompleter.__init__   s'    	.$( "/ r   r
   r   r   r   r   r4   r   r:   r;   s   @r   r\   r\           r   r\   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )DiskTypesRegionalCompleter   c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.regionDiskTypesalphaz4alpha compute disk-types list --uri --filter=-zone:*r   api_versionr0   r
   )r3   rd   r4   r5   s     r   r4   #DiskTypesRegionalCompleter.__init__   s+    	
$d4 ,K 	r   r
   ra   r;   s   @r   rd   rd           r   rd   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )DiskTypesZonalCompleter   c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.diskTypesrg   z3alpha compute disk-types list --uri --filter=zone:*rh   r
   )r3   rm   r4   r5   s     r   r4    DiskTypesZonalCompleter.__init__   s+    	
!41 &J 	r   r
   ra   r;   s   @r   rm   rm      rk   r   rm   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )DiskTypesCompleter   c                 F   > [         [        U ]
  " SS[        [        /0UD6  g Nr   r
   )r3   rr   r4   rd   rm   r5   s     r   r4   DiskTypesCompleter.__init__   s)    	
d, .0GH
r   r
   ra   r;   s   @r   rr   rr           r   rr   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )HealthChecksCompleter   c                 4   > [         [        U ]
  " SSSS.UD6  g )Ncompute.healthChecksz compute health-checks list --urir_   r
   )r3   ry   r4   r5   s     r   r4   HealthChecksCompleter.__init__   (    	
/ )7 r   r
   ra   r;   s   @r   ry   ry      rb   r   ry   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )HealthChecksCompleterAlpha   c                 F   > [         [        U ]
  " SS[        [        /0UD6  g ru   )r3   r   r4   GlobalHealthChecksCompleterRegionHealthChecksCompleterr5   s     r   r4   #HealthChecksCompleterAlpha.__init__   s)    	
$d4 /1LM
r   r
   ra   r;   s   @r   r   r      rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r      c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nr|   rg   z/alpha compute health-checks list --global --urirh   r
   )r3   r   r4   r5   s     r   r4   $GlobalHealthChecksCompleter.__init__   s+    	
%t5 )F 	r   r
   ra   r;   s   @r   r   r      rk   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r      c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.regionHealthChecksrg   z8alpha compute health-checks list --filter=region:* --urirh   r
   )r3   r   r4   r5   s     r   r4   $RegionHealthChecksCompleter.__init__   s+    	
%t5 /O 	r   r
   ra   r;   s   @r   r   r      rk   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )SearchHealthChecksCompleter   c                 2   > [         [        U ]
  " SSS0UD6  g )Nr   r|   r
   )r3   r   r4   r5   s     r   r4   $SearchHealthChecksCompleter.__init__   s#    	
%t5 )
r   r
   ra   r;   s   @r   r   r      rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )HttpHealthChecksCompleter   c                 4   > [         [        U ]
  " SSSS.UD6  g )Ncompute.httpHealthChecksz%compute http-health-checks list --urir_   r
   )r3   r   r4   r5   s     r   r4   "HttpHealthChecksCompleter.__init__   s(    	
#T3 -< r   r
   ra   r;   s   @r   r   r      rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )SearchHttpHealthChecksCompleter   c                 2   > [         [        U ]
  " SSS0UD6  g )Nr   r   r
   )r3   r   r4   r5   s     r   r4   (SearchHttpHealthChecksCompleter.__init__   s#    	
)49 -
r   r
   ra   r;   s   @r   r   r      rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )HttpsHealthChecksCompleter   c                 4   > [         [        U ]
  " SSSS.UD6  g )Ncompute.httpsHealthChecksz&compute https-health-checks list --urir_   r
   )r3   r   r4   r5   s     r   r4   #HttpsHealthChecksCompleter.__init__   s(    	
$d4 .= r   r
   ra   r;   s   @r   r   r      rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ ) SearchHttpsHealthChecksCompleter   c                 2   > [         [        U ]
  " SSS0UD6  g )Nr   r   r
   )r3   r   r4   r5   s     r   r4   )SearchHttpsHealthChecksCompleter.__init__   #    	
*D: .
r   r
   ra   r;   s   @r   r   r      rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstancesCompleter   c                 4   > [         [        U ]
  " SSSS.UD6  g )Ncompute.instanceszcompute instances list --urir_   r
   )r3   r   r4   r5   s     r   r4   InstancesCompleter.__init__   s(    	
d, &3 r   r
   ra   r;   s   @r   r   r      rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )SearchInstancesCompleteri  c                 2   > [         [        U ]
  " SSS0UD6  g )Nr   r   r
   )r3   r   r4   r5   s     r   r4   !SearchInstancesCompleter.__init__  s#    	
"D2 &
r   r
   ra   r;   s   @r   r   r     rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstanceGroupsCompleteri  c                 4   > [         [        U ]
  " SSSS.UD6  g )Nzcompute.instanceGroupsz,compute instance-groups unmanaged list --urir_   r
   )r3   r   r4   r5   s     r   r4    InstanceGroupsCompleter.__init__  s(    	
!41 +C r   r
   ra   r;   s   @r   r   r     rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstanceTemplatesCompleteri  c                 4   > [         [        U ]
  " SSSS.UD6  g )Ncompute.instanceTemplatesz%compute instance-templates list --urir_   r
   )r3   r   r4   r5   s     r   r4   #InstanceTemplatesCompleter.__init__  s(    	
$d4 .< r   r
   ra   r;   s   @r   r   r     rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ ) SearchInstanceTemplatesCompleteri   c                 2   > [         [        U ]
  " SSS0UD6  g )Nr   r   r
   )r3   r   r4   r5   s     r   r4   )SearchInstanceTemplatesCompleter.__init__"  r   r   r
   ra   r;   s   @r   r   r      rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )MachineImagesCompleteri(  c                 4   > [         [        U ]
  " SSSS.UD6  g )Ncompute.machineImagesz!compute machine-images list --urir_   r
   )r3   r   r4   r5   s     r   r4   MachineImagesCompleter.__init__*  s(    	
 $0 *8 r   r
   ra   r;   s   @r   r   r   (  rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )SearchMachineImagesCompleteri1  c                 2   > [         [        U ]
  " SSS0UD6  g )Nr   r   r
   )r3   r   r4   r5   s     r   r4   %SearchMachineImagesCompleter.__init__3  s#    	
&6 *
r   r
   ra   r;   s   @r   r   r   1  rw   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstantSnapshotsCompleteri9  c                 F   > [         [        U ]
  " SS[        [        /0UD6  g ru   )r3   r   r4   RegionInstantSnapshotsCompleterZoneInstantSnapshotsCompleterr5   s     r   r4   "InstantSnapshotsCompleter.__init__;  s-    	
#T3 +-J
 	r   r
   ra   r;   s   @r   r   r   9  rk   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   iC  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.instantSnapshots*alpha compute instant-snapshots list --urirg   r   r0   ri   r
   )r3   r   r4   r5   s     r   r4   &ZoneInstantSnapshotsCompleter.__init__E  s+    	
'7 -A 	r   r
   ra   r;   s   @r   r   r   C  rk   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   iM  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.regionInstantSnapshotsr   rg   r   r
   )r3   r   r4   r5   s     r   r4   (RegionInstantSnapshotsCompleter.__init__O  s+    	
)49 3A 	r   r
   ra   r;   s   @r   r   r   M  rk   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstantSnapshotGroupsCompleteriW  c                 F   > [         [        U ]
  " SS[        [        /0UD6  g ru   )r3   r   r4   $RegionInstantSnapshotGroupsCompleter"ZoneInstantSnapshotGroupsCompleterr5   s     r   r4   'InstantSnapshotGroupsCompleter.__init__Y  s-    	
($8 0.

 r   r
   ra   r;   s   @r   r   r   W  s     r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   ic  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.instantSnapshotGroups0alpha compute instant-snapshot-groups list --urirg   r   r
   )r3   r   r4   r5   s     r   r4   +ZoneInstantSnapshotGroupsCompleter.__init__e  s+    	
,d< 2G 	r   r
   ra   r;   s   @r   r   r   c       r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   in  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nz#compute.regionInstantSnapshotGroupsr   rg   r   r
   )r3   r   r4   r5   s     r   r4   -RegionInstantSnapshotGroupsCompleter.__init__p  s+    	
.> 8G 	r   r
   ra   r;   s   @r   r   r   n  r   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )MachineTypesCompleteriy  c                 4   > [         [        U ]
  " SSSS.UD6  g )Nzcompute.machineTypesz compute machine-types list --urir_   r
   )r3   r   r4   r5   s     r   r4   MachineTypesCompleter.__init__{  r~   r   r
   ra   r;   s   @r   r   r   y  rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )RoutesCompleteri  c                 4   > [         [        U ]
  " SSSS.UD6  g )Nzcompute.routeszcompute routes list --urir_   r
   )r3   r   r4   r5   s     r   r4   RoutesCompleter.__init__  s'    	/4) #0 r   r
   ra   r;   s   @r   r   r     rb   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )NetworksCompleteri  c                 4   > [         [        U ]
  " SSSS.UD6  g )Nzcompute.networkszcompute networks list --urir_   r
   )r3   r   r4   r5   s     r   r4   NetworksCompleter.__init__  s(    	
T+ %2 r   r
   ra   r;   s   @r   r   r     s     r   r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )TestCompleteri  a(  A completer that checks env var _ARGCOMPLETE_TEST for completer info.

For testing list command completers.

The env var is a comma separated list of name=value items:
  collection=COLLECTION
    The collection name.
  list_command=COMMAND
    The gcloud list command string with gcloud omitted.
c                   > [         R                  " [        R                  SS5      n[	        U5      nUR                  S5       H  nUR                  S5      u  pEXQU'   M     SU;  d  SU;  a  [        S5      e[        [        U ]&  " S0 UD6  g )	N_ARGCOMPLETE_TESTzparameters=bad,=r   r0   zSpecify test completer parameters in the _ARGCOMPLETE_TEST environment variable. It is a comma-separated separated list of name=value test parameters and must contain at least "collection=COLLECTION,list_command=LIST COMMAND" parameters.r
   )
r   GetEncodedValueosenvirondictsplitr   r3   r   r4   )r#   r6   test_parameterspairnamevaluer7   s         r   r4   TestCompleter.__init__  s    ..rzz;N/?AO&\F%%c*JJsOkdTl + 6!^6%A"JK K
 
-'1&1r   r
   r9   r;   s   @r   r   r     s    	2 2r   r   )6r   r   +googlecloudsdk.command_lib.resource_managerr   r    googlecloudsdk.command_lib.utilr   googlecloudsdk.corer   googlecloudsdk.core.utilr   r   r   r   r*   r=   r!   rR   r   rC   rN   rU   r\   rd   rm   MultiResourceCompleterrr   ry   r   r   r   ResourceSearchCompleterr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   <module>r     s{    N 
 a 6 > * -$J $?U ?
Z>> 
 	- 		+ 	  ,<<dC'U# 1KK ::: 
!5 
() !5 2 :: 0 !B!B "6 "6 *"D"D  4 j&H&H !5 z'I'I - zAA 2 !5 z'I'I 1 :#E#E 
 A A $8 &: 	Z%F%F 	)= +? 0 * , 2( 2r   