terraform

package
v0.27.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2023 License: AGPL-3.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// TerraformVersion is the version of Terraform used internally
	// when Terraform is not available on the system.
	// NOTE: Keep this in sync with the version in scripts/Dockerfile.base.
	TerraformVersion = version.Must(version.NewVersion("1.4.6"))
)

Functions

func FormatDiagnostic added in v0.20.0

func FormatDiagnostic(diag *tfjson.Diagnostic) string

func Install added in v0.11.0

func Install(ctx context.Context, log slog.Logger, dir string, wantVersion *version.Version) (string, error)

Install implements a thread-safe, idempotent Terraform Install operation.

func PtrInt32 added in v0.24.0

func PtrInt32(number int) *int32

func Serve

func Serve(ctx context.Context, options *ServeOptions) error

Serve starts a dRPC server on the provided transport speaking Terraform provisioner.

Types

type ServeOptions

type ServeOptions struct {
	*provisionersdk.ServeOptions

	// BinaryPath specifies the "terraform" binary to use.
	// If omitted, the $PATH will attempt to find it.
	BinaryPath string
	// CachePath must not be used by multiple processes at once.
	CachePath string
	Logger    slog.Logger
	Tracer    trace.Tracer

	// ExitTimeout defines how long we will wait for a running Terraform
	// command to exit (cleanly) if the provision was stopped. This
	// happens when the provision is canceled via RPC and when the command is
	// still running after the provision stream is closed.
	//
	// This is a no-op on Windows where the process can't be interrupted.
	//
	// Default value: 3 minutes (unhanger.HungJobExitTimeout). This value should
	// be kept less than the value that Coder uses to mark hung jobs as failed,
	// which is 5 minutes (see unhanger package).
	ExitTimeout time.Duration
}

type State added in v0.18.0

type State struct {
	Resources        []*proto.Resource
	Parameters       []*proto.RichParameter
	GitAuthProviders []string
}

func ConvertState added in v0.18.0

func ConvertState(modules []*tfjson.StateModule, rawGraph string) (*State, error)

ConvertState consumes Terraform state and a GraphViz representation produced by `terraform graph` to produce resources consumable by Coder. nolint:gocyclo

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL