
                             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d	 Zd
 ZddZd Zd Zd Zd Zd Zd Zy)z&Utility for creating Looker instances.    )absolute_import)division)unicode_literals)apis)
exceptions)timesc                 .    t        j                  d|       S )Nlooker)r   GetMessagesModule)versions    7lib/googlecloudsdk/command_lib/looker/instances_util.pyGetMessagesModuleForVersionr      s    			'	22    c                 0    t        d      }t        | |      S )z:Convert the input to Date Type for v1alpha* Create method.v1alpha2r   	ParseDatedatemessagess     r   ParseToDateTypeV1Alphar      s    (4(	4	""r   c                 0    t        d      }t        | |      S )z4Convert the input to Date Type for v1 Create method.v1r   r   s     r   ParseToDateTypeV1r   $   s    (.(	4	""r   c                     t        j                  | |      }|j                  |j                  |j                  |j
                        S )zConvert to Date Type.)fmt)yearmonthday)r   ParseDateTimeDater   r   r   )r   r   r   datetime_objs       r   r   r   *   sC    $$Ts3,	L$6$6L<L<L 
 
 r   c                 R    t        d      }d}d}t        | ||       t        | |      S )z>Convert input to TimeOfDay type for Deny Main Period v1alpha*.r   --deny-maintenance-period-timeO'--deny-maintenance-period-time' must be used in a valid 24-hr UTC Time format.r   CheckTimeOfDayFieldParseTimeOfDaytime_of_dayr   argerror_messages       r   ParseTimeOfDayDenyPeriodV1Alphar-   2   s6    (4((#  k=#6	X	..r   c                 R    t        d      }d}d}t        | ||       t        | |      S )z8Convert input to TimeOfDay type for Deny Main Period v1.r   r$   r%   r&   r)   s       r   ParseTimeOfDayDenyPeriodV1r/   >   s6    (.((#  k=#6	X	..r   c                 R    t        d      }d}d}t        | ||       t        | |      S )z9Convert input to TimeOfDay type for Main Window v1alpha*.r   --maintenance-window-timeJ'--maintenance-window-time' must be used in a valid 24-hr UTC Time format.r&   r)   s       r   ParseTimeOfDayMainWindowV1Alphar3   J   s6    (4(##  k=#6	X	..r   c                 R    t        d      }d}d}t        | ||       t        | |      S )z3Convert input to TimeOfDay type for Main Window v1.r   r1   r2   r&   r)   s       r   ParseTimeOfDayMainWindowV1r5   V   s6    (.(##  k=#6	X	..r   c                 F   | j                  d      }t        |      dk7  s&|d   j                         r|d   j                         st        j                  ||      t        |d         }t        |d         }|dk  s|dk  s
|dkD  s|dkD  rt        j                  ||      y)z+Check if input is a valid TimeOfDay format.:   r         ;   N)splitlenisdigitr   InvalidArgumentExceptionint)r*   r,   r+   hour_and_minhourminutes         r   r'   r'   b   s    ""3',	,1!_$$&!_$$&

-
-c=
AA	\!_	$|A&	AX!tbyFRK

-
-c=
AA -8r   c                     | j                  d      }t        |d         }t        |d         }|j                  ||      S )Nr7   r   r9   )hoursminutes)r<   r@   	TimeOfDay)r*   r   rA   rB   rC   s        r   r(   r(   s   sD    ""3',	\!_	$|A&			$		77r   N)z%Y-%m-%d)__doc__
__future__r   r   r   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.core.utilr   r   r   r   r   r-   r/   r3   r5   r'   r(    r   r   <module>rN      sO    - &  ' , . *3##	/	/	/	/B"8r   