为了账号安全,请及时绑定邮箱和手机立即绑定

从安全组 azure sdk 获取实例

从安全组 azure sdk 获取实例

jeck猫 2022-01-06 17:58:20
我想列出我所有的安全组,但我想检查是否有任何安全组有实例或没有,如果有,我想获得这个实例。我怎么能在代码中做到这一点?我只是构建函数来获取所有安全组。  @Overridepublic List<LocalSecurityGroupV2> getSecurityGroups(final List<String> securityGroupIds) {    return securityGroupIds            .stream()            .map(this::findSecurityGroupById)            .collect(Collectors.toList());}
查看完整描述

2 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

你能详细说明一下你所说的实例是什么意思吗?这是您要找的吗?

获取订阅中的所有网络安全组:https : //docs.microsoft.com/en-us/rest/api/virtualnetwork/networksecuritygroups/listall

获取资源组中的所有网络安全组:https : //docs.microsoft.com/en-us/rest/api/virtualnetwork/networksecuritygroups/list


查看完整回答
反对 回复 2022-01-06
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

我们可以使用Azure Java SDK做到这一点。有关身份验证,请参阅使用 Java 的 Azure 管理库进行身份验证。


以下是演示代码,我在我这边测试过。


String client = "clientId";

String tenant = "tenantId";

String key = "scret key";

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(client,

            tenant,

            key,

            AzureEnvironment.AZURE);

Azure azure = Azure.configure().authenticate(credentials).withDefaultSubscription();

List <VirtualMachine> vmlist = azure.virtualMachines().list();

List<String> networkInterfaceList = new ArrayList<String>();

PagedList<NetworkSecurityGroup> list = azure.networkSecurityGroups().listByResourceGroup("resourceGroupName");


//add the networkinterface to the list

for (NetworkSecurityGroup nsg :list

         ) {


     for (String networkInterface :nsg.networkInterfaceIds()

         ) {


           networkInterfaceList.add(networkInterface);


        }


    };



List<VirtualMachine> virtualMachineList = new ArrayList<VirtualMachine>();

for (VirtualMachine vm :vmlist

         ) {

        for (String vmInterface:vm.networkInterfaceIds()

             ) {

            if(networkInterfaceList.contains(vmInterface))

            {

                if(!virtualMachineList.contains(vm))

                {

                    virtualMachineList.add(vm);

                    System.out.println(vm.computerName());

                }


            }

        }


    }


查看完整回答
反对 回复 2022-01-06
  • 2 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信