HCP TerraformおよびTerraform Enterpriseの公式GO APIクライアント。
このクライアントは、HCP Terraform V2 APIをサポートしています。 Terraform EnterpriseはHCP Terraformの自己ホストの分布であるため、このクライアントはHCP TerraformとTerraform Enterpriseの両方のユースケースをサポートしています。すべてのパッケージドキュメントとAPIで、プラットフォームは常に「Terraform Enterprise」と記載されますが、機能は、該当する場合(まれ)、どちらか一方でのみサポートされていると明示的に記載されます。
ほとんどの場合、マイナーバージョンの変更は、逆互換の機能と拡張機能を示します。時には、バグ修正を反映する関数の署名の変更が、マイナーバージョンの変更として表示される場合があります。パッチバージョンの変更は、バグの修正、パフォーマンスの改善、およびその他の影響力のない変更に使用されます。
新しいTFEクライアントを構築し、クライアントのさまざまなエンドポイントを使用して、Terraform Enterprise APIのさまざまな部分にアクセスします。次の例には、すべての組織がリストされています。
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
-HCP TerraformまたはTerraform EnterpriseインスタンスのURL。例: https://tfe.local
TFE_TOKEN
-HCP TerraformまたはTerraform EnterpriseインスタンスのAPIトークン。注:または、 TFE_ADDRESS
のフォールバックとして機能するTFE_HOSTNAME
設定できます。 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クライアントは、既存のHCP Terraform API呼び出しのほとんどをカバーし、新しいエンドポイントまたは欠落しているエンドポイントを追加するために定期的に更新されます。
例ディレクトリを参照してください。
tests.mdを参照してください。
Convributing.mdを参照してください
lileases.mdを参照してください