【问题标题】:How to list locks applied on azure resource group using python如何使用 python 列出应用于 azure 资源组的锁
【发布时间】:2020-09-14 20:52:01
【问题描述】:

使用 python azure sdk,我对资源组应用了一些锁,这些锁被继承到其中的各个资源。而且,我正在对组内的资源应用单独的锁。当我将 vm 名称作为参数传递时,我只对链接到 VM 的资源应用了更多锁。 现在,无论如何在脚本末尾列出我们的脚本应用的锁类型是什么?通过检查先前和当前状态或任何适用的逻辑。无法从 azure sdk 文档中获取此信息。

【问题讨论】:

    标签: python azure azure-resource-group azure-sdk-python


    【解决方案1】:

    SDK 允许您使用list_at_resource_group_level 方法列出资源组的所有管理锁。

    from azure.common.client_factory import get_client_from_auth_file
    from azure.mgmt.resource import ResourceManagementClient, ManagementLockClient
    
    # get_client_from_auth_file relies on the AZURE_AUTH_LOCATION environment variable
    resource_client = get_client_from_auth_file(ResourceManagementClient)
    management_lock_client = get_client_from_auth_file(ManagementLockClient)
        
    def list_resource_group_locks():
        # Can optionally iterate across all RGs in the Subscription
        for rg in resource_client.resource_groups.list():
            for lock in management_lock_client.management_locks.list_at_resource_group_level(rg.name):
                print(f"\nResource Group: {rg.name}\nLock name: {lock.name}\nLock Type: {lock.level}")
    
    # List all resource groups in the Subscription with applied locks
    list_resource_group_locks()
    
    Output:
    Resource Group: rg-1
    Lock name: testupdate
    Lock Type: ReadOnly
    
    Resource Group: rg-1
    Lock name: testdelete
    Lock Type: CanNotDelete
    

    ManagementLocksOperations 类的其他变体/方法可以在here找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多