Exemplo n.º 1
0
def main():
    pargs = ParseArgs()
    reinstall_components = os.environ.get('CLOUDSDK_REINSTALL_COMPONENTS')
    try:
        if reinstall_components:
            ReInstall(reinstall_components.split(','))
        else:
            Prompts(pargs.usage_reporting)
            bootstrapping.CommandStart('INSTALL', component_id='core')
            if not config.INSTALLATION_CONFIG.disable_updater:
                Install(pargs.override_components, pargs.additional_components)

            platforms_install.UpdateRC(
                bash_completion=pargs.bash_completion,
                path_update=pargs.path_update,
                rc_path=pargs.rc_path,
                bin_path=bootstrapping.BIN_DIR,
                sdk_root=bootstrapping.SDK_ROOT,
            )

            print("""\

For more information on how to get started, please visit:
  https://developers.google.com/cloud/sdk/gettingstarted

""")
    except exceptions.ToolException as e:
        print(e)
        sys.exit(1)
Exemplo n.º 2
0
def main():
    pargs = ParseArgs()
    update_manager.RestartIfUsingBundledPython(
        sdk_root=config.Paths().sdk_root, command=__file__)
    reinstall_components = encoding.GetEncodedValue(
        os.environ, 'CLOUDSDK_REINSTALL_COMPONENTS')
    try:
        if reinstall_components:
            ReInstall(reinstall_components.split(','))
        else:
            Prompts(pargs.usage_reporting)
            bootstrapping.CommandStart('INSTALL', component_id='core')
            if not config.INSTALLATION_CONFIG.disable_updater:
                Install(pargs.override_components, pargs.additional_components)

            platforms_install.UpdateRC(
                completion_update=pargs.command_completion,
                path_update=pargs.path_update,
                rc_path=pargs.rc_path,
                bin_path=bootstrapping.BIN_DIR,
                sdk_root=bootstrapping.SDK_ROOT,
            )

            print("""\

For more information on how to get started, please visit:
  https://cloud.google.com/sdk/docs/quickstarts

""")
    except exceptions.ToolException as e:
        print(e)
        sys.exit(1)
Exemplo n.º 3
0
def main():
  """Launches bq."""
  version = bootstrapping.ReadFileContents('platform/bq', 'VERSION')
  bootstrapping.CommandStart('bq', version=version)
  blocked_commands = {
      'init': 'To authenticate, run gcloud auth.',
  }
  argv = bootstrapping.GetDecodedArgv()
  bootstrapping.WarnAndExitOnBlockedCommand(argv, blocked_commands)

  cmd_args = [arg for arg in argv[1:] if not arg.startswith('-')]
  args = []
  if cmd_args and cmd_args[0] not in ('version', 'help'):
    # Check for credentials only if they are needed.
    store.Load()  # Checks if there are active credentials

    project, account = bootstrapping.GetActiveProjectAndAccount()
    adc_path = config.Paths().LegacyCredentialsAdcPath(account)
    single_store_path = config.Paths().LegacyCredentialsBqPath(account)

    gce_metadata = gce.Metadata()
    if gce_metadata and account in gce_metadata.Accounts():
      args = ['--use_gce_service_account']
    elif os.path.isfile(adc_path):
      args = ['--application_default_credential_file', adc_path,
              '--credential_file', single_store_path]
    else:
      p12_key_path = config.Paths().LegacyCredentialsP12KeyPath(account)
      if os.path.isfile(p12_key_path):
        args = ['--service_account', account,
                '--service_account_credential_file', single_store_path,
                '--service_account_private_key_file', p12_key_path]
      else:
        # Don't have any credentials we can pass.
        raise store.NoCredentialsForAccountException(account)

    use_client_cert = (
        os.getenv('GOOGLE_API_USE_CLIENT_CERTIFICATE',
                  'false').upper() == 'TRUE')
    if use_client_cert:
      args.append('--mtls')

    _MaybeAddOption(args, 'project_id', project)

  bootstrapping.CheckUpdates('bq')

  proxy_params = properties.VALUES.proxy
  _MaybeAddOption(args, 'proxy_address', proxy_params.address.Get())
  _MaybeAddOption(args, 'proxy_port', proxy_params.port.Get())
  _MaybeAddOption(args, 'proxy_username', proxy_params.username.Get())
  _MaybeAddOption(args, 'proxy_password', proxy_params.password.Get())
  _MaybeAddOption(args, 'disable_ssl_validation',
                  properties.VALUES.auth.disable_ssl_validation.GetBool())
  _MaybeAddOption(args, 'ca_certificates_file',
                  properties.VALUES.core.custom_ca_certs_file .Get())

  bootstrapping.ExecutePythonTool(
      'platform/bq', 'bq.py', *args)
Exemplo n.º 4
0
def main():
    """Launches bq."""
    version = bootstrapping.GetFileContents('platform/bq', 'VERSION')
    bootstrapping.CommandStart('bq', version=version)
    blacklist = {
        'init': 'To authenticate, run gcloud auth.',
    }
    bootstrapping.CheckForBlacklistedCommand(sys.argv,
                                             blacklist,
                                             warn=True,
                                             die=True)
    cmd_args = [arg for arg in sys.argv[1:] if not arg.startswith('-')]
    args = []
    if cmd_args and cmd_args[0] not in ('version', 'help'):
        # Check for credentials only if they are needed.
        store.Load()  # Checks if there are active credentials

        project, account = bootstrapping.GetActiveProjectAndAccount()
        adc_path = config.Paths().LegacyCredentialsAdcPath(account)
        single_store_path = config.Paths().LegacyCredentialsBqPath(account)

        gce_metadata = gce.Metadata()
        if gce_metadata and account in gce_metadata.Accounts():
            args = ['--use_gce_service_account']
        elif os.path.isfile(adc_path):
            args = [
                '--application_default_credential_file', adc_path,
                '--credential_file', single_store_path
            ]
        else:
            p12_key_path = config.Paths().LegacyCredentialsP12KeyPath(account)
            if os.path.isfile(p12_key_path):
                args = [
                    '--service_account', account,
                    '--service_account_credential_file', single_store_path,
                    '--service_account_private_key_file', p12_key_path
                ]
            else:
                # Don't have any credentials we can pass.
                raise store.NoCredentialsForAccountException(account)

        _MaybeAddOption(args, 'project', project)

    bootstrapping.CheckUpdates('bq')

    proxy_params = properties.VALUES.proxy
    _MaybeAddOption(args, 'proxy_address', proxy_params.address.Get())
    _MaybeAddOption(args, 'proxy_port', proxy_params.port.Get())
    _MaybeAddOption(args, 'proxy_username', proxy_params.username.Get())
    _MaybeAddOption(args, 'proxy_password', proxy_params.password.Get())
    _MaybeAddOption(args, 'disable_ssl_validation',
                    properties.VALUES.auth.disable_ssl_validation.GetBool())
    _MaybeAddOption(args, 'ca_certificates_file',
                    properties.VALUES.core.custom_ca_certs_file.Get())

    bootstrapping.ExecutePythonTool('platform/bq', 'bq.py', *args)
Exemplo n.º 5
0
def main():
  """Launches the Dataflow SQL shell."""
  bootstrapping.CommandStart('dataflow-sql', component_id='dataflow-sql')
  bootstrapping.CheckUpdates('dataflow-sql')
  update_manager.UpdateManager.EnsureInstalledAndRestart(
      ['dataflow-sql'], command=__file__)
  java_bin = java.RequireJavaInstalled('Dataflow SQL')
  bootstrapping.ExecuteJavaClass(
      java_bin,
      jar_dir=_JAR_DIR,
      main_jar=_MAIN_JAR,
      main_class=_CLASSNAME,
      main_args=['-nn', 'DFSQL', '-u', 'jdbc:beam:userAgent=DataflowSQL'])
Exemplo n.º 6
0
def main():
    """Launches the Schema Conversion Tool."""
    bootstrapping.CommandStart(_COMPONENT_ID, component_id=_COMPONENT_ID)
    bootstrapping.CheckUpdates(_COMPONENT_ID)
    update_manager.UpdateManager.EnsureInstalledAndRestart([_COMPONENT_ID],
                                                           command=__file__)
    try:
        java_bin = java.RequireJavaInstalled('Schema Conversion Tool',
                                             min_version=9)
        java_9plus = True
    except java.JavaVersionError:
        java_bin = java.RequireJavaInstalled('Schema Conversion Tool',
                                             min_version=8)
        java_9plus = False

    os.environ.setdefault('SCT_UPDATE_CHECK', 'false')
    jar_name = 'schema_conversion_gui.jar'
    main_jar = os.path.join(_JAR_DIR, jar_name)

    # Accept a platform-appropriate default added as 1st arg in sct.sh/sct.cmd.
    working_dir_default = bootstrapping.GetDecodedArgv()[1]

    flags = [
        '-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager',
        '-Dspring.profiles.active=production',
        '-Dgcloud.component.dir={}'.format(_COMPONENT_DIR),
        '-Dsct.working.dir.default={}'.format(working_dir_default),
        '-jar',
        main_jar,
    ]

    if java_9plus:
        # Open modules to reflection explicitly to avoid Java 9+ warnings.
        flags = [
            '--add-opens',
            'java.base/java.io=ALL-UNNAMED',
            '--add-opens',
            'java.base/java.lang=ALL-UNNAMED',
            '--add-opens',
            'java.base/java.net=ALL-UNNAMED',
            '--add-opens',
            'java.rmi/sun.rmi.transport=ALL-UNNAMED',
        ] + flags

    bootstrapping.ExecuteJarTool(
        java_bin,
        _JAR_DIR,
        jar_name,
        None,  # No main classname for Springboot JAR. Use -jar flag instead.
        flags,
        '--server.address=127.0.0.1')
Exemplo n.º 7
0
def main():
  parser = argparse.ArgumentParser()
  parser.add_argument('--check-credentials',
                      required=False, action='store_true')
  parser.add_argument('--check-updates',
                      required=False, action='store_true')
  parser.add_argument('--command-name', required=True)
  parser.add_argument('--component-id')
  args = parser.parse_args()

  bootstrapping.CommandStart(args.command_name, component_id=args.component_id)
  if args.check_credentials:
    bootstrapping.CheckCredOrExit()
  if args.check_updates:
    bootstrapping.CheckUpdates(args.command_name)
Exemplo n.º 8
0
  disable_ssl = properties.VALUES.auth.disable_ssl_validation.GetBool()
  _MaybeAddBotoOption(args, 'Boto', 'https_validate_certificates',
                      None if disable_ssl is None else not disable_ssl)
  _MaybeAddBotoOption(args, 'Boto', 'ca_certificates_file',
                      properties.VALUES.core.custom_ca_certs_file.Get())

  # Note that the original args to gsutil will be appended after the args we've
  # supplied here.
  bootstrapping.ExecutePythonTool('platform/gsutil', 'gsutil', *args)


if __name__ == '__main__':
  bootstrapping.DisallowPython3()
  try:
    version = bootstrapping.ReadFileContents('platform/gsutil', 'VERSION')
    bootstrapping.CommandStart('gsutil', version=version)

    blacklist = {
        'update': 'To update, run: gcloud components update',
    }

    argv = bootstrapping.GetDecodedArgv()
    bootstrapping.CheckForBlacklistedCommand(argv, blacklist, warn=True,
                                             die=True)
    # Don't call bootstrapping.PreRunChecks because anonymous access is
    # supported for some endpoints. gsutil will output the appropriate
    # error message upon receiving an authentication error.
    bootstrapping.CheckUpdates('gsutil')
    main()
  except Exception as e:  # pylint: disable=broad-except
    exceptions.HandleError(e, 'gsutil')
# Filename of the jar
_JAR_NAME = 'appengine-tools-api.jar'

# Flags, (enable assertions)
_FLAGS = ['-ea']

# Name of the main class
_CLASSNAME = 'com.google.appengine.tools.KickStart'

# Additional arguments, comes before sys.argv.
# The KickStart main class accepts this classname as its first arg
_ARGS = [
    'com.google.appengine.tools.development.DevAppServerMain', '--promote_yaml'
]


def main():
    """Launches the Java dev_appserver 1."""
    update_manager.UpdateManager.EnsureInstalledAndRestart(['app-engine-java'],
                                                           command=__file__)
    java_bin = java.RequireJavaInstalled('Java local development server')
    bootstrapping.ExecuteJarTool(java_bin, _JAR_DIR, _JAR_NAME, _CLASSNAME,
                                 _FLAGS, *_ARGS)


if __name__ == '__main__':
    bootstrapping.DisallowPython3()
    bootstrapping.CommandStart('dev_appserver_java', component_id='core')
    bootstrapping.CheckUpdates('dev_appserver_java')
    main()
Exemplo n.º 10
0
                del os.environ['BOTO_CONFIG']
            os.environ['BOTO_PATH'] = boto_path

    args = []

    if project:
        args.extend(['-o', 'GSUtil:default_project_id=%s' % project])
    if pass_credentials and account in c_gce.Metadata().Accounts():
        # Tell gsutil to look for GCE service accounts.
        args.extend(['-o', 'GoogleCompute:service_account=default'])

    bootstrapping.ExecutePythonTool('platform/gsutil', 'gsutil', *args)


if __name__ == '__main__':
    bootstrapping.CommandStart('gsutil', component_id='gsutil')

    blacklist = {
        'update': 'To update, run: gcloud components update',
    }

    bootstrapping.CheckForBlacklistedCommand(sys.argv,
                                             blacklist,
                                             warn=True,
                                             die=True)
    # Don't call bootstrapping.PreRunChecks because anonymous access is
    # supported for some endpoints. gsutil will output the appropriate
    # error message upon receiving an authentication error.
    bootstrapping.CheckUpdates('gsutil')
    main()
Exemplo n.º 11
0

def main():
    """Launches bq."""

    project, account = bootstrapping.GetActiveProjectAndAccount()
    json_path = config.Paths().LegacyCredentialsJSONPath(account)

    gce_metadata = gce.Metadata()
    if gce_metadata and account in gce_metadata.Accounts():
        args = ['--use_gce_service_account']
    else:
        args = ['--credential_file', json_path]
    if project:
        args += ['--project', project]

    bootstrapping.ExecutePythonTool('platform/bq', 'bq.py', *args)


if __name__ == '__main__':
    bootstrapping.CommandStart('bq', component_id='bq')
    blacklist = {
        'init': 'To authenticate, run gcloud auth.',
    }
    bootstrapping.CheckForBlacklistedCommand(sys.argv,
                                             blacklist,
                                             warn=True,
                                             die=True)
    bootstrapping.PrerunChecks(can_be_gce=True)
    main()
Exemplo n.º 12
0
    proxy_params = properties.VALUES.proxy
    _MaybeAddOption(args, 'proxy_address', proxy_params.address.Get())
    _MaybeAddOption(args, 'proxy_port', proxy_params.port.Get())
    _MaybeAddOption(args, 'proxy_username', proxy_params.username.Get())
    _MaybeAddOption(args, 'proxy_password', proxy_params.password.Get())
    _MaybeAddOption(args, 'disable_ssl_validation',
                    properties.VALUES.auth.disable_ssl_validation.GetBool())
    _MaybeAddOption(args, 'ca_certificates_file',
                    properties.VALUES.core.custom_ca_certs_file.Get())

    bootstrapping.ExecutePythonTool('platform/bq', 'bq.py', *args)


if __name__ == '__main__':
    version = bootstrapping.GetFileContents('platform/bq', 'VERSION')
    bootstrapping.CommandStart('bq', version=version)
    blacklist = {
        'init': 'To authenticate, run gcloud auth.',
    }
    bootstrapping.CheckForBlacklistedCommand(sys.argv,
                                             blacklist,
                                             warn=True,
                                             die=True)
    cmd_args = [arg for arg in sys.argv[1:] if not arg.startswith('-')]
    if cmd_args and cmd_args[0] not in ('version', 'help'):
        # Check for credentials only if they are needed.
        bootstrapping.CheckCredOrExit()
    bootstrapping.CheckUpdates('bq')
    main()