gcp bash 云 shell 终端中用于组织策略的脚本
gcp bash script in cloud shell terminal for Org policies
我想要在我的组织顶级文件夹中设置的 GCP 组织策略的实现清单,所以我想在我的云 shell 终端中使用 bash 脚本。
下面的代码有效,但我想使用文件夹“DisplayName”而不是文件夹 ID。
可以使用此 cmd gcloud beta resource-manager folders list --organization=XXXXX--format=value"(ID, DISPLAY_NAME)
检索 DisplayName,但稍后很难在一个 table
中组织结果
#!/bin/bash
for folder in $(gcloud beta resource-manager folders list --organization=XXXXX --format="value(ID)")
do
echo $folder
gcloud beta resource-manager org-policies list --folder=$folder
done
我无权访问 organization
或 folder
但是,以下内容应该有效。
技巧 是使用 --format=csv[no-heading]
提供更容易“解析”的值:
#!/bin/bash
ORGANIZATION="..."
PAIRS=$(\
gcloud beta resource-manager folders list \
--organization=${ORGANIZATION} \
--format="csv[no-heading](ID,displayName)")
for PAIR in ${PAIRS}
do
IFS=, read ID DISPLAY_NAME <<< ${PAIR}
echo ${DISPLAY_NAME}
gcloud beta resource-manager org-policies list \
--folder=${ID}
done
#!/bin/bash
ORGANIZATION="XXXXXX"
PAIRS=$(gcloud beta resource-manager folders list --organization=${ORGANIZATION} --format="csv[no-heading](ID,DISPLAY_NAME)")
for PAIR in ${PAIRS}
do
IFS=, read ID DISPLAY_NAME <<< ${PAIR}
echo ${DISPLAY_NAME}
gcloud beta resource-manager org-policies list --folder=${ID}
done
我想要在我的组织顶级文件夹中设置的 GCP 组织策略的实现清单,所以我想在我的云 shell 终端中使用 bash 脚本。
下面的代码有效,但我想使用文件夹“DisplayName”而不是文件夹 ID。
可以使用此 cmd gcloud beta resource-manager folders list --organization=XXXXX--format=value"(ID, DISPLAY_NAME)
检索 DisplayName,但稍后很难在一个 table
#!/bin/bash
for folder in $(gcloud beta resource-manager folders list --organization=XXXXX --format="value(ID)")
do
echo $folder
gcloud beta resource-manager org-policies list --folder=$folder
done
我无权访问 organization
或 folder
但是,以下内容应该有效。
技巧 是使用 --format=csv[no-heading]
提供更容易“解析”的值:
#!/bin/bash
ORGANIZATION="..."
PAIRS=$(\
gcloud beta resource-manager folders list \
--organization=${ORGANIZATION} \
--format="csv[no-heading](ID,displayName)")
for PAIR in ${PAIRS}
do
IFS=, read ID DISPLAY_NAME <<< ${PAIR}
echo ${DISPLAY_NAME}
gcloud beta resource-manager org-policies list \
--folder=${ID}
done
#!/bin/bash
ORGANIZATION="XXXXXX"
PAIRS=$(gcloud beta resource-manager folders list --organization=${ORGANIZATION} --format="csv[no-heading](ID,DISPLAY_NAME)")
for PAIR in ${PAIRS}
do
IFS=, read ID DISPLAY_NAME <<< ${PAIR}
echo ${DISPLAY_NAME}
gcloud beta resource-manager org-policies list --folder=${ID}
done