[英]How do I migrate a Pulumi Azure resource to Azure-Nextgen?
我正在嘗試將 Azure 存儲帳戶(最初使用舊版 Azure 提供程序創建)的 pulumi 代碼遷移到 Azure-Nextgen 提供程序。 Aliases
屬性未按預期工作。 這是可能的,還是我錯過了一些明顯的東西?:
原來的:
var storageAccount = new Account($"storage_{storageName}", new AccountArgs
{
Name = $"{storageName}",
ResourceGroupName = resourceGroup.Name,
AccountReplicationType = "LRS",
AccountTier = "Standard",
Location = resourceGroup.Location,
IsHnsEnabled = true,
MinTlsVersion = "TLS1_2"
},
new CustomResourceOptions()
{
Protect = true
});
新的:
var storageAccount = new StorageAccount($"storage_{storageName}",
new StorageAccountArgs()
{
AccountName = $"{storageName}",
Location = location,
ResourceGroupName = resourceGroup.Name,
Kind = Kind.StorageV2,
AccessTier = AccessTier.Hot,
Sku = new SkuArgs()
{
Name = SkuName.Standard_LRS
},
IsHnsEnabled = true,
MinimumTlsVersion = MinimumTlsVersion.TLS1_2
},
new CustomResourceOptions()
{
Protect = true,
Aliases =
{
new Alias
{
Urn = "urn:pulumi:myEnvironment::myStack::azure:storage/account:Account::storage_storageName"
}
}
});
控制台中的Pulumi預覽:
azure:storage:Account (storage_storageName):
error: Preview failed: refusing to delete protected resource 'urn:pulumi:myEnvironment::myStack::azure:storage/account:Account::storage_storageName'
別名不適用於提供者。 “經典” Azure 提供程序中的資源形狀與下一代原生 Azure 提供程序不同,因此 state 不兼容。
您必須遵循以下手動過程:
使用 NextGen 將現有存儲帳戶作為新資源導入
pulumi import azure-nextgen:storage/latest:StorageAccount storage /subscriptions/01234567-89ab-cdef-0123-456789abcdef/resourceGroups/my-rgca05c9f8/providers/Microsoft.Storage/storageAccounts/storagea791686
上面的命令將導入 state 並為您打印出代碼。 將代碼復制到您的程序中。
現在,從您的 state(不是從 Azure)中刪除舊資源
pulumi state delete urn:pulumi:dev::ts::azure:storage/account:Account::storage
從您的 Pulumi 程序中刪除舊資源。
運行pulumi up
以確保一切正常。 您應該看不到任何變化。
在接下來的幾周內會有一個遷移指南,當它出來時我會用一個鏈接更新這個答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.