Criando uma Pilha com Base em um Compartimento Existente

Usando a descoberta de recursos, crie uma pilha no Resource Manager com base em um compartimento existente para gerar uma configuração do Terraform que descreva os recursos do compartimento.

Para obter mais informações sobre descoberta de recursos, consulte Descoberta de Recursos.

    1. Na página da lista Pilhas, selecione Criar pilha. Se precisar de ajuda para encontrar a página da lista ou a pilha, consulte Listando Pilhas.
    2. Na página Criar pilha, em Escolher a origem da configuração do Terraform, selecione Compartimento existente.
    3. Selecione o compartimento e a região que contêm os recursos que você deseja capturar.
    4. (Opcional) Para filtrar serviços específicos suportados para descoberta de recursos, selecione Selecionado e, em seguida, selecione os serviços que deseja.
      Observação

      Esta definição não pode ser alterada ao editar a pilha posteriormente.
    5. (Opcional) Para usar provedores personalizados, selecione Usar provedores personalizados e, em seguida, selecione o bucket que contém o provedor personalizado.
    6. (Opcional) Edite o nome da pilha padrão e informe uma descrição da pilha. Evite digitar informações confidenciais.
    7. Selecione o compartimento no qual deseja armazenar a pilha.
    8. (Opcional) Em Tags, adicione uma ou mais tags à pilha.
      Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deverá ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore esta opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
    9. Selecione Próximo duas vezes.
      Nenhuma variável está listada para a origem da pilha do Compartimento existente porque ainda não existe configuração do Terraform.
    10. No painel Revisão, verifique a configuração da pilha.
    11. Selecione Criar.
    Uma solicitação de serviço é executada na pilha. Quando a solicitação de trabalho termina, um job é executado para gerar um arquivo de configuração do Terraform para a pilha. Quando o job é finalizado, os recursos no compartimento selecionado são capturados na configuração gerada. Você pode recriar esses recursos em outro compartimento.
  • Use o comando oci resource-manager stack create-from-compartment e os parâmetros necessários para criar uma pilha com base em um compartimento.

    oci resource-manager stack create-from-compartment --compartment-id <compartment_OCID> --config-source-compartment-id <source_compartment_OCID> --config-source-region <region>
    Exemplo de Solicitação

    Por exemplo (descreve recursos suportados nos serviços core e database; o compartimento de origem não é um compartimento raiz):

    oci resource-manager stack create-from-compartment --config-source-compartment-id ocid1.tenancy.oc1..uniqueid1 --config-source-region PHX --config-source-services-to-discover [core,database] –-compartment-id ocid1.tenancy.oc1..uniqueid2 --terraform-version 0.13.X --display-name "Stack From Compartment ABC" --description "List of Resources to Duplicate"
    Exemplo de Resposta
    {
      "data": {
        "config-source": {
          "config-source-type": "COMPARTMENT_CONFIG_SOURCE"
        },
        "defined-tags": {},
        "display-name": "Stack from Compartment ABC",
        "freeform-tags": {},
        "id": "ocid1.ormstack.oc1..uniqueid",
        "lifecycle-state": "CREATING",
        "time-created": "2019-04-03T18:26:56.299000+00:00",
        "variables": {
          "compartment_ocid": "ocid1.compartment.oc1..uniqueid1", 
          "region": "us-phoenix-1"
        }
      }
    }
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..uniqueid2",
        "config-source": {
          "compartment-id": "ocid1.compartment.oc1..uniqueid1",
          "config-source-type": "COMPARTMENT_CONFIG_SOURCE",
          "region": "PHX",
          "working-directory": null
        },
        "defined-tags": {},
        "description": "List of Resources to Duplicate",
        "display-name": "Stack From Compartment ABC",
        "freeform-tags": {},
        "id": "ocid1.ormstack.oc1.phx.uniqueid",
        "lifecycle-state": "CREATING",
        "stack-drift-status": "NOT_CHECKED",
        "terraform-version": "0.12.x",
        "time-created": "2020-06-01T18:25:56.102000+00:00",
        "time-drift-last-checked": null,
        "variables": {}
      },
      "etag": "009010cb57f5162655c6a34f5ef8834f204a734df81e4baa696a7d830488ea25",
      "opc-work-request-id": "ocid1.ormworkrequest.oc1.phx.uniqueid"
    }

    Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Linha de Comando para o Resource Manager.

  • Use a operação CreateStack para criar uma pilha com base em um compartimento.

    Para obter um exemplo da parte configSource da solicitação, consulte CreateCompartmentConfigSourceDetails.

    Exemplo de solicitação
    POST /20180917/stacks
    Host: resourcemanager.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "compartmentId": "ocid1.compartment.oc1..<unique_ID>",
      "displayName": "My Compartment Configuration",
      "configSource": {
        "configSourceType": "COMPARTMENT_CONFIG_SOURCE",
        "compartmentId": "ocid1.compartment.oc1..<unique_ID>",
        "region": "us-phoenix-1"
      }
    }

O Que Fazer Em Seguida

Você pode fazer download do arquivo de configuração do Terraform gerado. Você também pode recriar a infraestrutura em outro compartimento.

Observação

Como alternativa, você pode exibir o arquivo de configuração do Terraform gerado no Code Editor. Para obter mais informações, consulte Editando uma Configuração Usando o Code Editor.