
                            S r SSKJrJr  SSKJr  S\R                  S\R                  \\      4S jr	S\R                  S\R                  \\\         4S jr
S\R                  S\R                  \\      4S jrS\R                  S\R                  \\      4S	 jrS\R                  S\R                  \\      4S
 jrS\R                  S\R                  \\      4S jrS\R                  S\R                  \\      4S jrS\R                  S\R                  \\      4S jrS\R                  S\R                  \\      4S jrS\R                  S\R                  \\\         4S jrS\R                  S\R                  \\      4S jrS\R                  S\R                  \\      4S jrS\R                  S\R                  \   4S jrg)z&Flags shared across multiple commands.    )ListOptional)flagsflag_valuesreturnc                 0    [         R                  " SS SU S9$ )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                 0    [         R                  " S/ SU S9$ )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                 0    [         R                  " SS SU S9$ )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                 0    [         R                  " SS SU S9$ )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                 0    [         R                  " SS SU S9$ )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                 0    [         R                  " SS SU S9$ )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                 0    [         R                  " SS SU S9$ )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                 6    [         R                  " SS SS/SU S9$ )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                 4    [         R                  " SS S/SU S9$ )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                 0    [         R                  " S/ SU S9$ )Ntimestamp_target_precisiona  Precisions (maximum number of total digits in base 10) for second of TIMESTAMP types that are allowed to the destination table for autodetection mode.

 Available for the formats: CSV.

 For the CSV Format, Possible values include:
 Not Specified, [], or [6]: timestamp(6) for all auto detected TIMESTAMP columns.
 [6, 12]: timestamp(6) for all auto detected TIMESTAMP columns that have less than 6 digits of subseconds. timestamp(12) for all auto detected TIMESTAMP columns that have more than 6 digits of subseconds.
 [12]: timestamp(12) for all auto detected TIMESTAMP columns.

 The order of the elements in this array is ignored.
 Inputs that have higher precision than the highest target precision will be truncated.r
   r   r
   s    r   !define_timestamp_target_precisionr1   |   s'     
		"" )
 r   c                 0    [         R                  " SS SU S9$ )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_jobr4      s'     
		
 
 r   c                 0    [         R                  " SS SU S9$ )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_scheduler7      s'     
		
7
 	
 	r   c                 0    [         R                  " SSSU S9$ )Nuse_full_timestampFzTUse full precision ISO8601 string representation for timestamp values in the result.r
   )r   DEFINE_booleanr
   s    r   define_use_full_timestampr;      s%     
		
 r   N)__doc__typingr   r   abslr   
FlagValues
FlagHolderstrr   r   r   r   r   r    r#   r*   r.   r1   r4   r7   boolr;    r   r   <module>rD      s6   , ! 	!!	
hsm$		!!	
htCy)*		!!	
hsm$		!!	
hsm$		!!	
hsm$		!!	
hsm$		!!	
hsm$	!!
hsm$"!!
hsm$!!
htCy)*6
!!

hsm$
!!
hsm$	!!	
d	r   