По вашему требованию используемая вами аутентификация не подходит. Вы можете увидеть описание профиля CLI:
Возврат клиента SDK, инициализированного с текущими учетными данными CLI, подпиской CLI по умолчанию и облаком CLI по умолчанию.
Это код показывает одну и ту же группу RG для каждой подписки
Насколько я знаю, по умолчанию будет установлена только одна подписка. Вы можете увидеть это на выходе, когда войдете в систему. Таким образом, у вас одинаковые группы, даже если вы установили разные подписки. И взгляните на функцию списка для группы:
Gets all the resource groups for a subscription.
У нее нет параметра в качестве subscription_id. Параметр filter
просто используется для фильтрации группы в одной подписке.
Вы можете изменить код следующим образом на l oop для разных подписок и получить группы в разных подписках:
import subprocess
def test():
subscription_client = get_client_from_cli_profile(SubscriptionClient)
out = ''
for g in subscription_client.subscriptions.list():
cmd = f"az account set --subscription {g.subscription_id}"
result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
out, err = result.communicate()
resource_client = get_client_from_cli_profile(ResourceManagementClient)
for v in resource_client.resource_groups.list():
out = out + '\n' + " " + g.subscription_id + " " + v.name
return out
Вы знаете, как я могу перечислить все подсети в vnet? Вы знаете, как я могу перечислить все IP-адреса в каждом su bnet?
Чтобы получить подсети VNet. Вы можете использовать функцию список . Эта функция даст вам адресный префикс su bnet. Это означает, какой IP-адрес вы можете использовать. Нет функции для перечисления всех IP-адресов su bnet по одному.