
                         T   d Z ddlmZmZ ddlmZ dej                  dej                  ee      fdZ	dej                  dej                  eee         fdZ
dej                  dej                  ee      fdZdej                  dej                  ee      fd	Zdej                  dej                  ee      fd
Zdej                  dej                  ee      fdZdej                  dej                  ee      fdZdej                  dej                  ee      fdZdej                  dej                  ee      fdZdej                  dej                  ee      fdZdej                  dej                  ee      fdZdej                  dej                  e   fdZy)z&Flags shared across multiple commands.    )ListOptional)flagsflag_valuesreturnc                 4    t        j                  dd d|       S )Nnull_markerzUAn optional custom string that will represent a NULL valuein CSV External table data.r   r   DEFINE_stringr
   s    platform/bq/frontend/flags.pydefine_null_markerr   	   s%     
		
$
     c                 4    t        j                  dg d|       S )Nnull_markersz^An optional list of custom strings that will represent a NULL valuein CSV External table data.r
   )r   DEFINE_listr
   s    r   define_null_markersr      s%     
		$
 r   c                 4    t        j                  dd d|       S )N	time_zonezDefault time zone that will apply when parsing timestamp values that have no specific time zone. For example, "America/Los_Angeles".r
   r   r
   s    r   define_time_zoner   !   s&     
		
I
 r   c                 4    t        j                  dd d|       S )Ndate_formatzlFormat elements that define how the DATE values are formatted in the input files. For example, "MM/DD/YYYY".r
   r   r
   s    r   define_date_formatr   -   s%     
		
1
 r   c                 4    t        j                  dd d|       S )Ndatetime_formatzFormat elements that define how the DATETIME values are formatted in the input files. For example, "MM/DD/YYYY HH24:MI:SS.FF3".r
   r   r
   s    r   define_datetime_formatr   9   s&     
		
D
 r   c                 4    t        j                  dd d|       S )Ntime_formatzpFormat elements that define how the TIME values are formatted in the input files. For example, "HH24:MI:SS.FF3".r
   r   r
   s    r   define_time_formatr   E   s%     
		
5
 r   c                 4    t        j                  dd d|       S )Ntimestamp_formatzFormat elements that define how the TIMESTAMP values are formatted in the input files. For example, "MM/DD/YYYY HH24:MI:SS.FF3".r
   r   r
   s    r   define_timestamp_formatr"   Q   s&     
		
D
 r   c                 :    t        j                  dd ddgd|       S )Nsource_column_matchPOSITIONNAMEa`  Controls the strategy used to match loaded columns to the schema in CSV External table data. Options include:
 POSITION: matches by position. This option assumes that the columns are ordered the same way as the schema.
 NAME: matches by name. This option reads the header row as column names and reorders columns to match the field names in the schema.r
   r   DEFINE_enumr
   s    r   define_source_column_matchr)   ]   s0     
		
6L 
 r   c                 8    t        j                  dd dgd|       S )Nparquet_map_target_typeARRAY_OF_STRUCTzSpecifies the parquet map type. If it is equal to ARRAY_OF_STRUCT, then a map_field will be represented with a repeated struct (that has key and value fields).r
   r'   r
   s    r   define_parquet_map_target_typer-   n   s-     
		
  
 r   c                 4    t        j                  dd d|       S )Nreservation_idzReservation ID used when executing the job. Reservation should be in theformat of project_id:reservation_id, project_id:location.reservation_id,or reservation_idr
   r   r
   s    r   define_reservation_id_for_a_jobr0   ~   s'     
		
 
 r   c                 4    t        j                  dd d|       S )Nevent_driven_schedulea  Event driven schedule in json format. Example: --event_driven_schedule='{"pubsub_subscription": "projects/project-id/subscriptions/subscription-id"}'. This flag should not be used with --schedule, --no_auto_scheduling, --schedule_start_time or --schedule_end_time.r
   r   r
   s    r   define_event_driven_scheduler3      s'     
		
7
 	
 	r   c                 4    t        j                  ddd|       S )Nuse_full_timestampFzTUse full precision ISO8601 string representation for timestamp values in the result.r
   )r   DEFINE_booleanr
   s    r   define_use_full_timestampr7      s%     
		
 r   N)__doc__typingr   r   abslr   
FlagValues
FlagHolderstrr   r   r   r   r   r   r"   r)   r-   r0   r3   boolr7    r   r   <module>r@      s   , ! 	!!	
hsm$		!!	
htCy)*		!!	
hsm$		!!	
hsm$		!!	
hsm$		!!	
hsm$		!!	
hsm$	!!
hsm$"!!
hsm$ 
!!

hsm$
!!
hsm$	!!	
d	r   