Какой Java API из Azure SDK для удаления NetworkSecurityRule? - PullRequest
0 голосов
/ 10 марта 2020

Не удается найти API Java из SDK Azure для удаления ресурса NetworkSecurityRule.

API REST задокументирован здесь .

Я использую эту зависимость Maven: com.microsoft.azure:azure-mgmt-network:jar:1.31.0

В моем коде я храню ссылку на экземпляр NetworkManager и у меня есть коллекция NetworkSecurityRule объектов.

Кто-нибудь знает как это сделать?

Спасибо, Крис

1 Ответ

0 голосов
/ 11 марта 2020

Согласно моему тесту мы можем использовать следующий код. Для получения более подробной информации, пожалуйста, обратитесь к документация 1. Создайте участника службы и назначьте роль Reader для sp.

az login
az account set --subscription "<your subscription id>"
# it will assign  Contributor to the sp at subscription level
az ad sp create-for-rbac -n "mysample" --role  Contributor

enter image description here

код
public static void main(String[] args){
 String clientId = "your sp appId";
       String secret = "your sp password";
       String domain = "your tenant domain";
       ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(clientId, domain, secret,
            AzureEnvironment.AZURE);
       Azure azure = AzureAzure.configure().withLogLevel(LogLevel.BASIC).authenticate(credentials)
            .withDefaultSubscription();

       NetworkSecurityGroup group = azure.networkSecurityGroups().getById(
            "your nsg resource id");

       for(String i : group.securityRules().keySet()){

            System.out.println(i);

       } 

       group.update().withoutRule.apply();
       group = azure.networkSecurityGroups().getById(
            "/subscriptions/e5b0fcfa-e859-43f3-8d84-5e5fe29f4c68/resourceGroups/testgroup/providers/Microsoft.Network/networkSecurityGroups/test0123");
       System.out.println(group.Name());
       for(String i : group.securityRules().keySet()){

            System.out.println(i);

       } 
}

enter image description here

...