
    
                         d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ dd	l
mZ d
 Zd Zd Zd Zd Zd Zd Zd Zd Zy)z+Flag utilities for `gcloud redis clusters`.    )absolute_import)division)unicode_literalsN)encoding)apis)arg_parsers)basec                 6     t        j                         |       S N)r   ArgDict)values    4lib/googlecloudsdk/command_lib/redis/cluster_util.pyClusterRedisConfigArgTyper      s    				u	%%    c                  Z    t        j                  ddt        t        j                  d      S )Nz--update-redis-configz	KEY=VALUEz            A list of Redis Cluster config KEY=VALUE pairs to update. If a
            config parameter is already set, its value is modified; otherwise a
            new Redis config parameter is added.
            metavartypeactionhelp)r	   Argumentr   r   UpdateAction r   r   ClusterUpdateRedisConfigFlagr   !   s*    	$%%

 
r   c                  v    t        j                  ddt        j                         t        j                  d      S )Nz--remove-redis-configKEYz~      A list of Redis Cluster config parameters to remove. Removing a non-existent
      config parameter is silently ignored.r   )r	   r   r   ArgListr   r   r   r   ClusterRemoveRedisConfigFlagr   /   s3    	 %%/
 r   c                  *    t               t               gS r   )r   r   r   r   r    AdditionalClusterUpdateArgumentsr    ;   s    
&
(*F*H	IIr   c                 Z    t        j                  | |j                  j                  d      S )NT)
sort_items)r   DictToAdditionalPropertyMessageClusterRedisConfigsValue)configmessagess     r   PackageClusterRedisConfigr(   ?   s(    		1	1h00T
 r   c                     t        | d      S )Nv1alpha1ParseTimeOfDay
start_times    r   ParseTimeOfDayAlphar/   E   s    	
J	//r   c                     t        | d      S )Nv1beta1r+   r-   s    r   ParseTimeOfDayBetar2   I   s    	
I	..r   c                     t        | d      S )Nv1r+   r-   s    r   ParseTimeOfDayGar5   M   s    	
D	))r   c                    t        j                  d|       }|rLt        j                  d|      }t	        |j                  d            }|dk  r|dk\  r|j                  |      S t        j                  dj                  |             )Nz^(\d?\d):00$redis      r   )hoursz9Failed to parse time of day: {0}, expected format: HH:00.)
rematchr   GetMessagesModuleintgroup	TimeOfDayr   ArgumentTypeErrorformat)r.   api_versionmmessagehours        r   r,   r,   Q   s}    hh
+!$$Wk:Gqwwqz?DrzdaiT**%%AHH
	 r   )__doc__
__future__r   r   r   r;   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   r	   r   r   r   r    r(   r/   r2   r5   r,   r   r   r   <module>rL      sP    2 &  ' 	 % , / (&	J0/*r   