overwrite:
  arg_name: overwrite
  action: store_true
  help_text: 'Overwrite if the resource already exists.'

permissions_file:
  api_field: dataset.access
  arg_name: permissions-file
  type: "googlecloudsdk.calliope.arg_parsers:FileContents:"
  processor: googlecloudsdk.command_lib.bq.hooks:PermissionsFileProcessor
  help_text: |
    A local yaml or JSON file containing the access permissions specifying who is allowed to access
    the data.

    YamlfFile should be specified the form:\
    access:
    - role: ROLE
      [access type]: ACCESS_VALUE
    - ...

    and JSON file should be specified in the form:
    {"access": [
     {
      "role": "ROLE",
      "[access type]": "ACCESS_VALUE"
     },
    ...
    ]}

    Where `access type` is one of: `domain`, `userByEmail`, `specialGroup` or `view`.

    If this field is not specified, BigQuery adds these default dataset access
    permissions at creation time in :
    * specialGroup=projectReaders, role=READER
    * specialGroup=projectWriters, role=WRITER
    * specialGroup=projectOwners, role=OWNER
    * userByEmail=[dataset creator email], role=OWNER

    For more information on BigQuery permissions see: https://cloud.google.com/bigquery/docs/access-control

dataset:
  description:
    api_field: dataset.description
    arg_name: description
    required: false
    help_text: Description of the dataset.

table:
  description:
    api_field: table.description
    arg_name: description
    required: false
    help_text: Description of the table.

  expiration:
    api_field: table.expirationTime
    arg_name: expiration
    type: googlecloudsdk.core.util.times:ParseDuration
    processor: googlecloudsdk.command_lib.bq.hooks:ProcessTableExpiration
    required: false
    help_text: |-
      How long after creation should this table or view expire e.g. 1d, 2w etc.

      See $ gcloud topic datetimes for information on duration formats

job:
  job_id:
    api_field: job.jobReference.jobId
    arg_name: job-id
    processor: googlecloudsdk.command_lib.bq.hooks:JobIdProcessor
    required: false
    default: ''
    help_text: |-
      A unique job ID to use for the request. If not specified a unique job id will be generated.
