繁体   English   中英

资源组中存在资源

[英]Existence of a resource within a resource group

如何检查资源组中是否存在快速路由。 我有资源组列表,但并非所有资源组中都有快速路由。 检查每个资源组内部是否有快速路由需要写什么条件

rgList ==> 特定订阅中所有资源组的列表

erList ==> 特定订阅中所有快速路由的列表

rgList="$(az group list --subscription "sub1" --query [].name --output tsv)"
erList="$(az network express-route list --subscription "sub1" --query [].name --output tsv)"
for i in $rgList; do
    if [[ $(az network express-route list -g "$i" --subscription "sub-network-central-services" --query "[].name | length(@))" > 0 ]]
    then
        for j in $erList; do
            hubname+="$(az network express-route auth list --circuit-name "$j" --resource-group "$i" --query [].authorizations[].name --output tsv)"
        done
    fi
done

我收到以下错误bash:意外标记“完成”附近出现语法错误

如上所述,是的,在我们的本地环境中进行测试时存在一些语法错误,我们已经修复了这些错误并且我们也修改了上述脚本。

修改后的脚本将提取授权名称和快速路由电路名称。

如果要获取具有快速路由电路的资源组列表,可以直接参考我的解决方案中的替代脚本

这是修改后的 Bash 脚本:

hubname=""
rglist=$(az group list --subscription "<subNameorSubId>" --query [].name --output tsv)
erList=$(az network express-route list --subscription "<subNameorSubId>" --query [].name --output tsv)
for i in $rglist;
do
if [[ $(az network express-route list -g $i --subscription "<subNameorSubId>" --query "[].name | length(@)") > 0 ]]
    then
        for j in $erList;
        do
             hubname+=$(az network express-route auth list --circuit-name $j --resource-group $i --query [].name --output tsv)
             echo $j,$hubname
        done
    fi
done

这是示例 output 的屏幕截图供参考:

在此处输入图像描述

或者,您可以使用下面的 bash 脚本,如果其中存在快速路由电路,这将为您提供资源组列表。

替代脚本:

 rgList=$(az group list --subscription "<SubNameorSubId>" --query [].name --output tsv)
    for i in $rgList;do
        resourcelist=$(az resource list -g $i --query [].type -o tsv)
        for j in $resourcelist;do
            if [[ $j ==  "Microsoft.Network/expressRouteCircuits" ]]
            then
                echo $i
            fi
        done
    done

这是供参考的样品Output:

在此处输入图像描述

暂无
暂无

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

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