需要在 Cloud Foundry 中列出组织和空间

dur*_*aja 1 unix cloud shell cloud-foundry

我正在考虑编写一个 unix shell 脚本来列出 Cloud Foundry 中与其关联的组织和空间。但是有问题,因为我们只能在定位后才能列出与组织关联的空间。

我不能使用 : for i in Org1 Org2 一次定位 2 个组织;做 cf 目标 -o $i ; 完毕

因此,如果我将所有组织放在一个文本文件中,如下所示:

因为我在cat Orgs.txt;做 cf 空格 $i ; 完毕

请提出您的意见。谢谢!

小智 5

cf org命令将显示有关组织的信息,包括空格,因此无需单独针对每个组织:

$ cf target
API endpoint:   https://api.local.pcfdev.io
API version:    2.65.0
User:           admin
No org or space targeted, use 'cf target -o ORG -s SPACE'

$ cf org pcfdev-org
Getting info for org pcfdev-org as admin...
OK

pcfdev-org:
              domains:        local.pcfdev.io, tcp.local.pcfdev.io
              quota:          default (102400M memory limit, unlimited instance memory limit, 100 routes, -1 services, paid services allowed, unlimited app instance limit, unlimited route ports)
              spaces:         pcfdev-space
              space quotas:
Run Code Online (Sandbox Code Playgroud)

我认为您可以简单地遍历组织列表,为每个组织获取空格,然后进行一些字符串替换,以使用适当的组织名称作为空格列表的开头:

$ for org in $( cf orgs | tail +4 ); do \
    cf org "$org" | grep spaces | sed "s/spaces/$org/"; \
  done
         demos:         spring-cloud, services, chaos-engineering
              pcfdev-org:         pcfdev-space
          system:         system
Run Code Online (Sandbox Code Playgroud)

我查看了CF CLI 插件列表,但我没有发现任何没有提供比您要求的更多信息的内容。我能很快找到的最接近的是使用报告插件