Fügen Sie eine Terraform-Orchestration-Schnittstelle zu einem Ressourcenblock hinzu

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • Nachdem Sie die Terraform Store-App für aktiviert haben Cloud Provisioning and Governance, Zur Unterstützung cloudbasierter Vorgänge für Cloud-Anbieter mit Terraform Open Source Edition. Fügen Sie die Terraform-Orchestration-Schnittstelle im Ressourcenblock hinzu, um Cloud-basierte Vorgänge über Terraform-Vorlagen auszuführen.

    Vorbereitungen

    Erforderliche Rolle: sn_cmp.cmp_root_admin, sn_cmp.cloud_service_designer

    Prozedur

    1. Navigieren Sie im Cloud-Administratorportal zu Design > Ressourcenblockan.
    2. Klicken Sie beispielsweise auf den Ressourcenblock Azure-Rechenzentrum .
    3. Verschieben Sie den Status des Ressourcenblocks aus Veröffentlicht Bis Entwurf Um sie bearbeitbar zu machen.
    4. Navigieren zu Allgemeine Informationen > Gastschnittstelle, Und klicken Sie dann auf Neu .
    5. Suchen Sie nach, und wählen Sie aus Terraform-Orchestration-Schnittstelle Klicken Sie in der Liste Gastschnittstelle auf Übermitteln .
    6. Klicken Sie auf Vorgänge Registerkarte.
    7. In Eingabeparameter Registerkarte, navigieren Sie zu Schnittstelle Und wählen Sie aus Terraform-Orchestration-Schnittstelle
    8. Auf Eingabeparameter Registerkarte, konfigurieren Sie die CAPI-Vorgangseingaben.

      Auf der CAPI-Schnittstelle, die in diesem Fall ist Terraform-Orchestration-Schnittstelle , Offen Stapel erstellen Methode. Die Eingaben aus CAPI werden auf der Registerkarte „Eingabe“ angezeigt, auf der Sie Parameter erstellen.

      Die Eingabeparameter Auf der Registerkarte geben Anwender Werte ein. Sie können diese Eingabeparameter den Parametern auf zuordnen Eingabe Registerkarte. Kopieren Sie dazu Zuordnung Wert aus Eingabeparameter Registerkarte in Wert Feld auf Schritte > Eingabe Registerkarte

      Wenn dieser Schritt ein Skript aufruft und dieses Skript Argumente erfordert, um Werte zurückzugeben, können Sie für jedes Argument einen neuen Eingabeparameter hinzufügen. Verwenden Sie diese Syntax in Wert Feld: ${Parameter.arg1} .

    9. Klicken Sie auf Schritte Unterregisterkarte unter Vorgänge .
    10. Klicken Sie Auf Schritt Hinzufügen .
    11. Füllen Sie die Formularfelder aus.
      Feld Beschreibung
      Vorgangstyp

      Wählen Sie den Typ des Vorgangs aus.

      Rufen Sie die Cloud-API auf : Wählen Sie diese Option aus, um einen Anbieter, eine Schnittstelle und eine Methode aus dem CAPI auszuwählen.

      API-Anbieter

      Wählen Sie die API aus, die die benötigten Schnittstellen bereitstellt. Die Anbieter sind Teil der Cloud-API (CAPI).

      Beispiel: CAPI stellt bereit Terraform OpenSource Anbieter, der bereitstellt Konfigurations-Orchestration-Schnittstelle .

      Dieser Wert wird angezeigt, wenn Sie den Vorgangstyp „Cloud-API aufrufen“ auswählen.

      API-Schnittstelle Wählen Sie die Schnittstelle aus, die die Methoden enthält, die Sie verwenden möchten. Für dieses Beispiel ist Konfigurations-Orchestration-Schnittstelle Stellt mehrere Schnittstellen oder Methoden bereit, die das System während der Bereitstellung verwendet.
      API-Methode Wählen Sie die Methode aus, um den Vorgang auszuführen. In diesem Beispiel ExecuteCommand Ist zum Bereitstellen von Terraform-Vorlagen erforderlich.
      CAPI-Version Geben Sie die Version der CAPI-API ein.
      Bedingung Geben Sie eine optionale Bedingung ein, die erfüllt sein muss, bevor das System diesen Schritt verwendet.
    12. Klicken Sie auf Absenden.

      Die Eingabe Und Antwortprozessor Registerkarten werden für den Schritt angezeigt.

    13. Auf Eingabe Registerkarte, konfigurieren Sie die CAPI-Vorgangseingaben.

      Auf der CAPI-Schnittstelle, die in diesem Fall ist Konfigurations-Orchestration-Schnittstelle , Offen ExecuteCommand Methode. Die Eingaben aus CAPI werden auf der Registerkarte „Eingabe“ angezeigt, auf der Sie Parameter erstellen.

      Denken Sie daran, dass die Parameter auf Eingabeparameter Auf der Registerkarte geben Anwender Werte ein. Sie können diese Eingabeparameter den Parametern auf zuordnen Eingabe Registerkarte. Kopieren Sie Zuordnung Wert aus Eingabeparameter Registerkarte in Wert Feld auf Schritte > Eingabe Registerkarte

      Wenn dieser Schritt ein Skript aufruft und dieses Skript Argumente erfordert, um Werte zurückzugeben, können Sie für jedes Argument einen neuen Eingabeparameter hinzufügen. Verwenden Sie diese Syntax in Wert Feld: ${Parameter.arg1} .

      Hinweis:
      Ordnen Sie die Werte wie in der folgenden Tabelle für die folgenden Parameter zu:
      Parameter Wert
      Zusätzliche Parameter Geben Sie das folgende Skript ein:
      {"ServerType":"$(Script:sn_cmp_terraform.TerraformCommandUtils.
      getConfigProviderServerTypeByName[arg=${parameter.WorkloadConfigProvider}])"}
      ConfigMgmtProviderInfo
      $(capiResolver.NodeCredentialResolver#nodeCredentialId=$(ci.sn_cmp_wl_cfg_mgmt_provider
      [name=${parameter.WorkloadConfigProvider}].credential))
      Knotenadresse
      $(ci.cmdb_ci_workload_config_provider[name=${parameter.WorkloadConfigProvider}].url)
      Skript

      Für den CreateStack-Vorgang

      ${CloudScript.scripts.TerraformDeploy}
      Skript

      Für den Löschstapelvorgang

      ${CloudScript.scripts.DestroyTerraform}
    14. Auf Antwortprozessor Konfigurieren Sie die Antwortprozessoren, indem Sie Ressourcenskripts anhängen.
      Sie hätten dem Ressourcenblock beim Erstellen des Ressourcenblocks Ressourcenskripts hinzugefügt.
    15. Wählen Sie in der Liste „Vorgang“ die Option aus Stapel erstellen Oder Löschen Sie Stack Vorgang.
    16. Klicken Sie auf das Symbol „Hinzufügen“ Fügen Sie Den Antwortprozessor HinzuFür Fügen Sie Den Antwortprozessor Hinzu .
    17. Klicken Sie auf Ressourcenskript Untergeordnete Registerkarte und klicken Sie dann auf Neu .
    18. Füllen Sie das Formular aus.
      Tabelle : 1. Neuer Datensatz
      Feld Beschreibung
      Name Geben Sie einen Namen ein (z. B. Create_AzureTF_Stack_Response_Processor ) Für das Ressourcenskript.
      Typ Wählen Sie einen Typ aus ( Antwortprozessor ) Für das Skript.
      Skript

      Ressourcenskript für „Erstellen“

      Geben Sie das folgende Skript ein:
      function processResponse (response, cloudServiceAccountId, ldc,
      						  correlationId, step, requestorContext, stackId) {
      	var responseObject = global.JSON.parse(response);
      	var tfState = global.JSON.parse(responseObject.terraform.state);
      	var processor = new sn_cmp_terraform.TerraformResponseProcessor();
      	var processedResponses = processor.processResponse(tfState, cloudServiceAccountId,  ldc,
      							   correlationId, step, requestorContext, stackId);
      	return global.JSON.stringify(processedResponses);
      }
      
      Skript

      Ressourcenskript zum Löschen

      Geben Sie das folgende Skript ein:
      function processResponse (response, cloudServiceAccountId, ldc,
      						  correlationId, step, requestorContext, stackId) {
      	var responseObject = global.JSON.parse(response);
      	var tfState = global.JSON.parse(responseObject.terraform.state);
      	var processor = new sn_cmp_terraform.TerraformResponseProcessor();
      	var processedResponses = processor.processResponse(tfState, cloudServiceAccountId,  ldc,
      							   correlationId, step, requestorContext, stackId);
      	return global.JSON.stringify(processedResponses);
      }
      
    19. Von Skriptname Liste, wählen Sie das Skript aus, das dem ausgewählten Vorgang entspricht, und klicken Sie auf Übermitteln .
    20. Verschieben Sie den Status des Ressourcenblocks aus Entwurf Bis Veröffentlicht .
      Der Ressourcenblock des Rechenzentrums wird vom Status „Entwurf“ in den Status „veröffentlicht“ verschoben, und Sie können keine weiteren Änderungen am Ressourcenblock vornehmen. Sie können einen Ressourcenblock erst ändern, nachdem Sie den Status auf festgelegt haben Entwurf .