2017-04-19 2 views
1

Cloud Foundry에서 조직과 관련된 공백을 나열하는 유닉스 쉘 스크립트를 작성하려고합니다. 그러나 문제가 발생했습니다. 타겟팅 한 후에 만 ​​조직과 관련된 공백을 나열 할 수 있기 때문입니다.Cloud Foundry의 조직 및 공간 목록이 필요합니다.

다음을 사용하여 한 번에 2 개의 조직을 타겟팅 할 수 없습니다. Org1 Org2에서 i에 대해 ; do cf 목표 -o $ i; 내가 텍스트 파일과 같은 모든 여러 조직을 넣을 경우,

따라서

을 수행 : cat Orgs.txt에 난에 대한

; cf spaces $ i를한다; 완료

의견을 제시해주세요. 고맙습니다!

답변

2
cf org 명령은 공백을 포함하여 조직에 대한 정보를 표시합니다

, 그래서 대상으로 불필요 각각 개별적으로 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: 

난 당신이 단순히 각각의 공간을 받고, 여러 조직의 목록을 반복 할 수 있다고 생각 하고 해당 조직의 이름으로 공간 목록을 서문을 할 수있는 작은 문자열 대체 할 : 나는 CF CLI plugins의 목록을보고

$ 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 

을,하지만 난 승 제공하지 않았다 아무것도 찾을 수 없습니다 네가 묻는 것보다 더 많은 정보가 필요해. 가장 가까운 가장 가까운 곳은 Usage Report plugin입니다.

+0

많은 의견을 보내 주셔서 감사합니다. – duraja

0

클레이 톤 (Clayton)의 훌륭한 답변 외에도 cf curl을 사용할 수 있습니다.

예 : cf curl /v2/spaces | jq .resources[].entity.name

이 직접 공간의 API를 조회하고 당신이 또는 조직을 대상으로하지 않는 경우 신경 않습니다. 현재 사용자가 볼 수있는 모든 공백이 표시됩니다. 선택적으로 q 속성을 사용하여이 항목을 필터링 할 수 있습니다. 더 많은 문서에서.

http://apidocs.cloudfoundry.org/253/spaces/list_all_spaces.html

JQ 비트는 선택 사항이지만 당신을 위해 단지 공간 이름을 필터링합니다.

최종 결과는 페이지 번호가 매겨져 있기 때문에 50을 초과하면 여러 요청을 실행하거나 값을 늘려야합니다.

+0

많은 의견을 보내 주셔서 감사합니다. – duraja