开发者社区> 问答> 正文

脚本使用示例:查询所有区域下未创建任何 VSwitch 的 VPC 列表



您可以利用命令行工具,通过如下脚本,查询所有区域下未创建任何虚拟交换机 VSwitch 的 VPC 实例 ID 列表。您可选择下载脚本或编辑脚本内容。
点击下载脚本: getNoVSWitchVpcIds.zip
脚本内容如下:

  1. #!/bin/bash
  2. for RegionId in `aliyuncli ecs DescribeRegions --filter Regions.Region[*].RegionId --output  json | sed '1d' | sed '$d' | sed 's/,//g' |  sed 's/"//g'| sed 's/ //g'`
  3. do
  4.         cat /dev/null >/tmp/vpcIDs.txt
  5.         pageNum=1
  6.         tcount=`aliyuncli ecs DescribeVpcs --RegionId $RegionId --output json --filter TotalCount`
  7.         while ((tcount>0))
  8.         do
  9.                 aliyuncli ecs DescribeVpcs --RegionId $RegionId --filter Vpcs.Vpc[*].VpcId  --PageSize 50 --PageNumber $pageNum --output json  | sed '1d' | sed '$d' | sed 's/,//g' |  sed 's/"//g'| sed 's/ //g'>>/tmp/vpcIDs.txt
  10.                 let pageNum++
  11.                 let tcount-=50
  12.         done
  13.         cat /tmp/vpcIDs.txt  | while read line
  14.         do
  15.                 vSwitchCount=`aliyuncli ecs DescribeVSwitches --VpcId $line --output json --filter TotalCount`
  16.                 if [[ $vSwitchCount -eq 0 ]];then
  17.                         echo $RegionId $line
  18.         fi
  19.         done
  20. done

编辑或下载脚本并赋权(chmod +x)后,您可以通过如下格式直接执行脚本,即会按区域 ID VpcId 格式成对输出所有地域下,未创建任何虚拟交换机 VSwitch 的 VPC 实例 ID。
使用格式说明:
  1. ./getNoVSWitchVpcIds.sh

输出示例:
  1. [root@AliyunTest]# ./getNoVSWitchVpcIds.sh
  2. cn-hangzhou vpc-23vyarrss

展开
收起
行者武松 2017-10-20 15:30:13 1837 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Deep Dive:云上VPC分层安全架构设计 立即下载
经典网络迁移VPC最佳实践 立即下载
AWS 数据中心与 VPC 揭秘 立即下载