
                             d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ	 ddl
mZ dZ G d d	ej                        Z G d
 dej                        Z G d dej                        ZddZd ZddZy)z4Flags and helpers for the compute url-maps commands.    )absolute_import)division)unicode_literals)
completers)flagsz?    table(
      name,
      defaultService.type_suffix()
    )c                        e Zd Z fdZ xZS )GlobalUrlMapsCompleterc                 2    t        t        | 
  dddd| y )Ncompute.urlMapsz$compute url-maps list --global --uri
collectionlist_command )superr	   __init__selfkwargs	__class__s     8lib/googlecloudsdk/command_lib/compute/url_maps/flags.pyr   zGlobalUrlMapsCompleter.__init__"   s(    	
 $0 $<     __name__
__module____qualname__r   __classcell__r   s   @r   r	   r	            r   r	   c                        e Zd Z fdZ xZS )RegionalUrlMapsCompleterc                 2    t        t        | 
  dddd| y )Ncompute.regionUrlMapsz-compute url-maps list --filter=region:* --urir   r   )r   r    r   r   s     r   r   z!RegionalUrlMapsCompleter.__init__+   s(    	
"D2 *D r   r   r   s   @r   r    r    )   r   r   r    c                        e Zd Z fdZ xZS )UrlMapsCompleterc                 D    t        t        | 
  ddt        t        gi| y )Nr   r   )r   r$   r   r	   r    r   s     r   r   zUrlMapsCompleter.__init__4   s,    	
D* Q*,DEQIOQr   r   r   s   @r   r$   r$   2   s    Q Qr   r$   c           
      `    t        j                  ddt        || ddt         j                        S )Nurl_mapURL mapr   r"   )nameresource_name	completerpluralrequiredglobal_collectionregional_collectionregion_explanation)compute_flagsResourceArgumentr$   REGION_PROPERTY_EXPLANATION)r-   r,   s     r   UrlMapArgumentr4   9   s5    		'	' )1&BB
D Dr   c            	      B    t        j                  ddt        dddd      S )a8  Flag for commands that only support global URL maps.

  Returns:
    compute_flags.ResourceArgument with `--region` hidden from documentation
    and completion. Generates `--global` and `--region` flags for consistency;
    commands should check if the URL map is regional and raise an appropriate
    error.
  r'   r(   r   zE(Default) The URL map is global. Regional URL maps are not supported.r"   T)r)   r*   r+   r.   global_help_textr/   region_hidden)r1   r2   r	   r   r   r   GlobalUrlMapArgumentr8   E   s0     
	'	'&) 2
 r   c                 d    t        j                  ddt        d| ddddj                  |      	      S )	Nz	--url-mapr(   Fr   r"   zWA reference to a URL map resource that defines the mapping of URLs to backend services.a+          A reference to a URL map resource. A URL map defines the mapping of URLs
        to backend services. Before you can refer to a URL map, you must
        create the URL map. To delete a URL map that a target proxy is referring
        to, you must first delete the target {0} proxy.
        )	r)   r*   r+   r,   r-   r.   r/   
short_helpdetailed_help)r1   r2   r$   format)r-   
proxy_types     r   UrlMapArgumentForTargetProxyr>   \   s@    		'	' )1&
 F:!
   r   N)TF)THTTP)__doc__
__future__r   r   r   "googlecloudsdk.command_lib.computer   compute_completersr   r1   googlecloudsdk.command_lib.utilDEFAULT_LIST_FORMATListCommandCompleterr	   r    MultiResourceCompleterr$   r4   r8   r>   r   r   r   <module>rH      sn    ; &  ' O E 6	 /DD 1FF Qz88 Q	D. r   