API de nuvem (CAPI)

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • A API de nuvem (CAPI) permite que você integre Cloud Provisioning and Governance Com provedores de nuvem que usam REST APIs.

    Componentes de CAPI

    A integração com provedores de nuvem é realizada por meio de chamadas REST, como PUT, GET, POST e DELETE. O CAPI fornece a estrutura para que você integre uma REST API de fornecedores de nuvem para que sua instância possa se comunicar com o provedor de nuvem para gerenciar recursos de nuvem.

    Consulte Browse APIs by product para saber mais.

    CAPI contém estes componentes:
    Figura 1. Visão geral de CAPI
    Visão geral de CAPI
    Provedores

    Provedores de nuvem são as nuvens às quais você pode se conectar. Por padrão, Cloud Provisioning and Governance Inclui os provedores mais usados, como AWS, Azure e VMware. Cada provedor tem muitos produtos, cada um dos quais fornece tipos de recursos. Cada tipo de recurso é mapeado para um único tipo de IC. Por exemplo, o. AWS providerinclui o. AWS Elastic Compute Cloudproduto, que inclui AWS::EC2::Instancetipo de recurso. Este tipo de recurso é um dos recursos de nuvem mais comuns que você pode criar. Ele é mapeado diretamente para o tipo de IC da Instância de máquina virtual [cmdb_ci_vm_instance], onde as máquinas virtuais são salvas no CMDB.

    Interfaces

    As interfaces definem a estrutura de que o sistema precisa para estruturar as chamadas REST esperadas pelas APIs do provedor de nuvem. Interfaces definidas operações , também chamado métodos e parâmetros que cada método requer.

    As interfaces são reutilizáveis. Se você estender o CAPI para incluir novos produtos e APIs, poderá usar as interfaces existentes para fazer as mesmas chamadas REST.

    APIs

    CAPI APIs são o componente principal do CAPI que une um produto e uma interface. As APIs incluem o código real que o sistema executa.

    Cada API de CAPI inclui estes componentes:
    • Mapeadores de método de CAPI forneça os métodos que são mapeados para as operações definidas na interface. Dos mapeadores de método CAPI, você cria MID Server Inclusões de script em JavaScript para informar ao provedor de nuvem exatamente o que fazer. É por meio das inclusões de script que ocorre a conexão com o provedor de nuvem.
      Nota:
      Se você criar APIs de CAPI personalizadas, o sistema fornecerá uma inclusão de script vazio para você personalizar. Você também pode modificar inclusões de script existentes em mapeadores de método, se necessário. No entanto, muitas das APIs padrão que vêm com Cloud Provisioning and Governance a aplicação não usa inclusões de script modificáveis. As conexões são codificadas em Java. Você ainda pode usar essas APIs em novos blocos de recursos criados, mas não pode modificar as APIs.
    • Substituições de configuração de API conter a identidade, como uma chave, e credenciais, como a chave secreta, e outros parâmetros importantes exigidos pelo provedor de nuvem. Esses parâmetros ajudam o provedor de nuvem a executar as operações na lista relacionada Mapeadores de método de CAPI. As substituições de configuração de API são necessárias porque, quando o sistema chama a API do provedor de nuvem via REST, os dados de credencial não são incluídos. Os blocos de recursos usam os parâmetros e os valores que você define nas Substituições de configuração da API para consultar o armazenamento de credenciais. Quando sua API é executada, os atributos são disponibilizados para todas as chamadas de método em suas inclusões de script.

      As substituições têm escopo somente para esta API. As substituições não substituem nada em outras APIs.

    Como você pode definir várias versões de uma API de CAPI com pequenas variações, você pode estender (sem substituir) uma API existente, mantendo a funcionalidade desejada.

    Esta imagem ilustra os componentes de CAPI que são usados quando você provisiona uma máquina virtual do Azure usando as configurações de CAPI padrão fornecidas com Cloud Provisioning and Governance:
    Figura 2. CAPI Azure
    CAPI Azure

    Neste exemplo, Microsoft.Computeo produto está contido no Azureprovedor. O Azure usa o. Microsoft.Computeproduto para máquinas virtuais. Em sua instância, o Microsoft.Computemapeia o produto para Microsoft.Compute/virtualMachinestipo de recurso, que está associado ao Virtual Machine InstanceTipo de IC no CMDB.

    . Computea interface contém definições para métodos como CreateNode, que define como criar a máquina virtual real. Dos muitos parâmetros que CreateNodeusos, Locationcaptura o datacenter onde a máquina virtual reside.

    . Azure Compute APIreúne o. Microsoft.Computee a estrutura definida em Computeinterface. A implementação do CreateNodeo método chama o. azure-compute-1.0-CreateNode MID Server inclusão de script, que chama o. AzureComputeVirtualMachine MID Server inclusão de script. As inclusões de script fazem as chamadas reais para a API do Azure. Para acessar a conta do Azure, o. SecretKey, ClientID, TenantIDE outros métodos são passados em Substituições de configuração.

    Como o CAPI se integra à instância

    O CAPI integra estes componentes em sua instância:
    Cloud Provisioning and Governance blocos de recursos

    Um bloco de recursos representa um único recurso de nuvem, como um servidor virtual, armazenamento de servidor virtual ou um datacenter. Você também pode pensar nisso como um tipo de IC no CMDB. Você reúne muitos blocos de recursos em um plano gráfico, que aparece como um item do catálogo (também chamado de pilha) para seus usuários no Catálogo na nuvem.

    Cada bloco de recursos é como um contêiner que faz referência a CAPI e vincula respostas do provedor de nuvem a um IC específico. Uso de blocos de recursos:
    • Etapas operacionais Que chamam o CAPI para cada operação, como a operação de provisionamento, e transmitem os valores de parâmetro necessários que o provedor de nuvem precisa para executar a operação.
    • Processadores de resposta Que processam e analisam a resposta REST DO provedor e atualizam registros no CMDB.
    CMDB

    Cada bloco de recursos é baseado em um tipo de IC do CMDB. Para Cloud Provisioning and Governance, Todos os tipos de IC relacionados à nuvem são baseados em Virtual Machine Object CI, que fornece todos os atributos necessários para todos os recursos de nuvem compatíveis por padrão. Se um tipo de IC para um recurso de nuvem não existir no sistema base, Você deve criar uma nova classe de IC e adicionar os atributos necessários.

    Se você criar uma nova classe de IC, também deverá criar:
    • . Classe de IC para cada um dos recursos disponíveis para seus usuários. Todas as classes de IC são baseadas na classe de objeto da máquina virtual.
    • Um regra de identificação Que especifica um ID de objeto. Sempre que componentes de Gestão de nuvem Consulte um recurso de nuvem específico no CMDB. Ele precisa do ID do objeto para encontrar o recurso de nuvem correto.
    • . regra de relacionamento Que especifica como a classe de IC do recurso está relacionada a outras classes de IC. Por exemplo, um virtual serverO IC deve ter um Hosted on::Hostsrelacionamento com um datacenterIC. Essas regras de relacionamento são necessárias para Exclusividade de IC Quando processado pelo Mecanismo de Identificação e Reconciliação (IRE). A combinação da conta de serviço, o ID do objeto do recurso e o datacenter (ou local) onde o recurso está localizado determina a exclusividade.
    MID Server inclusão de script
    Cada operação na API de CAPI tem um MID Server inclusão de script que você configura. A inclusão de script chama as classes JavaScript que já estão em outras inclusões de script no sistema ou as classes JavaScript que você cria. Por fim, a classe invocador é chamada para acionar a chamada REST. MID Server as inclusões de script são configuradas no seu ServiceNow instância, mas executado no MID Server.

    Esta imagem ilustra como os componentes funcionam juntos quando um usuário provisiona um recurso do Portal de usuário da nuvem:

    CAPI e sua instância

    Chamadas REST para o provedor de nuvem

    As chamadas REST para o provedor de nuvem são acionadas a partir do MID Server Inclusões de script que são referenciadas a partir de mapeadores de método CAPI com script dentro de registros da API CAPI. Para criar suas próprias APIs de CAPI ou para criar personalizadas MID Server Inclusões de script (que fazem parte dos mapeadores de método CAPI), você deve entender:
    Por exemplo, para saber como fazer uma chamada REST para o Azure para criar um grupo de recursos, revise este tópico do Azure: Grupos de recursos - Criar ou atualizar . Você pode encontrar o endpoint, os parâmetros e o corpo da solicitação que o Azure requer e as respostas que ele fornece. Você pode ver que:
    • O endpoint é management.azure.com
    • O método a ser chamado com uma operação PUT é SubscriptionId/resourcegroups/resourceGroupName?api-version 2018-02-01 , Onde você especifica o ID da assinatura, o nome do grupo de recursos e a versão da API.

    Lembre-se de que as chamadas DA REST API ocorrem dentro do MID Server Inclusões de script associadas a mapeadores de método de API CAPI. Chame os métodos que o CAPI já disponibiliza para você usando as classes estendidas de CloudAPIBasee. CloudRESTAPIInvoker. Você também pode criar mais inclusões de script para estender essas classes de base e criar suas próprias classes. Familiarize-se com essas classes de base e os métodos disponíveis nelas.

    Comece aqui

    1. Revise as APIs de CAPI fornecidas com Cloud Provisioning and Governance por padrão.
    2. Revise as classes de CAPI fornecidas por padrão . Essas classes podem ser chamadas do MID Server Inclusões de script em suas operações de API de CAPI.
    3. Percorrer o provisionamento de um Máquina virtual do Azure e um Máquina virtual da AWS para ver como os componentes funcionam juntos. O passo a passo do Azure usa um MID Server Inclusão de script para que você possa ver as várias classes de CAPI usadas na operação de provisionamento. O passo a passo da AWS não usa um MID Server inclusão de script.
    4. Adicione um produto a um provedor existente no CAPI.
    5. Crie uma classe de IC para um recurso de nuvem virtual.
    6. Crie ou estenda uma interface de CAPI.
    7. Crie uma API de CAPI e um personalizado MID Server Inclusão de script que faz as chamadas REST para o provedor de nuvem. Um vazio MID Server A inclusão de script é sempre gerada para novas APIs de CAPI. Modifique-o com as chamadas para outras classes e métodos JavaScript, como os métodos na classe Invoker.