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

我无权访问 organizationfolder 但是,以下内容应该有效。

技巧 是使用 --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