【问题标题】:AzureStack Delete All the resources and their dependent resources in a Resource GroupAzureStack 删除资源组中的所有资源及其依赖资源
【发布时间】:2019-01-17 12:25:24
【问题描述】:

我正在编写一个脚本,它将获取资源组中的所有资源并删除它们,然后在 azurestack 环境中删除资源组本身。 我不能只使用

$Resources = Find-AzureRmResource -ResourceGroupName $ResourceGroupName

foreach ($resource in $Resources)
{
    Remove-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceName $resource .Name -ResourceType $resource.ResourceType -Force
}

因为如果我的资源组中有优惠并且该优惠中包含订阅,那么在删除其中的所有订阅之前我无法删除该优惠。 我的问题是:有没有办法获取资源组 $RG 中的每个资源 $A 以及该资源 $A 的所有依赖资源 $D 并删除它们?

资源组中可以有这么多类型的资源,我不确定除了“优惠”之外还有哪些其他资源可能具有必须先删除才能删除资源的依赖项。 例如,如果我的资源组中有虚拟机,是否需要先删除网络适配器?

在资源组中删除资源的层次结构是什么以及它们如何相互依赖。(我希望 Azurestack 中的每个资源都有一个依赖属性,这样您就可以看到需要删除的内容是什么以便能够删除该项目。

【问题讨论】:

    标签: azure-resource-group azure-stack


    【解决方案1】:

    5 个月大,但这可能对其他人有所帮助。如果打算删除与 RG 关联的资源,那么一种方法是要求 ARM 在“完整”部署选项中在您当前的 RG(具有资源)中部署无资源模板。在“完整”选项中,将部署模板中提到的任何资源,并且将删除模板中未提及的资源(在现有 RG 上)。因此,如果模板中没有指定资源,则应删除资源,并使用 ARM 提供的适当依赖和并行优势

    【讨论】:

      【解决方案2】:

      您还可以看到 ARM 在删除时如何决定依赖关系 - 如果您想一个一个地删除它们

      https://docs.microsoft.com/ga-ie/azure/azure-resource-manager/resource-group-delete?view=azurermps-6.10.0

      ========= 删除资源组时,资源管理器会确定删除资源的顺序。它使用以下顺序:

      所有子(嵌套)资源都被删除。

      接下来会删除管理其他资源的资源。资源可以设置 managedBy 属性以指示不同的资源管理它。设置此属性时,管理其他资源的资源在其他资源之前被删除。

      前两个类别后删除剩余资源

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-12
        • 2020-03-16
        • 1970-01-01
        相关资源
        最近更新 更多