Criando espaços de trabalho e importando seu Terraform
Use um Schematics para gerenciar seus recursos do IBM Cloud Schematics com o Terraform. As configurações do espaço de trabalho definem o mecanismo do Terraform hospedado em um repositório do Git a ser utilizado, juntamente com quaisquer variáveis de entrada para personalizar o modelo.
IBM Cloud Schematics está descontinuando o uso das versões mais antigas do Terraform e introduzindo suporte para a versão mais recente do Terraform. Para obter mais informações, consulte o ciclo de vida de descontinuação do Terraform no Schematics e o Cronograma de descontinuação.
Antes de Iniciar
- Crie uma configuração do Terraform e armazene a configuração em um repositório
GitHub,GitLabouBitbucket. Você também pode enviar um arquivo de arquivamento em fita (.tar) da sua estação de trabalho local para disponibilizar seu modelo para IBM Cloud Schematics. Para obter mais informações, consulte oibmcloud schematics workspace uploade consulte a API para enviar um arquivotarpara sua área de trabalho. - Certifique-se de que possui as permissões necessárias para criar um espaço de trabalho.
Certifique-se de que o endpoints location e url estejam apontando para a mesma região ao criar ou atualizar os espaços de trabalho e ações do 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
- Faça login no consoleIBM Cloud.
- Clique no ícone
Menu > Platform Automation > Schematics > Terraform > Create workspace.
- Na seção “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 emOpen reference pickerpara 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 a versão do Terraform 1.4 ou uma versão posterior. Por exemplo, se seus modelos do Terraform forem criados usando o Terraform v1.4, selecione o parâmetroTerraform versioncomo terraform_v1.4. Você pode selecionarTerraform_v1.5para usar a versão do Terraform 1.5 eterraform_v1.4para usar a versão do Terraform 1.4. Quando você especifica “terraform_v1.5”, isso significa que os usuários podem ter endereços do tipo Terraformv1.5.0,v1.5.1ouv1.5.7, e assim por diante. O Schematics oferece suporte aTerraform_v1.xe também planeja disponibilizar novas versões após30 to 45 daysdo lançamento da Linguagem de Configuração do HashiCorp (HCL).O Schematics suporta a liberação atual do
Terraform v1.4, por meio doTerraform_v1.6. O Terraform deve utilizar a restrição de versão, como>,>=ou~>para orequired_versiondo Terraform, a fim de selecionar automaticamente a versão atual.terraform { required_version = "~> 1.1" } -
Clique em
Next.
-
- Na seção “Detalhes do Workspace ”. 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 mais tarde para encontrar seu espaço de trabalho mais rapidamente. - Grupo de recursos como
defaultou outro grupo de recursos para essa área de trabalho - Local como
North Americaou outra região para esta área de trabalho.. Decida onde você quer criar seu espaço de trabalho? A localização determina onde suas tarefas do Schematics são executadas e onde os dados do seu espaço de trabalho são armazenados? Você pode escolher entre uma região, como a América do Norte, ou uma cidade metropolitana, como Frankfurt ou Londres. Se você selecionar um local, o 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?” A localização que você escolher não depende da região ou regiões onde você deseja provisionar seus recursos na 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. - Opcional: insira um nome descritivo para sua área de trabalho.
- Clique em
Next.
- Nome da área de trabalho como
- Clique em
Create. Sua área de trabalho é criada com um estado Rascunho e a página Configurações da área de trabalho é aberta.
- Na seção “Especificar modelo ”:
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.
-
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çãomaster, 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
- Exemplo para a ramificação
-
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 pickerpara 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 emOpen reference pickerpara selecionar sua referência de chave Secrets Manager. Para obter mais informações, consulte a criação de uma instância do Secrets Manager. -
Selecione o
Terraform versionno qual seus arquivos de configuração do Terraform estão gravados. -
Clique na opção
I understand the changes that could happen if I edit this URL and I agree to these happeningcaixa de seleção. -
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 comodiscarded. Clique em Tarefas para localizar os detalhes dos arquivos que foram escaneados e descartados. Para obter mais informações sobre como visualizar registros, consulte “Analisando os detalhes da tarefa ‘ Schematics ’ ”. -
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 “Editar” no menu de ações da Área de Trabalho. Dependendo do tipo de dados utilizado pela sua variável, você deve inserir o valor em um formato específico. Consulte a tabela a seguir para ver exemplos de valores para cada tipo de dados compatível.
| 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
-
Crie um arquivo JSON na sua estação de trabalho local e adicione a configuração do seu espaço de trabalho. Para conhecer 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_nameInsira 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_versionA versão do Terraform que você deseja usar para executar seu código do Terraform. Para usar o Terraform version 1.4, insiraterraform_v1.4e de forma semelhanteterraform_v1.5eterraform_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 variável “version” do Terraform não for especificada, por padrão, o Schematics seleciona a versão a partir do seu modelo.locationInsira 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. descriptionInsira uma descrição para sua área de trabalho. github_source_repo_urlInsira 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_nameOpcional: insira o nome da variável de entrada que você declarou em seus arquivos de configuração do Terraform. variable_typeOpcional: insira o tipo de dados de sua variável de entrada. Para tipos de dados suportados, consulte o comando ibmcloud schematics workspace new. -
Crie a área de trabalho.
ibmcloud schematics workspace new --file workspace.json -
Verifique se sua área de trabalho foi criada. Certifique-se de que seu espaço de trabalho esteja no estado “Inativo ”.
ibmcloud schematics workspace list -
Consulte Gerenciando recursos de nuvem com Schematics para atualizar ou excluir recursos de nuvem com o Terraform.
Criando uma área de trabalho usando API
-
Siga as etapas para recuperar seu token de acesso do IAM e autenticar com o IBM Cloud Schematics usando a API.
-
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_tokenInsira o token de acesso do IAM que você recuperou na etapa 1. workspace_nameInsira 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_versionA versão do Terraform que você deseja usar para executar seu código do Terraform. Insira terraform_v1.4para usar o Terraform versão 1.4e de forma semelhanteterraform_v1.5eterraform_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 variável “version” do Terraform não for especificada, por padrão, o Schematics seleciona a versão do seu modelo.locationInsira 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. descriptionInsira uma descrição para sua área de trabalho. github_source_repo_urlInsira o URLno repositórioGitHubouGitLab, onde seus arquivos de configuração do Terraform estão armazenadosvariable_nameOpcional: insira o nome da variável de entrada que você declarou em seus arquivos de configuração do Terraform. variable_valueOpcional: insira o valor para sua variável de entrada. variable_typeOpcional: insira o tipo de dados de sua variável de entrada. Para tipos de dados suportados, consulte o comando ibmcloud schematics workspace new. -
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>" -
Consulte Gerenciar recursos da nuvem com Schematics para atualizar ou excluir os recursos da nuvem.
Criando área de trabalho usando o Terraform
-
Siga as etapas em Configurando o Terraform para Schematics para criar sua área de trabalho com o Terraform.
-
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.