Skip to content

Commit 778bc16

Browse files
kchertenkoparthea
authored andcommitted
fix: add an error message on user environment setup in case of any errors. (#292)
Co-authored-by: Anthonios Partheniou <[email protected]>
1 parent 8da3673 commit 778bc16

File tree

1 file changed

+46
-39
lines changed

1 file changed

+46
-39
lines changed

generated_samples/interactive-tutorials/user_environment_setup.sh

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,46 +14,53 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17-
# set the Google Cloud Project ID
18-
project_id=$1
19-
echo "Project ID: $project_id"
20-
gcloud config set project "$project_id"
17+
{
18+
# set the Google Cloud Project ID
19+
project_id=$1
20+
echo "Project ID: $project_id"
21+
gcloud config set project "$project_id"
22+
} && {
23+
timestamp=$(date +%s)
2124

22-
timestamp=$(date +%s)
25+
service_account_id="service-acc-$timestamp"
26+
echo "Service Account: $service_account_id"
2327

24-
service_account_id="service-acc-$timestamp"
25-
echo "Service Account: $service_account_id"
28+
# create service account
29+
gcloud iam service-accounts create "$service_account_id"
30+
} && {
31+
# assign necessary roles to your new service account
32+
for role in {retail.admin,editor,bigquery.admin}
33+
do
34+
gcloud projects add-iam-policy-binding "$project_id" --member="serviceAccount:$service_account_id@$project_id.iam.gserviceaccount.com" --role=roles/"${role}"
35+
done
36+
} && {
37+
echo "Wait ~60 seconds to be sure the appropriate roles have been assigned to your service account"
38+
sleep 60
2639

27-
# create service account
28-
gcloud iam service-accounts create "$service_account_id"
40+
# upload your service account key file
41+
service_acc_email="$service_account_id@$project_id.iam.gserviceaccount.com"
42+
gcloud iam service-accounts keys create ~/key.json --iam-account "$service_acc_email"
43+
} && {
44+
# activate the service account using the key
45+
gcloud auth activate-service-account --key-file ~/key.json
46+
} && {
47+
# install necessary Google client libraries
48+
virtualenv -p python3 myenv
49+
source myenv/bin/activate
50+
sleep 2
2951

30-
# assign necessary roles to your new service account
31-
for role in {retail.admin,editor,bigquery.admin}
32-
do
33-
gcloud projects add-iam-policy-binding "$project_id" --member="serviceAccount:$service_account_id@$project_id.iam.gserviceaccount.com" --role=roles/"${role}"
34-
done
35-
36-
echo "Wait ~60 seconds to be sure the appropriate roles have been assigned to your service account"
37-
sleep 60
38-
39-
# upload your service account key file
40-
service_acc_email="$service_account_id@$project_id.iam.gserviceaccount.com"
41-
gcloud iam service-accounts keys create ~/key.json --iam-account "$service_acc_email"
42-
43-
# activate the service account using the key
44-
gcloud auth activate-service-account --key-file ~/key.json
45-
46-
# install necessary Google client libraries
47-
virtualenv -p python3 myenv
48-
source myenv/bin/activate
49-
sleep 2
50-
51-
pip install google
52-
pip install google-cloud-retail
53-
pip install google-cloud.storage
54-
pip install google-cloud.bigquery
55-
56-
echo "======================================="
57-
echo "The Google Cloud setup is completed."
58-
echo "Please proceed with the Tutorial steps"
59-
echo "======================================="
52+
pip install google &&
53+
pip install google-cloud-retail &&
54+
pip install google-cloud.storage &&
55+
pip install google-cloud.bigquery
56+
} && {
57+
echo "======================================="
58+
echo "The Google Cloud setup is completed."
59+
echo "Please proceed with the Tutorial steps"
60+
echo "======================================="
61+
} || {
62+
echo "======================================="
63+
echo "The Google Cloud setup was not completed."
64+
echo "Please fix the errors above!"
65+
echo "======================================="
66+
}

0 commit comments

Comments
 (0)