繁体   English   中英

如何列出 GCP 中属于特定组织的所有项目

[英]How to list all projects in GCP that belongs to a specific organization

gcloud 允许您列出组织、文件夹或项目。 我没有找到列出组织内项目的选项。

就像是:

gcloud projects list --organization=ORG

您可以使用 Cloud Asset 库存。 基本查询如下:

gcloud beta asset search-all-resources \
--asset-types=cloudresourcemanager.googleapis.com/Project \
--scope=organizations/920778098964

如果您想要一长串结果,您可以使用页面大小。 更多细节在这里

我个人更喜欢将所有资产导出到 BigQuery ,然后查询我想要的内容。 项目,还有VM,防火墙规则,......

我认为没有像您提到的--organization arg 那样快速的方法,但这可以通过以下类似 UNIX 的脚本来完成:

for project_id in $(gcloud projects list --format='value(project_id)'); do
  org_id=$(gcloud projects describe $project_id --format='value(parent.id)')
  if [ $org_id -eq $the_org_you_want_to_find_out ]; then
   echo "$org_id > $project_id"
  fi
done

您可以使用 gcloud:

gcloud projects list --filter 'parent.id=id-organization123456 AND parent.type=organization' | awk '{print $1 }' > projects.txt

不是你问的,但如果你想过滤分配给文件夹的所有项目,你可以使用--filter='parent.id:40123456789'

$ gcloud organizations list
DISPLAY_NAME                       ID  DIRECTORY_CUSTOMER_ID
example.com  10123456789              C0123abc

$ gcloud resource-manager folders list --organization=10123456789
DISPLAY_NAME  PARENT_NAME                ID
demos         organizations/10123456789  40123456789
test          organizations/10123456789  50123456789

$ gcloud projects list --filter='parent.id:40123456789'
PROJECT_ID         NAME               PROJECT_NUMBER
demo-one           demo-one           301123456789
demo-two           demo-two           302123456789
demo-three         demo-three         303123456789

您可以使用以下命令列出组织中的所有项目:

gcloud projects list

命令的定义是:

列出所有活动项目,其中活动帐户具有所有者、编辑者或查看者权限。 项目按项目名称的字母顺序列出。 不包括已删除或待删除的项目。

如果您只需要 project_ID、名称或项目编号,您可以使用:

gcloud projects list --format 'value(project_id)'
gcloud projects list --format 'value(name)'
gcloud projects list --format 'value(project_number)'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM