Configurando seu ambiente da API e da CLI

Antes de criar um IBM Cloud® Virtual Private Cloud (VPC) usando a API ou a CLI, configure seu ambiente.

Pré-requisitos gerais

  1. Configure sua conta para acessar o VPC. Certifique-se de que a conta seja atualizada para uma conta paga.

  2. Certifique-se de ter uma chave SSH pública, que será usada para conectar-se à instância de servidor virtual. Por exemplo, gere uma chave SSH em seu servidor Linux executando o comando a seguir:

    ssh-keygen -t rsa
    

    Esse comando gera dois arquivos. A chave pública gerada está no arquivo id_rsa.pub em um diretório .ssh em seu diretório inicial, por exemplo, .../.ssh/id_rsa.pub.

    Para obter mais informações, consulte Chaves SSH.

Pré-requisitos da CLI

Antes de ser possível usar a CLI para criar o VPC, deve-se instalar a CLI do IBM Cloud e o plug-in da CLI do VPC.

[Obsoleto] :{: tag-deprecated} A CLI do IBM Cloud não é compatível com o LinuxONE (arquitetura de processador s390x ). No entanto, é possível instalar a CLI em outra plataforma suportada e usá-la com instâncias do servidor virtual do LinuxONE (arquitetura de processador s390x).

  1. Instale o IBM Cloud CLI.

  2. Instale o plug-in da CLI do VPC.

    ibmcloud plugin install vpc-infrastructure
    

    As ações da CLI do VPC usam a extensão is. Para saber como usar os comandos da CLI, é possível executar:

    ibmcloud is help
    ibmcloud is help vpc-create
    ibmcloud is help instance-create
    

    Para saber como criar recursos usando a CLI, consulte “Criação de recursos da VPC ”.

Acessando CLI através do terminal privado API VPC

Para configurar a CLI para usar o terminal privado da API do VPC, siga estas etapas:

Se precisar fazer o download da CLI do IBM Cloud e dos plug-ins associados, você deverá poder acessar o repositório público onde eles estão localizados.

  1. Certise-se de que o core IBM Cloud CLI e o plug-in de serviço de infraestrutura de VPC são atualizados para a versão mais recente:

    ibmcloud update
    ibmcloud plugin update vpc-infrastructure
    
  2. Para alternar para o modo de terminal privado da API, insira o seguinte comando:

    ibmcloud login -a private.cloud.ibm.com
    

    Atualmente, o modo de endpoint privado da API é compatível apenas com as regiões us-south e us-east.

Pré-requisitos da API

Antes de ser possível usar a API para criar o VPC, deve-se obter um token do IAM, armazenar o terminal como uma variável e verificar se há acesso ao serviço da API do VPC.

Os exemplos a seguir usam o terminal regional us-south. Para visualizar terminais de API adicionais, consulte API de Nuvem Privada Virtual.

Etapa 1: armazene sua chave de API como uma variável

Execute o comando a seguir para armazenar a chave de API para sua conta em uma variável de ambiente. Se você não tiver uma chave API, consulte Criando uma chave API.

apikey="<YOUR_API_KEY>"

Etapa 2: obter um token do IBM Identity and Access Management (IAM)

Execute o comando a seguir para obter e analisar um token do IAM usando o utilitário de processamento de JSON jq. É possível modificar o comando para usar outra ferramenta de análise ou remover a última parte dele para analisar o token manualmente.

iam_token=`curl -k -X POST \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --header "Accept: application/json" \
  --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
  --data-urlencode "apikey=$apikey" \
  "https://iam.cloud.ibm.com/identity/token"  |jq -r '(.token_type + " " + .access_token)'`

Para visualizar o token do IAM, execute echo $iam_token. O resultado deve ser semelhante a este:

Bearer <your token>

O cabeçalho de Autorização espera que o token inicie com "Bearer". Se o resultado não incluir "Portador", atualize a variável iam_token para incluí-lo. Esses exemplos presumem que "Bearer" está incluído no iam_token.

Deve-se repetir a etapa anterior para atualizar o token do IAM a cada hora, pois ele expira.

Etapa 3: armazene o terminal de API como uma variável

Execute o comando a seguir para armazenar o terminal de API em uma variável, para que ele possa ser reutilizado posteriormente em sua sessão.

Terminal público:

vpc_api_endpoint="https://us-south.iaas.cloud.ibm.com"

Terminal privado virtual:

vpc_api_endpoint="https://us-south.private.iaas.cloud.ibm.com"

Para verificar se essa variável foi salva, execute echo $vpc_api_endpoint e certifique-se de que a resposta não seja vazia.

Para regiões de terminais suportados, consulte Endpoints disponíveis.

Etapa 4: armazene a versão da API como uma variável

Cada solicitação de API deve incluir o parâmetro version, no formato YYYY-MM-DD. Execute o comando a seguir para armazenar a data da versão em uma variável para que ela possa ser reutilizada em sua sessão. Para obter mais informações sobre como definir o parâmetro version , consulte Controle de versões no site API da Nuvem Privada Virtual.

api_version="2019-09-30"

Para verificar se essa variável foi salva, execute echo $api_version e certifique-se de que a resposta não seja vazia.

Etapa 5: verifique se você tem acesso à API

Se você se deparar com resultados inesperados, inclua a sinalização --verbose (depuração) após o comando curl para obter informações detalhadas de criação de log. Para obter mais informações sobre erros comumente encontrados, consulte Resolução de problemas.

  • Chame a API de regiões do GET para ver as regiões disponíveis para o VPC no formato JSON. Pelo menos um objeto deve retornar.

    O parâmetro generation deve ser enviado com cada solicitação de API para especificar qual geração será usada. Para instâncias de servidor virtual de geração 2, especifique generation=2. Para obter mais informações, consulte “ Geração ” no site API da Nuvem Privada Virtual.

    curl -X GET "$vpc_api_endpoint/v1/regions?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Chame a API de zonas do GET para ver todas as zonas disponíveis para o VPC em uma região específica, como us-south, no formato JSON.

    curl -X GET "$vpc_api_endpoint/v1/regions/us-south/zones?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Chame a API de perfis do GET para ver os perfis disponíveis para suas instâncias de servidor virtual no formato JSON. Pelo menos um objeto deve retornar.

    Inclua | json_pp após o comando curl para obter uma sequência JSON legível. O comando json_pp é um pré-processador JSON que normalmente é instalado por padrão na maioria das distribuições do Linux.

    curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Chame a API de imagens do GET para retornar as imagens disponíveis para suas instâncias no formato JSON. Pelo menos um objeto deve retornar.

    curl -X GET "$vpc_api_endpoint/v1/images?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    
  • Chame a API de VPCs do GET para ver quaisquer VPCs já criados em sua conta no formato JSON.

    curl -X GET "$vpc_api_endpoint/v1/vpcs?version=$api_version&generation=2" \
      -H "Authorization: Bearer $iam_token"
    

Para saber como criar recursos usando a API, consulte Criando recursos de VPC com CLI e API.