Übersicht über den Terraform AzAPI-Anbieter
Der AzAPI-Anbieter ist eine dünne Ebene über den Azure ARM-REST-APIs. Mit dem AzAPI-Anbieter können Sie jeden Azure-Ressourcentyp mithilfe einer beliebigen API-Version verwalten. Dieser Anbieter ergänzt den AzureRM-Anbieter, indem es die Verwaltung neuer Azure-Ressourcen und -Eigenschaften (einschließlich privater Vorschau) ermöglicht.
Ressourcen
Damit Sie alle Azure-Ressourcen und -Features verwalten können, ohne Dass Updates erforderlich sind, enthält der AzAPI-Anbieter die folgenden generischen Ressourcen:
Ressourcenname | Beschreibung |
---|---|
azapi_resource | Wird verwendet, um alle Azure-Ressourcen (Control Plane) (API) mit vollständiger CRUD vollständig zu verwalten. Beispielanwendungsfälle: Neuer Vorschaudienst Neues Feature zum vorhandenen Dienst hinzugefügt Vorhandene Features/Dienste, die derzeit nicht abgedeckt sind |
azapi_update_resource | Wird verwendet, um Ressourcen oder Teile von Ressourcen zu verwalten, die nicht über vollständige CRUD verfügen Beispielanwendungsfälle: Aktualisieren neuer Eigenschaften für einen vorhandenen Dienst Aktualisieren Sie die zuvor erstellte untergeordnete Ressource – z. B. DNS-SOA-Eintrag. |
Ressourcenkonfigurationsbeispiele
Der folgende Codeausschnitt konfiguriert eine Ressource, die derzeit nicht im AzureRM-Anbieter vorhanden ist:
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"
}
})
}
Der folgende Codeausschnitt konfiguriert eine Vorschaueigenschaft für eine vorhandene Ressource aus 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
}
})
}
Authentifizierung mithilfe des AzAPI-Anbieters
Der AzAPI-Anbieter ermöglicht die gleichen Authentifizierungsmethoden wie der AzureRM-Anbieter. Weitere Informationen zu Authentifizierungsoptionen finden Sie unter Authentifizieren von Terraform bei Azure.
Vorteile der Verwendung des AzAPI-Anbieters
Der AzAPI-Anbieter bietet die folgenden Vorteile:
- Unterstützt alle Azure-Dienste:
- Private Vorschaudienste und Features
- Öffentliche Vorschaudienste und -features
- Alle API-Versionen
- Vollständige Terraform-Zustandsdateitreue
- Eigenschaften und Werte werden im Zustand gespeichert.
- Keine Abhängigkeit von Swagger
- Allgemeine und konsistente Azure-Authentifizierung
Erfahrung und Lebenszyklus des AzAPI-Anbieters
In diesem Abschnitt werden einige Tools beschrieben, die Ihnen bei der Verwendung des AzAPI-Anbieters helfen.
VS Code-Erweiterung und Sprachserver
Die AzAPI VS Code-Erweiterung bietet eine umfangreiche Erstellungserfahrung mit den folgenden Vorteilen:
- Intellisense
- Automatische Codevervollständigung
- Hinweise
- Syntaxüberprüfung
- QuickInfo
AzAPI2AzureRM-Migrationstool
Der AzureRM-Anbieter bietet die integriertste Terraform-Oberfläche für die Verwaltung von Azure-Ressourcen. Daher lautet die empfohlene Verwendung der AzAPI- und AzureRM-Anbieter wie folgt:
- Während sich der Dienst oder das Feature in der Vorschau befindet, verwenden Sie den AzAPI-Anbieter.
- Nachdem der Dienst offiziell veröffentlicht wurde, verwenden Sie den AzureRM-Anbieter.
Das AzAPI2AzureRM-Tool wurde entwickelt, um die Migration vom AzAPI-Anbieter zum AzureRM-Anbieter zu unterstützen.
AzAPI2AzureRM ist ein Open-Source-Tool, das das Konvertieren von AzAPI-Ressourcen in AzureRM-Ressourcen automatisiert.
AzAPI2AzureRM verfügt über zwei Modi: Planen und Migrieren:
- Plan zeigt die AzAPI-Ressourcen an, die migriert werden können.
- Migrieren Sie die AzAPI-Ressourcen zu AzureRM-Ressourcen sowohl in den HCL-Dateien als auch im Zustand.
AzAPI2AzureRM stellt nach der Migration sicher, dass Ihre Terraform-Konfiguration und ihr Zustand mit Ihrem tatsächlichen Zustand ausgerichtet sind. Sie können überprüfen, ob der Status aktualisiert wurde, indem Sie nach Abschluss der Migration ausführen terraform plan
, um zu sehen, dass sich nichts geändert hat.
Verwenden des AzAPI-Anbieters
Installieren der VS Code-Erweiterung
Fügen Sie den AzAPI-Anbieter zu Ihrer Terraform-Konfiguration hinzu.
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 = "..." }
Deklarieren Sie eine oder mehrere AzAPI-Ressourcen wie im folgenden Beispielcode dargestellt:
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" } } }) }
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für