
    }2                        S r SSKJr  SSKJr  SSKJ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\R0                  5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\R:                  5      r " S% S&\5      r " S' S(\R:                  5      r  " S) S*\5      r! " S+ S,\5      r" " S- S.\RF                  5      r$ " S/ S0\5      r% " S1 S2\RF                  5      r& " S3 S4\5      r' " S5 S6\RF                  5      r( " S7 S8\5      r) " S9 S:\RF                  5      r* " S; S<\5      r+ " S= S>\5      r, " S? S@\RF                  5      r- " SA SB\5      r. " SC SD\RF                  5      r/ " SE SF\R:                  5      r0 " SG SH\5      r1 " SI SJ\5      r2 " SK SL\R:                  5      r3 " SM SN\5      r4 " SO SP\5      r5 " SQ SR\5      r6 " SS ST\5      r7 " SU SV\5      r8 " SW SX\5      r9g)YzGCompute resource completers for the core.cache.completion_cache module.    )absolute_import)division)unicode_literalsN)
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$ )RegionsCompleter:   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   r7   RegionsCompleter.__init__=   s.    	
D* $1	
 r   r   r   r   r   r   r   r7   r   __classcell__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$ )ZonesCompleterF   zThe zone completer.c                 8   > [         [        U ]
  " SSSSSS.UD6  g )Nzcompute.zoneszcompute zones list --urizoner1   r2   r   )r6   r@   r7   r8   s     r   r7   ZonesCompleter.__init__I   s-    	.$( "/	
 r   r   r<   r>   s   @r   r@   r@   F   s     r   r@   TF)r   r0   rC   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)r0   rC   )parameter_valuecheck_properties
for_update)GetDestr6   rF   GetFlag)r&   parameter_namerI   rJ   rK   r:   s        r   rM    ListCommandParameterInfo.GetFlaga   s@    dll>26HH)48')	 9  r   r   )NTF)r   r   r   r   rM   r   r=   r>   s   @r   rF   rF   _   s    4805	 	r   rF   c                       \ rS rSrS rSrg)ListCommandCompleterm   c                 6    [        UUU R                  [        S9$ )Nr   rF   r"   COMPLETERS_BY_CONVENTIONr%   s      r   r)   "ListCommandCompleter.ParameterInfoo   s    #)	 r   r   Nr+   r   r   r   rQ   rQ   m   s    r   rQ   c                       \ rS rSrSrS rSrg)GlobalListCommandCompleterx   z)A global resource list command completer.c                 :    [        UUU R                  S/[        S9$ )Nglobal)additional_paramsr    rT   r%   s      r   r)   (GlobalListCommandCompleter.ParameterInfo{   s$    ##*) r   r   N)r   r   r   r   r   r)   r   r   r   r   rX   rX   x   s
    1r   rX   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"   r3   r   )r6   r_   r7   r8   s     r   r7   DisksCompleter.__init__   s'    	.$( "/ r   r   r   r   r   r   r7   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_versionr3   r   )r6   rg   r7   r8   s     r   r7   #DiskTypesRegionalCompleter.__init__   s+    	
$d4 ,K 	r   r   rd   r>   s   @r   rg   rg           r   rg   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.diskTypesrj   z3alpha compute disk-types list --uri --filter=zone:*rk   r   )r6   rp   r7   r8   s     r   r7    DiskTypesZonalCompleter.__init__   s+    	
!41 &J 	r   r   rd   r>   s   @r   rp   rp      rn   r   rp   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   )r6   ru   r7   rg   rp   r8   s     r   r7   DiskTypesCompleter.__init__   s)    	
d, .0GH
r   r   rd   r>   s   @r   ru   ru           r   ru   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 --urirb   r   )r6   r|   r7   r8   s     r   r7   HealthChecksCompleter.__init__   (    	
/ )7 r   r   rd   r>   s   @r   r|   r|      re   r   r|   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 rx   )r6   r   r7   GlobalHealthChecksCompleterRegionHealthChecksCompleterr8   s     r   r7   #HealthChecksCompleterAlpha.__init__   s)    	
$d4 /1LM
r   r   rd   r>   s   @r   r   r      rz   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   rj   z/alpha compute health-checks list --global --urirk   r   )r6   r   r7   r8   s     r   r7   $GlobalHealthChecksCompleter.__init__   s+    	
%t5 )F 	r   r   rd   r>   s   @r   r   r      rn   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.regionHealthChecksrj   z8alpha compute health-checks list --filter=region:* --urirk   r   )r6   r   r7   r8   s     r   r7   $RegionHealthChecksCompleter.__init__   s+    	
%t5 /O 	r   r   rd   r>   s   @r   r   r      rn   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   )r6   r   r7   r8   s     r   r7   $SearchHealthChecksCompleter.__init__   s#    	
%t5 )
r   r   rd   r>   s   @r   r   r      rz   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 --urirb   r   )r6   r   r7   r8   s     r   r7   "HttpHealthChecksCompleter.__init__   s(    	
#T3 -< r   r   rd   r>   s   @r   r   r      re   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   )r6   r   r7   r8   s     r   r7   (SearchHttpHealthChecksCompleter.__init__   s#    	
)49 -
r   r   rd   r>   s   @r   r   r      rz   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 --urirb   r   )r6   r   r7   r8   s     r   r7   #HttpsHealthChecksCompleter.__init__   s(    	
$d4 .= r   r   rd   r>   s   @r   r   r      re   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   )r6   r   r7   r8   s     r   r7   )SearchHttpsHealthChecksCompleter.__init__   #    	
*D: .
r   r   rd   r>   s   @r   r   r      rz   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 --urirb   r   )r6   r   r7   r8   s     r   r7   InstancesCompleter.__init__  s(    	
d, &3 r   r   rd   r>   s   @r   r   r      re   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   )r6   r   r7   r8   s     r   r7   !SearchInstancesCompleter.__init__  s#    	
"D2 &
r   r   rd   r>   s   @r   r   r   	  rz   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 --urirb   r   )r6   r   r7   r8   s     r   r7    InstanceGroupsCompleter.__init__  s(    	
!41 +C r   r   rd   r>   s   @r   r   r     re   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 --urirb   r   )r6   r   r7   r8   s     r   r7   #InstanceTemplatesCompleter.__init__  s(    	
$d4 .< r   r   rd   r>   s   @r   r   r     re   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   )r6   r   r7   r8   s     r   r7   )SearchInstanceTemplatesCompleter.__init__%  r   r   r   rd   r>   s   @r   r   r   #  rz   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 --urirb   r   )r6   r   r7   r8   s     r   r7   MachineImagesCompleter.__init__-  s(    	
 $0 *8 r   r   rd   r>   s   @r   r   r   +  re   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )SearchMachineImagesCompleteri4  c                 2   > [         [        U ]
  " SSS0UD6  g )Nr"   r   r   )r6   r   r7   r8   s     r   r7   %SearchMachineImagesCompleter.__init__6  s#    	
&6 *
r   r   rd   r>   s   @r   r   r   4  rz   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstantSnapshotsCompleteri<  c                 F   > [         [        U ]
  " SS[        [        /0UD6  g rx   )r6   r   r7   RegionInstantSnapshotsCompleterZoneInstantSnapshotsCompleterr8   s     r   r7   "InstantSnapshotsCompleter.__init__>  s-    	
#T3 +-J
 	r   r   rd   r>   s   @r   r   r   <  rn   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   iF  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.instantSnapshots*alpha compute instant-snapshots list --urirj   r"   r3   rl   r   )r6   r   r7   r8   s     r   r7   &ZoneInstantSnapshotsCompleter.__init__H  s+    	
'7 -A 	r   r   rd   r>   s   @r   r   r   F  rn   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   iP  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.regionInstantSnapshotsr   rj   r   r   )r6   r   r7   r8   s     r   r7   (RegionInstantSnapshotsCompleter.__init__R  s+    	
)49 3A 	r   r   rd   r>   s   @r   r   r   P  rn   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )InstantSnapshotGroupsCompleteriZ  c                 F   > [         [        U ]
  " SS[        [        /0UD6  g rx   )r6   r   r7   $RegionInstantSnapshotGroupsCompleter"ZoneInstantSnapshotGroupsCompleterr8   s     r   r7   'InstantSnapshotGroupsCompleter.__init__\  s-    	
($8 0.

 r   r   rd   r>   s   @r   r   r   Z  s     r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   if  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nzcompute.instantSnapshotGroups0alpha compute instant-snapshot-groups list --urirj   r   r   )r6   r   r7   r8   s     r   r7   +ZoneInstantSnapshotGroupsCompleter.__init__h  s+    	
,d< 2G 	r   r   rd   r>   s   @r   r   r   f       r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r   iq  c                 6   > [         [        U ]
  " SSSSS.UD6  g )Nz#compute.regionInstantSnapshotGroupsr   rj   r   r   )r6   r   r7   r8   s     r   r7   -RegionInstantSnapshotGroupsCompleter.__init__s  s+    	
.> 8G 	r   r   rd   r>   s   @r   r   r   q  r   r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )MachineTypesCompleteri|  c                 4   > [         [        U ]
  " SSSS.UD6  g )Nzcompute.machineTypesz compute machine-types list --urirb   r   )r6   r   r7   r8   s     r   r7   MachineTypesCompleter.__init__~  r   r   r   rd   r>   s   @r   r   r   |  re   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 --urirb   r   )r6   r   r7   r8   s     r   r7   RoutesCompleter.__init__  s'    	/4) #0 r   r   rd   r>   s   @r   r   r     re   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 --urirb   r   )r6   r   r7   r8   s     r   r7   NetworksCompleter.__init__  s(    	
T+ %2 r   r   rd   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"   r3   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   r6   r   r7   )r&   r9   test_parameterspairnamevaluer:   s         r   r7   TestCompleter.__init__  s    ..rzz;N/?AO&\F%%c*JJsOkdTl + 6!^6%A"JK K
 
-'1&1r   r   r<   r>   s   @r   r   r     s    	2 2r   r   ):r   
__future__r   r   r   r   +googlecloudsdk.command_lib.resource_managerr   r#   googlecloudsdk.command_lib.utilr   googlecloudsdk.corer   googlecloudsdk.core.utilr	   r   r   r   r-   r@   r$   rU   r!   rF   rQ   rX   r_   rg   rp   MultiResourceCompleterru   r|   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   