Adicione a interface de Orquestração do terraform em um bloco de recursos

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Depois de ativar o app da loja terraform para Cloud Provisioning and Governance Para oferecer suporte a operações baseadas em nuvem para provedores de nuvem que usam terraform Open Source Edition. Adicione a interface Orquestração do terraform no bloco de recursos para executar operações baseadas em nuvem por meio de modelos do terraform.

    Antes de Iniciar

    Função necessária: sn_cmp.cmp_root_admin, sn_cmp.cloud_service_designer

    Procedimento

    1. No portal do Administrador de nuvem, navegue até Design > Bloco de Recursos.
    2. Clique no bloco de recursos, por exemplo Datacenter do Azure .
    3. Mova o estado do bloco de recursos de Publicado . Rascunho para torná-lo editável.
    4. Navegar até Informações gerais > Interface de Convidadoe, em seguida, clique em Novo .
    5. PESQUISE e selecione Interface de Orquestração do terraform Na lista Interface de convidado e clique em Enviar .
    6. Clique em Operações guia.
    7. Em Parâmetros de entrada , navegue até Interface e selecione Interface de Orquestração do terraform
    8. Em Parâmetros de entrada Configure as entradas de operação de CAPI.

      Na interface de CAPI, que neste caso é Interface de Orquestração do terraform em aberto CreateStack método. As entradas de CAPI são exibidas na guia Entrada, onde você cria parâmetros.

      . Parâmetros de entrada é onde os usuários inserem valores. Você pode mapear esses parâmetros de entrada para os parâmetros no Entrada guia. Para fazer isso, copie o. Mapeamento valor do Parâmetros de entrada tab para Valor . Etapas > Entrada guia.

      Se esta etapa estiver invocando um script e esse script exigir argumentos para retornar valores, você poderá adicionar um novo parâmetro de entrada para cada argumento. Use esta sintaxe no Valor campo: (parâmetro.arg1) .

    9. Clique em Etapas subguia em Operações .
    10. Clique em Adicionar Etapa .
    11. Preencha os campos de formulário.
      Campo Descrição
      Tipo de Operação

      Selecione o tipo de operação.

      Invoque API em nuvem : Selecione esta opção para selecionar um provedor, uma interface e um método de CAPI.

      Provedor de API

      Selecione a API que fornece as interfaces necessárias. Os provedores fazem parte da API de nuvem (CAPI).

      Por exemplo, o CAPI fornece o. Terraform OpenSource provedor, que fornece o. Interface de Orquestração de Configuração .

      Este valor aparecerá se você selecionar o tipo de operação Invocar API em nuvem.

      Interface de API Selecione a interface que tem os métodos que você deseja usar. Para este exemplo, Interface de Orquestração de Configuração fornece várias interfaces ou métodos, que o sistema usa durante o provisionamento.
      Método de API Selecione o método para executar a operação. Neste exemplo, Executar Comando é necessário para provisionar modelos do terraform.
      Versão de CAPI Insira a versão da API de CAPI.
      Condição Insira uma condição opcional que deve ser atendida antes que o sistema use esta etapa.
    12. Clique em Enviar.

      . Entrada e. Processador de resposta aparecem guias para a etapa.

    13. Em Entrada Configure as entradas de operação de CAPI.

      Na interface de CAPI, que neste caso é Interface de Orquestração de Configuração em aberto Executar Comando método. As entradas de CAPI são exibidas na guia Entrada, onde você cria parâmetros.

      Lembre-se de que os parâmetros no Parâmetros de entrada é onde os usuários inserem valores. Você pode mapear esses parâmetros de entrada para os parâmetros no Entrada guia. Copie o. Mapeamento valor do Parâmetros de entrada tab para Valor . Etapas > Entrada guia.

      Se esta etapa estiver invocando um script e esse script exigir argumentos para retornar valores, você poderá adicionar um novo parâmetro de entrada para cada argumento. Use esta sintaxe no Valor campo: (parâmetro.arg1) .

      Nota:
      Mapeie os valores conforme mencionado na tabela a seguir para os seguintes parâmetros:
      Parâmetro Valor
      Parâmetros adicionais Insira o seguinte script:
      {"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))
      Endereço do nó
      $(ci.cmdb_ci_workload_config_provider[name=${parameter.WorkloadConfigProvider}].url)
      Script

      Para operação CreateStack

      ${CloudScript.scripts.TerraformDeploy}
      Script

      Para operação DeleteStack

      ${CloudScript.scripts.DestroyTerraform}
    14. Em Processador de resposta configure os processadores de resposta anexando scripts de recursos.
      Você teria adicionado Scripts de recurso ao bloco de recursos ao criar o Bloco de recursos.
    15. Na lista Operação, selecione CreateStack ou Excluir Pilha operação.
    16. Clique no ícone adicionar Adicionar Processador de Respostapara Adicionar Processador de Resposta .
    17. Clique em Script de recurso subguia e clique em Novo .
    18. Preencha o formulário.
      Tabela 1. Novo registro
      Campo Descrição
      Nome Insira um nome (por exemplo, Create_AzureTF_Stack_Response_Processor ) para o script do recurso.
      Tipo Selecione um tipo ( Processador de resposta ) para o script.
      Script

      Script de recurso para criar

      Insira o seguinte script:
      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);
      }
      
      Script

      Script de recurso para exclusão

      Insira o seguinte script:
      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. Em Nome do script , selecione o script correspondente à operação selecionada e clique em Enviar .
    20. Mova o estado do bloco de recursos de Rascunho . Publicado .
      O bloco de recursos do datacenter passa do estado de rascunho para o estado publicado e você não pode fazer mais mudanças no bloco de recursos. Você só pode modificar um bloco de recursos depois de definir o status como Rascunho .