Официальный клиент GO API для HCP Terraform и Terraform Enterprise.
Этот клиент поддерживает API HCP Terraform V2. Поскольку Terraform Enterprise представляет собой самостоятельное распределение Terraform HCP, этот клиент поддерживает как HCP Terraform, так и Terraform Enterprise Fanus. Во всех документации по пакетам и API платформа всегда будет заявлена как «Terraform Enterprise», но функция будет явно отмечена как применимая только в том или ином, если это применимо (редко).
Почти всегда изменения версий будут указывать на обратно-совместимые функции и улучшения. Иногда изменения подписи функции, которые отражают исправление ошибки, могут появляться в виде незначительного изменения версии. Изменения версий патчей будут использоваться для исправлений ошибок, улучшения производительности и в противном случае невозможных изменений.
Постройте новый клиент TFE, затем используйте различные конечные точки на клиенте, чтобы получить доступ к различным частям API Terraform Enterprise. В следующем примере перечислены все организации.
import (
"context"
"log"
"github.com/hashicorp/go-tfe"
)
config := & tfe. Config {
Address : "https://tfe.local" ,
Token : "insert-your-token-here" ,
RetryServerErrors : true ,
}
client , err := tfe . NewClient ( config )
if err != nil {
log . Fatal ( err )
}
orgs , err := client . Organizations . List ( context . Background (), nil )
if err != nil {
log . Fatal ( err )
}
Конфигурация по умолчанию использует переменные среды TFE_ADDRESS
и TFE_TOKEN
.
TFE_ADDRESS
- URL -адрес HCP Terraform или Terraform Enterprise экземпляр. Пример: https://tfe.local
TFE_TOKEN
- токен API для экземпляра Terraform или Terraform Enterprise. Примечание. В качестве альтернативы, вы можете установить TFE_HOSTNAME
, который служит запасением для TFE_ADDRESS
. Он будет использоваться только в том случае, если TFE_ADDRESS
не будет установлен, и он разрешит хост в схему https
. Пример: tfe.local
=> решает https://tfe.local
Переменные среды используются в качестве резерва для настройки клиента TFE, если адрес или значения токена не предоставляются, как в приведенных ниже случаях:
import (
"context"
"log"
"github.com/hashicorp/go-tfe"
)
// Passing nil to tfe.NewClient method will also use the default configuration
client , err := tfe . NewClient ( tfe . DefaultConfig ())
if err != nil {
log . Fatal ( err )
}
orgs , err := client . Organizations . List ( context . Background (), nil )
if err != nil {
log . Fatal ( err )
}
import (
"context"
"log"
"github.com/hashicorp/go-tfe"
)
config := & tfe. Config {
Address : "" ,
Token : "" ,
}
client , err := tfe . NewClient ( config )
if err != nil {
log . Fatal ( err )
}
orgs , err := client . Organizations . List ( context . Background (), nil )
if err != nil {
log . Fatal ( err )
}
Для полного использования клиента API см. Полный пакет документов.
Этот клиент API охватывает большинство существующих вызовов API Terraform HCP и регулярно обновляется, чтобы добавить новые или отсутствующие конечные точки.
Смотрите каталог примеров.
Смотрите tests.md.
См. Appling.md
Смотрите leleases.md