Criar um Compartimento

Use o Terraform para se conectar à sua conta do Oracle Cloud Infrastructure e criar um compartimento em sua tenancy.

As principais tarefas incluem:

  • Use os recursos do provedor Terraform do Oracle Cloud Infrastructure para:
    • Declarar um compartimento com suas especificações.
    • Criar o compartimento em sua tenancy.
Um diagrama de um usuário conectado de uma máquina local a uma tenancy do Oracle Cloud Infrastructure. O ambiente local é o Linux e tem o Terraform instalado. Há uma seta do Terraform no ambiente local, para o Registro do Terraform e para a tenancy, apontando para um compartimento. Essas setas sugerem que o usuário criou um compartimento na tenancy usando o Terraform e o Registro do Terraform.

Para obter mais informações, consulte:

1. Preparar

Prepare seu ambiente para autenticar e executar seus scripts do Terraform. Além disso, colete todas as informações necessárias para concluir o tutorial.

Obter Informações da Tenancy

Colete as informações a seguir da Console do Oracle Cloud e copie-as para seu bloco de notas.

  • OCID da Tenancy: <tenancy-ocid>
    1. No menu de navegação, selecione o menu Perfil Ícone do menu Perfil e selecione Tenancy: <your_tenancy_name>.
    2. Ao lado de OCID, selecione Copiar.

      O OCID da tenancy é copiado para a área de transferência.

Adicionar Política de Compartimento

Se seu nome de usuário estiver no grupo Administrators, ignore esta seção. Caso contrário, peça ao administrador para adicionar a seguinte política à sua tenancy:

allow group <a-group-your-username-belongs-to> to manage compartments in tenancy

Com esse privilégio, você pode criar um compartimento para todos os recursos do seu tutorial.

Etapas para Adicionar a Política
  1. Acesse a Console do Oracle Cloud.
  2. No menu de navegação , selecione o menu Perfil Ícone do menu Perfil e, em seguida, selecione Definições do usuário ou Meu perfil, dependendo da opção que você vir.
  3. Selecione Grupos ou Meus grupos, dependendo da opção exibida.
  4. Em um bloco de notas, copie o nome de um grupo ao qual seu nome de usuário pertence.
  5. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Políticas.
  6. Selecione o compartimento: <your-tenancy>(root)
  7. Selecione Criar Política.
  8. Na página Criar Política, informe os seguintes valores:
    • Nome: manage-compartments
    • Descrição: Allow the group <a-group-your-username-belongs-to> to list, create, update, delete and recover compartments in the tenancy.
    • Compartimento: <your-tenancy>(root)
  9. Para Criador de Política, selecione Mostrar editor manual.
  10. Cole na seguinte política:
    allow group <a-group-your-username-belongs-to> to manage compartments in tenancy
  11. Selecione Criar.

Referência: Detalhes para Combinações de Verbos + Tipo de Recurso (consulte o tipo de recurso compartments)

2. Criar Scripts

Crie scripts para autenticação, para criar um compartimento e para imprimir saídas.

Adicionar Autenticação
Primeiro, configure um diretório para seus scripts do Terraform. Em seguida, copie o provedor e os scripts de versões do tutorial Configurar OCI Terraform para que sua conta do Oracle Cloud Infrastructure possa autenticar os scripts em execução nesse diretório.
  1. No diretório $HOME, crie um diretório chamado tf-compartment e passe para esse diretório.
    mkdir tf-compartment
    cd tf-compartment
  2. Copie o arquivo provider.tf para o diretório tf-compartment.
    cp ../tf-provider/provider.tf .
  3. Copie o arquivo versions.tf para o diretório tf-compartment.
    cp ../tf-provider/versions.tf .
Declarar um Recurso de Compartimento

Declare um recurso de compartimento do Oracle Cloud Infrastructure e defina as especificações do compartimento.

  1. Crie um arquivo denominado compartment.tf.
  2. Adicione o código a seguir a compartment.tf.
    • Substitua <tenancy-ocid> pelas informações coletadas em Obter Informações da Tenancy.

      O compartment_id é o OCID do compartimento principal. Use o compartimento raiz como o principal. O OCID da tenancy é o OCID do compartimento para o compartimento raiz.

    • Substitua <your-compartment-name> pelo nome de sua escolha.
    
    resource "oci_identity_compartment" "tf-compartment" {
        # Required
        compartment_id = "<tenancy-ocid>"
        description = "Compartment for Terraform resources."
        name = "<your-compartment-name>"
    }
  3. Salve o arquivo compartment.tf.
Explicação

No Terraform, os recursos são objetos como redes virtuais na nuvem ou instâncias de computação. Você pode criá-los, atualizá-los e excluí-los com o Terraform.

Para declarar um recurso de compartimento:

  1. Vá para Provedor do Oracle Cloud Infrastructure.
  2. Na caixa Filtro no canto superior esquerdo, digite compartment.

    Os resultados são retornados para origens de dados e recursos.

  3. Em Identidade, vá para Recursos e selecione oci_identity_compartment.

    O título da página é o tipo de recurso: oci_identity_compartment

    Os argumentos obrigatórios são listados em Referência de Argumento:

    • compartment_id
    • description
    • name
  4. Construa um bloco de recursos:
    • Declarar um bloco de recursos com a palavra-chave: resource
    • Adicione um label para o tipo do recurso: "oci_identity_compartment"
    • Adicione um label para um nome local de sua escolha:
      • O label pode conter letras, dígitos, sublinhados (_) e hifens (-). O primeiro caractere não deve ser um dígito.
      • Exemplo: "tf-compartment"
    • Dentro do bloco de código, forneça um valor para os argumentos obrigatórios. Eles não têm valores padrão.
    • Para argumentos opcionais, forneça valores para os quais você deseja substituir. Caso contrário, seus valores padrão serão usados.
Adicionar Saídas

Adicione blocos de saída ao seu código para obter informações sobre seu compartimento após o Terraform criar o compartimento.

  1. No diretório tf-compartment, crie um arquivo chamado outputs.tf.
  2. Adicione o código a seguir a outputs.tf.
    # Outputs for compartment
    
    output "compartment-name" {
      value = oci_identity_compartment.tf-compartment.name
    }
    
    output "compartment-OCID" {
      value = oci_identity_compartment.tf-compartment.id
    }
  3. Salve o arquivo outputs.tf.
  4. Liste todos os arquivos no diretório tf-compartment.
    ls

    Certifique-se de que os seguintes arquivos estejam presentes no mesmo diretório:

    • compartment.tf
    • outputs.tf
    • provider.tf
    • versions.tf
Explicação
  • Vá para Referência de Atributos (oci_identity_compartment).
    Observação

    Os atributos são as saídas que você pode retornar para o recurso oci_identity_compartment.
  • Decida quais atributos devem ser produzidos.
  • Construa um bloco de saída de recurso:
    • Declarar um bloco de saída com a palavra-chave: output
    • Adicione um rótulo a ser impresso com os resultados de saída:
      • O label pode conter letras, dígitos, sublinhados (_) e hifens (-). O primeiro caractere não deve ser um dígito.
      • Exemplo: "compartment-name"
    • Dentro do bloco de código, informe um valor para a saída de recurso com a expressão:
      • value = <type>.<local-name-for-resource>.<attribute>
      • Exemplo: value = oci_identity_compartment.tf-compartment.id
    • Crie um bloco de saída para cada saída.

3. Criar um Compartimento

Execute seus scripts do Terraform. Depois que sua conta autenticar os scripts, o Terraform criará um compartimento em sua tenancy.

Inicializar
Inicialize um diretório de trabalho no diretório tf-compartment.
terraform init

Exemplo de saída:

Initializing the backend...

Initializing provider plugins...

Terraform has been successfully initialized!
Plano
Crie um plano de execução para verificar se as alterações mostradas no plano de execução correspondem às suas expectativas, sem alterar os recursos reais.
terraform plan

A saída esperada inclui a linha Plan: 1 to add, 0 to change, 0 to destroy.

Exemplo de saída:

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with
the following symbols:
  + create

Terraform will perform the following actions:

  # oci_identity_compartment.tf-compartment will be created
  + resource "oci_identity_compartment" "tf-compartment" {
      + compartment_id = "ocid1.tenancy.xxx"
      + defined_tags   = (known after apply)
      + description    = "Compartment for Terraform resources."
      + freeform_tags  = (known after apply)
      + id             = (known after apply)
      + inactive_state = (known after apply)
      + is_accessible  = (known after apply)
      + name           = "<your-compartment-name>"
      + state          = (known after apply)
      + time_created   = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + compartment-OCID = (known after apply)
  + compartment-name = "<your-compartment-name>"
Aplicação
  1. Crie seu compartimento com o Terraform:
    terraform apply

    Quando for solicitada a confirmação, digite yes para que seu recurso seja criado.

  2. (Opcional) Assista à criação na Console:
    • Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Compartimentos.
    • Atualize a página até ver o nome do compartimento.
    • Selecione o nome do compartimento para ver seus detalhes, como seu OCID.
  3. No terminal de saída, revise as saídas definidas.

    Exemplo de saída:

    oci_identity_compartment.tf-compartment: Creating...
    oci_identity_compartment.tf-compartment: Creation complete after 9s [id=xxx]
    
    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
    
    Outputs:
    
    compartment-OCID = ocid1.compartment.xxx
    compartment-name = <your-compartment-name>

Parabéns! Você acessou e criou com sucesso um compartimento em sua tenancy, usando o provedor Terraform do Oracle Cloud Infrastructure.

Referências: