此次分享一个ARM Template的小技巧,ARM Template能够用来部署云资源,实际上他也能够用来删除云资源,这也是ARM Template的功能之一,在部署的时候其实咱们是能够指定操做方式的,默认状况下,后台会使用增量模式,也就是说ARM Template里的资源会被新增到环境中,若是在实际环境中存在,可是ARM Template中不存在的,会被系统忽略掉,不会认为不在ARM Template里定义就不该该存在,可是咱们也可使用complete mode,这种模式下,系统会严格按照ARM Template进行定义,不在ARM Template定义中的,系统会认为不该该存在与实际环境中,这种资源会被系统直接删除掉,因此这种模式实际上是很危险的,必定要慎用json
可是同时,咱们也能够用这种模式搞些事,好比删除一些咱们不须要的资源,像咱们平时作实验时,实验完成后资源其实就不须要了,能够直接删掉了,若是实验环境比较大,那么须要一项一项把资源清理掉,比较耗时间,也能够选择把资源组整个删除掉,可是下次作实验又须要从新建一个,这点其实terraform就比较方便了,能够直接用destroy清理掉建立的资源,ARM Template里能够用这种方式取个巧ide
在VS CODE里输入arm,而后选择arm!3d
生成的会是一个空的arm templateorm
能够看到资源组里如今是有资源的blog
接下来使用AzResourceGroupDeployment进行部署,注意这里指定了一个mode参数,值是complete,也就是说要求此次的部署要严格按照ARM Template里的定义来进行,不在定义里的都会被认为是不须要的资源图片
New-AzResourceGroupDeployment -ResourceGroupName 'test' -Mode complete -TemplateFile "D:\Tech\Cloud\Azure\ARM Template\Cleanup.json"资源
能够看到资源全都被清空了!部署
可是不是全部资源都会被完整模式清楚,这个表记录了哪些会被清楚,哪些不会it
https://docs.azure.cn/zh-cn/azure-resource-manager/templates/complete-mode-deletion?WT.mc_id=AZ-MVP-5001235io