#!/usr/bin/env python """Auth flags for calling BigQuery.""" import os from typing import Optional from absl import flags USE_GCE_SERVICE_ACCOUNT = flags.DEFINE_boolean( 'use_gce_service_account', False, 'Only for the gcloud wrapper use.' ) CREDENTIAL_FILE = flags.DEFINE_string( 'credential_file', os.path.join( os.path.expanduser('~'), '.bigquery.v2.token' ), 'Only for the gcloud wrapper use.' ) APPLICATION_DEFAULT_CREDENTIAL_FILE: flags.FlagHolder[Optional[str]] = ( flags.DEFINE_string( 'application_default_credential_file', '', 'Only for the gcloud wrapper use.' ) ) SERVICE_ACCOUNT: flags.FlagHolder[Optional[str]] = flags.DEFINE_string( 'service_account', '', 'Only for the gcloud wrapper use.' ) SERVICE_ACCOUNT_PRIVATE_KEY_FILE: flags.FlagHolder[Optional[str]] = ( flags.DEFINE_string( 'service_account_private_key_file', '', 'Only for the gcloud wrapper use.' ) ) SERVICE_ACCOUNT_PRIVATE_KEY_PASSWORD = flags.DEFINE_string( 'service_account_private_key_password', 'notasecret', 'Only for the gcloud wrapper use.' ) SERVICE_ACCOUNT_CREDENTIAL_FILE = flags.DEFINE_string( 'service_account_credential_file', None, 'Only for the gcloud wrapper use.' ) OAUTH_ACCESS_TOKEN = flags.DEFINE_string( 'oauth_access_token', '', 'Only for the gcloud wrapper use.' ) USE_GOOGLE_AUTH = flags.DEFINE_boolean( 'use_google_auth', True, 'Use new google auth libraries.', ) QUOTA_PROJECT_ID: flags.FlagHolder[Optional[str]] = flags.DEFINE_string( 'quota_project_id', None, 'ID of a Google Cloud Project as the quota project to be used for billing ' 'and quota limits.', allow_hide_cpp=True, allow_override=True, )