Přehled zprostředkovatele Terraform AzAPI
Zprostředkovatel AzAPI je dynamická vrstva nad rozhraními REST API Azure ARM. Poskytovatel AzAPI umožňuje spravovat libovolný typ prostředku Azure pomocí libovolné verze rozhraní API. Tento poskytovatel doplňuje poskytovatele AzureRM povolením správy nových prostředků a vlastností Azure (včetně privátní verze Preview).
Zdroje informací
Aby bylo možné spravovat všechny prostředky a funkce Azure bez nutnosti aktualizací, poskytovatel AzAPI obsahuje následující obecné prostředky:
Název prostředku | Popis |
---|---|
azapi_resource | Slouží k úplné správě jakéhokoli prostředku Azure (řídicí roviny) s úplným CRUD. Příklady případů použití: Nová služba Preview Nová funkce přidaná do existující služby Stávající funkce nebo služba, které nejsou aktuálně pokryté |
azapi_update_resource | Slouží ke správě prostředků nebo částí prostředků, které nemají úplné CRUD. Příklady případů použití: Aktualizace nových vlastností ve stávající službě Aktualizace předem vytvořeného podřízeného prostředku – například záznam DNS SOA |
Příklady konfigurace prostředků
Následující fragment kódu konfiguruje prostředek, který aktuálně neexistuje ve zprostředkovateli AzureRM:
resource "azapi_resource" "publicip" {
type = "Microsoft.Network/Customipprefixes@2021-03-01"
name = "exfullrange"
parent_id = azurerm_resource_group.example.id
location = "westus2"
body = jsonencode({
properties = {
cidr = "10.0.0.0/24"
signedMessage = "Sample Message for WAN"
}
})
}
Následující fragment kódu nakonfiguruje vlastnost Preview pro existující prostředek z AzureRM:
resource "azapi_update_resource" "test" {
type = "Microsoft.ContainerRegistry/registries@2020-11-01-preview"
resource_id = azurerm_container_registry.acr.id
body = jsonencode({
properties = {
anonymousPullEnabled = var.bool_anonymous_pull
}
})
}
Ověřování pomocí zprostředkovatele AzAPI
Zprostředkovatel AzAPI umožňuje stejné metody ověřování jako poskytovatel AzureRM. Další informace o možnostech ověřování najdete v tématu Ověřování Terraformu v Azure.
Výhody použití poskytovatele AzAPI
Poskytovatel AzAPI má následující výhody:
- Podporuje všechny služby Azure:
- Služby a funkce privátní verze Preview
- Služby a funkce ve verzi Public Preview
- Všechny verze rozhraní API
- Úplná věrnost souboru stavu Terraformu
- Vlastnosti a hodnoty se ukládají do stavu.
- Bez závislosti na Swaggeru
- Běžné a konzistentní ověřování Azure
Zkušenosti a životní cyklus poskytovatele AzAPI
Tato část popisuje některé nástroje, které vám pomůžou používat poskytovatele AzAPI.
Rozšíření VS Code a jazykový server
Rozšíření AzAPI VS Code poskytuje bohaté prostředí pro vytváření obsahu s následujícími výhodami:
- Intellisense
- Automatické dokončování kódu
- Tipy
- Ověření syntaxe
- Rychlé informace
Nástroj pro migraci AzAPI2AzureRM
Poskytovatel AzureRM poskytuje nejvíce integrované prostředí Terraformu pro správu prostředků Azure. Proto doporučené použití poskytovatelů AzAPI a AzureRM je následující:
- Zatímco je služba nebo funkce ve verzi Preview, použijte poskytovatele AzAPI.
- po oficiálním vydání služby použijte poskytovatele AzureRM.
Nástroj AzAPI2AzureRM je navržený tak, aby pomohl migrovat z poskytovatele AzAPI na poskytovatele AzureRM.
AzAPI2AzureRM je opensourcový nástroj, který automatizuje proces převodu prostředků AzAPI na prostředky AzureRM.
AzAPI2AzureRM má dva režimy: plánování a migrace:
- Plán zobrazí prostředky AzAPI, které je možné migrovat.
- Migruje prostředky AzAPI do prostředků AzureRM v souborech HCL i ve stavu.
AzAPI2AzureRM zajišťuje po migraci, že konfigurace a stav Terraformu odpovídají vašemu skutečnému stavu. Stav můžete ověřit spuštěním terraform plan
po dokončení migrace a zjistit, že se nic nezměnilo.
Použití poskytovatele AzAPI
Instalace rozšíření VS Code
Přidejte zprostředkovatele AzAPI do konfigurace Terraformu.
terraform { required_providers { azapi = { source = "Azure/azapi" } } } provider "azapi" { # More information on the authentication methods supported by # the AzureRM Provider can be found here: # https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs # subscription_id = "..." # client_id = "..." # client_secret = "..." # tenant_id = "..." }
Deklarujte jeden nebo více prostředků AzAPI, jak je znázorněno v následujícím ukázkovém kódu:
resource "azapi_resource" "example" { name = "example" parent_id = data.azurerm_machine_learning_workspace.existing.id type = "Microsoft.MachineLearningServices/workspaces/computes@2021-07-01" location = "eastus" body = jsonencode({ properties = { computeType = "ComputeInstance" disableLocalAuth = true properties = { vmSize = "STANDARD_NC6" } } }) }
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro