получить экземпляры из группы безопасности Azure SDK - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу перечислить все свои группы безопасности, но я хочу проверить, есть ли экземпляры в какой-либо группе безопасности или нет, если да, я хочу получить эти экземпляры. Как я могу сделать это в коде? Я просто строю функцию, чтобы получить все группы безопасности.

  @Override
public List<LocalSecurityGroupV2> getSecurityGroups(final List<String> securityGroupIds) {
    return securityGroupIds
            .stream()
            .map(this::findSecurityGroupById)
            .collect(Collectors.toList());
}

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Мы могли бы сделать это с помощью Azure Java SDK . Для проверки подлинности см. Аутентификация с помощью библиотек управления Azure для Java .

Ниже приведен демонстрационный код, который я тестировал на своей стороне.

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());
                }

            }
        }

    }
0 голосов
/ 08 ноября 2018

Не могли бы вы уточнить, что вы подразумеваете под примерами? Это то, что вы ищете?

Получает все группы безопасности сети в подписке: https://docs.microsoft.com/en-us/rest/api/virtualnetwork/networksecuritygroups/listall

Получает все группы безопасности сети в группе ресурсов: https://docs.microsoft.com/en-us/rest/api/virtualnetwork/networksecuritygroups/list

...