xref: /aosp_15_r20/external/google-cloud-java/.cloud/helpers/gcloud-login.sh (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
1*55e87721SMatt Gilbride#!/bin/bash
2*55e87721SMatt Gilbride#
3*55e87721SMatt Gilbride# Copyright 2022 Google LLC
4*55e87721SMatt Gilbride#
5*55e87721SMatt Gilbride# Licensed under the Apache License, Version 2.0 (the "License");
6*55e87721SMatt Gilbride# you may not use this file except in compliance with the License.
7*55e87721SMatt Gilbride# You may obtain a copy of the License at
8*55e87721SMatt Gilbride#
9*55e87721SMatt Gilbride#      https://www.apache.org/licenses/LICENSE-2.0
10*55e87721SMatt Gilbride#
11*55e87721SMatt Gilbride# Unless required by applicable law or agreed to in writing, software
12*55e87721SMatt Gilbride# distributed under the License is distributed on an "AS IS" BASIS,
13*55e87721SMatt Gilbride# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*55e87721SMatt Gilbride# See the License for the specific language governing permissions and
15*55e87721SMatt Gilbride# limitations under the License.
16*55e87721SMatt Gilbride#
17*55e87721SMatt Gilbrideset -eo pipefail
18*55e87721SMatt Gilbride
19*55e87721SMatt Gilbride# Perform gcloud auth login if no current credentials are available.
20*55e87721SMatt Gilbrideif gcloud auth print-access-token &>/dev/null; then
21*55e87721SMatt Gilbride  true
22*55e87721SMatt Gilbrideelse
23*55e87721SMatt Gilbride  if ! gcloud auth login; then
24*55e87721SMatt Gilbride    exit
25*55e87721SMatt Gilbride  fi
26*55e87721SMatt Gilbridefi
27*55e87721SMatt Gilbrideif gcloud auth application-default print-access-token &>/dev/null; then
28*55e87721SMatt Gilbride  true
29*55e87721SMatt Gilbrideelse
30*55e87721SMatt Gilbride  if ! gcloud auth application-default login; then
31*55e87721SMatt Gilbride    exit
32*55e87721SMatt Gilbride  fi
33*55e87721SMatt Gilbridefi
34