
    C                         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 r
SS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrg)z/Shared resource flags for Edgenetwork commands.    )absolute_import)division)unicode_literals)concepts)concept_parsers)presentation_specsc                  ,    [         R                  " SSS9$ )Nlocationz&The Cloud location for the {resource}.)name	help_textr    ResourceParameterAttributeConfig     Elib/googlecloudsdk/command_lib/edge_cloud/networking/resource_args.pyLocationAttributeConfigr      s    		2	2!I
K Kr   c                 4    [         R                  " U SSS0SS9$ )NzThe zone of the {resource}.	fieldMaskr   idr   r   completion_request_paramscompletion_id_fieldr   r   s    r   ZoneAttributeConfigr      s&    		2	2-!,f 5	
   r   c                 4    [         R                  " U SSS0SS9$ )NzThe subnet of the {resource}.r   r   r   r   r   r   s    r   SubnetAttributeConfigr   '   &    		2	2/!,f 5	
   r   c                 4    [         R                  " U SSS0SS9$ )NzThe router of the {resource}.r   r   r   r   r   r   s    r   RouterAttributeConfigr   /   r   r   c                 4    [         R                  " U SSS0SS9$ )NzThe network of the {resource}.r   r   r   r   r   r   s    r   NetworkAttributeConfigr!   7   s&    		2	20!,f 5	
   r   c                 4    [         R                  " U SSS0SS9$ )Nz#The interconnect of the {resource}.r   r   r   r   r   r   s    r   InterconnectAttributeConfigr#   ?   s&    		2	25!,f 5	
   r   c           	      n    [         R                  " SU [        U S9[        5       [         R                  SS9$ )Nz$edgenetwork.projects.locations.zonesr   F)resource_namezonesIdlocationsId
projectsIddisable_auto_completers)r   ResourceSpecr   r    DEFAULT_PROJECT_ATTRIBUTE_CONFIGr%   s    r   GetZoneResourceSpecr-   G   s5    			,!!}5)+::#
% %r   c           
          [         R                  " SU [        U S9[        S5      [	        5       [         R
                  SS9$ )Nz,edgenetwork.projects.locations.zones.routersr   zoneF)r%   	routersIdr&   r'   r(   r)   )r   r*   r   r   r   r+   r,   s    r   GetRouterResourceSpecr1   Q   s=    			4!%=9!&))+::#
% %r   c           
          [         R                  " SU [        U S9[        S5      [	        5       [         R
                  SS9$ )Nz-edgenetwork.projects.locations.zones.networksr   r/   F)r%   
networksIdr&   r'   r(   r)   )r   r*   r!   r   r   r+   r,   s    r   GetNetworkResourceSpecr4   \   s=    			5!'];!&))+::#
% %r   c           
          [         R                  " SU [        U S9[        S5      [	        5       [         R
                  SS9$ )Nz2edgenetwork.projects.locations.zones.interconnectsr   r/   F)r%   interconnectsIdr&   r'   r(   r)   )r   r*   r#   r   r   r+   r,   s    r   GetInterconnectResourceSpecr7   g   s=    			:!1}E!&))+::#
% %r   c                     U(       a  SnOSn[         R                  " U[        5       SR                  U5      SS9/n[        R
                  " U5      R                  U 5        g)Add a resource argument for a GDCE router.

Args:
  parser: the parser for the command.
  verb: str, the verb to describe the resource, such as 'to create'.
  positional: bool, if True, means that the resource is a positional rather
    than a flag.
r/   z--zonezThe zone {}.TrequiredN)r   ResourcePresentationSpecr-   formatr   ConceptParserAddToParserparserverb
positionalr   resource_specss        r   AddZoneResourceArgrE   r   s]     DD 11






%	. /;;FCr   c                     U(       a  SnOSn[         R                  " U[        5       SR                  U5      SS9/n[        R
                  " U5      R                  U 5        g)r9   routerz--routerzThe router {}.Tr:   N)r   r<   r1   r=   r   r>   r?   r@   s        r   AddRouterResourceArgrH      s]     DD 11


!

!
!$
'	. /;;FCr   c                     U(       a  SnOSn[         R                  " U[        5       SR                  U5      SS9/n[        R
                  " U5      R                  U 5        g)zAdd a resource argument for a GDCE network.

Args:
  parser: the parser for the command.
  verb: str, the verb to describe the resource, such as 'to create'.
  positional: bool, if True, means that the resource is a positional rather
    than a flag.
networkz	--networkzThe network {}.Tr:   N)r   r<   r4   r=   r   r>   r?   r@   s        r   AddNetworkResourceArgrK      s]     DD 11

 
"

"
"4
(	. /;;FCr   c                     U(       a  SnOSn[         R                  " U[        5       SR                  U5      SS9/n[        R
                  " U5      R                  U 5        g)a   Add a resource argument for a GDCE interconnect.

Args:
  parser: the parser for the command.
  verb: str, the verb to describe the resource, such as 'to create'.
  positional: bool, if True, means that the resource is a positional rather
    than a flag.
interconnectz--interconnectzThe interconnect {}.Tr:   N)r   r<   r7   r=   r   r>   r?   r@   s        r   AddInterconnectResourceArgrN      s]     DD 11

%
'
 
'
'
-	. /;;FCr   N)r/   )subnet)rG   )rJ   )rM   )F)__doc__
__future__r   r   r    googlecloudsdk.calliope.conceptsr   (googlecloudsdk.command_lib.util.conceptsr   r   r   r   r   r   r!   r#   r-   r1   r4   r7   rE   rH   rK   rN   r   r   r   <module>rT      sg    6 &  ' 5 D GK
     %%%%D0D0D0Dr   