此次分享一個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