簡體   English   中英

如何將 Pulumi Azure 資源遷移到 Azure-Nextgen?

[英]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 不兼容。

您必須遵循以下手動過程:

  1. 使用 NextGen 將現有存儲帳戶作為新資源導入

    pulumi import azure-nextgen:storage/latest:StorageAccount storage /subscriptions/01234567-89ab-cdef-0123-456789abcdef/resourceGroups/my-rgca05c9f8/providers/Microsoft.Storage/storageAccounts/storagea791686
  2. 上面的命令將導入 state 並為您打印出代碼。 將代碼復制到您的程序中。

  3. 現在,從您的 state(不是從 Azure)中刪除舊資源

    pulumi state delete urn:pulumi:dev::ts::azure:storage/account:Account::storage
  4. 從您的 Pulumi 程序中刪除舊資源。

  5. 運行pulumi up以確保一切正常。 您應該看不到任何變化。

在接下來的幾周內會有一個遷移指南,當它出來時我會用一個鏈接更新這個答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM