IBM Cloud Docs
Criação de espaços de trabalho e importação de seu Terraform

Criação de espaços de trabalho e importação de seu Terraform

Use um Schematics para gerenciar seus recursos do IBM Cloud Schematics usando o Terraform. As configurações da área de trabalho definem o mecanismo do Terraform hospedado em um repositório do Git a ser usado, juntamente com quaisquer variáveis de entrada para customizar o modelo

O IBM Cloud Schematics descontinua a versão mais antiga do Terraform. Para obter mais informações, consulte Descontinuando a versão mais antiga do processo do Terraform no IBM Cloud Schematics.

IBM Cloud Schematics descontinua a criação da área de trabalho usando o modelo IBM Cloud Provider Plug-in for Terraform v1.2, v1.3 da 2nd semana de abril de 2024.

Antes de Iniciar

Certifique-se de que o ponto de extremidade location e url estejam apontando para a mesma região quando você criar ou atualizar os espaços de trabalho e as ações Schematics. Para obter mais informações sobre local e terminal, consulte Onde suas informações estão armazenadas?

Criação de um espaço de trabalho usando a interface do usuário

  1. Faça login no consoleIBM Cloud.
  2. Clique no ícone de hambúrguer Menu > Platform Automation > Schematics > Terraform > Create workspace.
    • Na seção Specify Template (Especificar modelo ):
      • URL do repositório do GitHub, GitLab, ou Bitbucket- <provide your Terraform Git repository URL.

      • Token de acesso pessoal- <leave it blank>. Você pode clicar em Open reference picker para selecionar sua referência de chave Secrets Manager. Para obter mais informações, consulte a criação de uma instância do Secrets Manager.

      • Versão do Terraform- terraform_v1.4 É necessário selecionar o Terraform versão 1.4 ou versão superior. Por exemplo, se seus modelos Terraform forem criados usando o Terraform v1.4, selecione o parâmetro Terraform version como terraform_v1.4. É possível selecionar Terraform_v1.5 para usar o Terraform versão 1.5, terraform_v1.4 para usar o Terraform versão 1.4. Quando você especifica terraform_v1.5 significa que os usuários podem ter o Terraform v1.5.0, v1.5.1 ou v1.5.7, etc. O Schematics suporta Terraform_v1.x e também planeja disponibilizar liberações após 30 to 45 days da liberação HashiCorp Configuration Language (HCL).

        O Schematics suporta a liberação atual do Terraform v1.4, por meio do Terraform_v1.6. O Terraform deve usar a restrição de versão, como > ou >= ou ~> para o required_version do Terraform, para escolher automaticamente a versão atual.

        terraform {
        required_version = "~> 1.1"
        }
        
      • Clique em Next.

    • Na seção Detalhes do espaço de trabalho. Insira um nome para o seu workspace name. O nome pode ter até 128 caracteres de comprimento e pode incluir caracteres alfanuméricos, espaços, traços e sublinhados.
      • Nome da área de trabalho como schematics-agent-service
      • Tags como my-tags.. Opcional: insira tags para sua área de trabalho. Você pode usar as tags posteriormente para localizar seu espaço de trabalho com mais rapidez.
      • Grupo de recursos como default ou outro grupo de recursos para essa área de trabalho
      • Local como North America ou outra região para esta área de trabalho.. Decidir onde deseja criar seu espaço de trabalho? O local determina onde os trabalhos do Schematics são executados e onde os dados do espaço de trabalho são armazenados Você pode escolher entre um local, como a América do Norte, ou uma cidade metropolitana, como Frankfurt ou Londres. Se você selecionar um local, o site Schematics determinará o local com base na disponibilidade. Se você selecionar uma cidade metropolitana, sua área de trabalho será criada nesse local. Para obter mais informações sobre onde seus dados são armazenados, consulte Onde suas informações são armazenadas? O local que você escolhe é independente da região ou regiões em que deseja provisionar seus recursos de nuvem. O console não é compatível com todos os locais disponíveis. Para criar a área de trabalho em um local diferente, use a CLI ou a API no lugar.
      • Opcionalmente, digite um nome descritivo para seu espaço de trabalho.
      • Clique em Next.
    • Clique em Create. Sua área de trabalho é criada com um estado Rascunho e a página Configurações da área de trabalho é aberta.

Importando seu modelo do Terraform

Se você deseja fazer upload de um arquivo tar (.tar) em vez de importar sua área de trabalho para um repositório Git, deverá usar o comando ibmcloud schematics workspace upload e ver a API upload de um arquivo tar para sua área de trabalho.

  1. Na página Configurações da área de trabalho, insira o ícone de edição para editar o seu Repository URL. O link pode ter como destino a ramificação master, outras ramificações ou um subdiretório.

    • Exemplo para a ramificação master: https://github.com/myorg/myrepo
    • Exemplo para outras ramificações: https://github.com/myorg/myrepo/tree/mybranch
    • Exemplo para subdiretório: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
  2. Se você deseja usar um repositório Git privado, insira o seu token de acesso pessoal. O token de acesso pessoal é usado para autenticar-se no repositório Git para acessar o seu modelo do Terraform. Você pode clicar no link Open reference picker para selecionar uma referência de chave Secrets Manager. Para obter mais informações, consulte Criação de um token de acesso pessoal para a linha de comando. E para validar e clonar o modelo com segurança, você pode clicar em Open reference picker para selecionar sua referência de chave Secrets Manager. Para obter mais informações, consulte a criação de uma instância do Secrets Manager.

  3. Selecione o Terraform version no qual seus arquivos de configuração do Terraform estão gravados.

  4. Clique na opção I understand the changes that could happen if I edit this URL and I agree to these happening caixa de seleção.

  5. Clique em Salvar. O IBM Cloud Schematics automaticamente faz downloads dos arquivos de configuração do Terraform do seu repositório, os escaneia quanto a erros de sintaxe e recupera todas as variáveis de entrada que você declarou em seus arquivos de configuração. Quando todos os arquivos de configuração são transferidos por download com sucesso e nenhum erro de sintaxe é localizado, o estado da área de trabalho muda para Inativo.

    Após seus arquivos de configuração do Terraform serem escaneados, será possível visualizar os resultados na página Atividade da área de trabalho. O número total de arquivos escaneados no repositório de origem é exibido como scanned. O número total de arquivos que são vulneráveis, como extensões de arquivo não suportadas é exibido como discarded. Clique em Tarefas para localizar os detalhes dos arquivos que foram escaneados e descartados. Para obter mais informações sobre a visualização de registros, consulte Revisão dos detalhes do trabalho Schematics.

  6. Revise os valores da variável de entrada para seu modelo do Terraform. Para alterar o valor de uma variável de entrada, clique em Edit (Editar ) no menu de ações do Workspace. Dependendo do tipo de dados que a variável usa, é necessário inserir o valor em um formato específico. Consulte a tabela a seguir para encontrar exemplos de valores para cada tipo de dados suportado.

    Variáveis de Entrada e Valores de Amostra
    Tipo Exemplo
    number 4.56
    string valor de exemplo
    bool false
    map(string) {key1 = "value1", key2 = "value2"}
    set(string) ["olá", "ele"]
    map(number) {internal = 8080, external = 2020}
    list(string) ["us-south", "eu-gb"]
    list ["value", 30]
    list(list(string)) :[{internal = 8300 external = 8300 protocol = "tcp"},{internal = 8301 external = 8301 protocol = "ldp" }] : list(object({internal = number external = number protocol = string})) : [{internal = 8300 external = 8300 protocol = "tcp"} {internal = 8301 external = 8301 protocol = "ldp"}]

Usando modelos do Terraform em IBM Cloud

Você pode Gerenciar recursos de nuvem com Schematics para começar a criar, atualizar ou excluir recursos de nuvem com o Terraform.

Criação de um espaço de trabalho usando a CLI

  1. Crie um arquivo JSON em sua estação de trabalho local e adicione a configuração do seu espaço de trabalho. Para obter mais opções de configuração ao criar o espaço de trabalho, consulte o comando ibmcloud schematics workspace new.

    Para criar uma área de trabalho com o Agente, consulte o comando ibmcloud schematics workspace new with Agent

    {
    "name": "<workspace_name>",
    "type": [
        "<terraform_version>"
    ],
    "location": "<location>",
    "description": "<workspace_description>",
    "tags": [],
    "template_repo": {
        "url": "<github_source_repo_url>"
        "branch": "master"
    },
    "template_data": [
        {
        "folder": ".",
        "type": "<terraform_version>",
        "variablestore": [
          {
            "name": "<variable_name1>",
            "value": "<variable_value1>",
            "type": "string",
            "secure": true
          },
          {
            "name": "<variable_name2>",
            "value": "<variable_value2>",
            "type": "bool",
            "secure": false
          }
        ]
        }
    ]
    }
    
    Descrição do componente do arquivo JSON
    Parâmetro Descrição
    workspace_name Insira um nome para sua área de trabalho. O comprimento máximo do limite de caracteres é configurado para 1 MB.. Para obter mais informações, consulte Projetando sua estrutura da área de trabalho.
    terraform_version A versão do Terraform que você deseja usar para executar seu código do Terraform. Para usar o Terraform version 1.4, insira terraform_v1.4 e de forma semelhante terraform_v1.5 e terraform_v1.6. Certifique-se de que seus arquivos de configuração do Terraform sejam compatíveis com a versão do Terraform especificada. Se a versão da variável do Terraform não for especificada, por padrão, o site Schematics seleciona a versão do seu modelo.
    location Insira o local no qual você deseja criar sua área de trabalho. O local determina onde suas ações do Schematics são executadas e onde seus dados da área de trabalho são armazenados. O local é independente da região na qual você deseja criar seus serviços da IBM Cloud.
    description Insira uma descrição para sua área de trabalho.
    github_source_repo_url Insira a URL para o repositório GitHub ou GitLab no qual seus arquivos de configuração do Terraform estão armazenados. Se você optar por criar sua área de trabalho sem um repositório GitHub, sua área de trabalho será criada com um estado rascunho. Para conectar sua área de trabalho a um repositório GitHub posteriormente, deve-se usar o comando ibmcloud schematics workspace update.
    variable_name Opcional, digite o nome da variável de entrada que você declarou nos arquivos de configuração do Terraform.
    variable_type Opcional, insira o tipo de dados de sua variável de entrada. Para tipos de dados suportados, consulte o comando ibmcloud schematics workspace new.
  2. Crie a área de trabalho.

    ibmcloud schematics workspace new --file workspace.json
    
  3. Verifique se sua área de trabalho foi criada. Certifique-se de que seu espaço de trabalho esteja em um estado inativo.

    ibmcloud schematics workspace list
    
  4. Consulte Gerenciando recursos de nuvem com Schematics para atualizar ou excluir recursos de nuvem com o Terraform.

Criando uma área de trabalho usando API

  1. Siga as etapas para recuperar seu token de acesso do IAM e autenticar com o IBM Cloud Schematics usando a API.

  2. Crie a área de trabalho usando o Terraform

    curl --request POST --url https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -d '{"name": "<workspace_name>","type": ["<terraform_version>"],"location": "<location>","description": "<description>","template_repo": {"url": "<github_source_repo_url>"},"template_data": [{"folder": ".","type": "<terraform_version>","variablestore": [{"value": "<variable_value>","name": "<variable_name>","type": "<variable_type>","secure": true}]}]}'
    
    Descrição do componente do arquivo JSON
    Parâmetro Descrição
    iam_access_token Insira o token de acesso do IAM que você recuperou na etapa 1.
    workspace_name Insira um nome para sua área de trabalho. O comprimento máximo do limite de caracteres é configurado para 1 MB.. Para obter mais informações, consulte Projetando sua estrutura da área de trabalho.
    terraform_version A versão do Terraform que você deseja usar para executar seu código do Terraform. Insira terraform_v1.4 para usar o Terraform versão 1.4e de forma semelhante terraform_v1.5 e terraform_v1.6. Certifique-se de que seus arquivos de configuração do Terraform sejam compatíveis com a versão do Terraform especificada. Se a versão da variável do Terraform não for especificada, por padrão, o site Schematics seleciona a versão do seu modelo.
    location Insira o local no qual você deseja criar sua área de trabalho. O local determina onde suas ações do Schematics são executadas e onde seus dados da área de trabalho são armazenados. O local é independente da região na qual você deseja criar seus serviços da IBM Cloud.
    description Insira uma descrição para sua área de trabalho.
    github_source_repo_url Digite o endereço URL para o repositório GitHub ou GitLab onde os arquivos de configuração do Terraform estão armazenados
    variable_name Opcional, digite o nome da variável de entrada que você declarou nos arquivos de configuração do Terraform.
    variable_value Opcional, digite o valor de sua variável de entrada.
    variable_type Opcional, insira o tipo de dados de sua variável de entrada. Para tipos de dados suportados, consulte o comando ibmcloud schematics workspace new.
  3. Verifique se a área de trabalho foi criada com sucesso.

    curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
    
  4. Consulte Gerenciar recursos da nuvem com Schematics para atualizar ou excluir os recursos da nuvem.

Criando área de trabalho usando o Terraform

  1. Siga as etapas em Configurando o Terraform para Schematics para criar sua área de trabalho com o Terraform.

  2. Consulte Gerenciar recursos da nuvem com Schematics para atualizar ou excluir os recursos da nuvem.

Próximas etapas

A próxima etapa do trabalho com espaços de trabalho é a implantação de espaços de trabalho.