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
-
Configure sua conta para acessar o VPC. Certifique-se de que a conta seja atualizada para uma conta paga.
-
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 rsaEsse comando gera dois arquivos. A chave pública gerada está no arquivo
id_rsa.pubem um diretório.sshem 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).
-
Instale o IBM Cloud CLI.
-
Instale o plug-in da CLI do VPC.
ibmcloud plugin install vpc-infrastructureAs 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-createPara 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.
-
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 -
Para alternar para o modo de terminal privado da API, insira o seguinte comando:
ibmcloud login -a private.cloud.ibm.comAtualmente, o modo de endpoint privado da API é compatível apenas com as regiões
us-southeus-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
generationdeve 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, especifiquegeneration=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_ppapós o comando curl para obter uma sequência JSON legível. O comandojson_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.