Terraform Cloud: как скачать файл .tfstate с помощью API?

Я развернул скрипт terraform с помощью Terraform Cloud. На вкладке «СОСТОЯНИЕ» я могу увидеть все данные моей виртуальной машины. Для моего конвейера мне нужно загрузить файл sv-xxxx.tfstate, чтобы получить IP-адрес виртуальной машины. У меня вопрос, как я могу загрузить этот файл с помощью API? Я просмотрел документацию, но не нашел ни одной подсказки.

2 ответа

вы можете использовать эту команду, которую я нашел в этом руководстве: https://developer.hashicorp.com/terraform/tutorials/cloud/cloud-state-api#modify-and-create-the-state-payload

      #!/bin/bash
HTTP_RESPONSE=$(curl \
 --header "Authorization: Bearer "$TFC_TOKEN"" \
 --header "Content-Type: application/vnd.api+json" \
 "https://app.terraform.io/api/v2/workspaces/"$WORKSPACE_ID"/current-state-version" | jq -r '.data | .attributes | ."hosted-state-download-url"') 

curl -o state.tfstate $HTTP_RESPONSE

Как говорится в документе , вы можете позвонить GET /workspaces/:workspace_id/current-state-version чей ответ будет включать hosted-state-download-urlатрибут. Это URL-адрес .tfstate файл.

Другие вопросы по тегам