Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
pkg
|
|
addrs
Package addrs contains types that represent "addresses", which are references to specific objects within a Terraform configuration or state.
|
Package addrs contains types that represent "addresses", which are references to specific objects within a Terraform configuration or state. |
backend
Package backend provides interfaces that the CLI uses to interact with Terraform.
|
Package backend provides interfaces that the CLI uses to interact with Terraform. |
backend/init
Package init contains the list of backends that can be initialized and basic helper functions for initializing those backends.
|
Package init contains the list of backends that can be initialized and basic helper functions for initializing those backends. |
backend/remote-state/gcs
Package gcs implements remote storage of state on Google Cloud Storage (GCS).
|
Package gcs implements remote storage of state on Google Cloud Storage (GCS). |
checks
Package checks contains the models for representing various kinds of declarative condition checks that can be defined in a Terraform module and then evaluated and reported by Terraform Core during plan and apply operations.
|
Package checks contains the models for representing various kinds of declarative condition checks that can be defined in a Terraform module and then evaluated and reported by Terraform Core during plan and apply operations. |
command/cliconfig
Package cliconfig has the types representing and the logic to load CLI-level configuration settings.
|
Package cliconfig has the types representing and the logic to load CLI-level configuration settings. |
command/clistate
Package state exposes common helpers for working with state from the CLI.
|
Package state exposes common helpers for working with state from the CLI. |
command/e2etest
Package e2etest contains a set of tests that run against a real Terraform binary, compiled on the fly at the start of the test run.
|
Package e2etest contains a set of tests that run against a real Terraform binary, compiled on the fly at the start of the test run. |
command/format
Package format contains helpers for formatting various Terraform structures for human-readabout output.
|
Package format contains helpers for formatting various Terraform structures for human-readabout output. |
command/jsonchecks
Package jsonchecks implements the common JSON representation of check results/statuses that we use across both the JSON plan and JSON state representations.
|
Package jsonchecks implements the common JSON representation of check results/statuses that we use across both the JSON plan and JSON state representations. |
command/jsonconfig
Package jsonconfig implements methods for outputting a configuration snapshot in machine-readable json format
|
Package jsonconfig implements methods for outputting a configuration snapshot in machine-readable json format |
command/jsonformat/computed
Package computed contains types that represent the computed diffs for Terraform blocks, attributes, and outputs.
|
Package computed contains types that represent the computed diffs for Terraform blocks, attributes, and outputs. |
command/jsonplan
Package jsonplan implements methods for outputting a plan in a machine-readable json format
|
Package jsonplan implements methods for outputting a plan in a machine-readable json format |
command/jsonprovider
Package jsonprovider contains types and functions to marshal terraform provider schemas into a json formatted output.
|
Package jsonprovider contains types and functions to marshal terraform provider schemas into a json formatted output. |
command/jsonstate
Package jsonstate implements methods for outputting a state in a machine-readable json format
|
Package jsonstate implements methods for outputting a state in a machine-readable json format |
command/workdir
Package workdir models the various local artifacts and state we keep inside a Terraform "working directory".
|
Package workdir models the various local artifacts and state we keep inside a Terraform "working directory". |
configs
Package configs contains types that represent Terraform configurations and the different elements thereof.
|
Package configs contains types that represent Terraform configurations and the different elements thereof. |
configs/configload
Package configload knows how to install modules into the .terraform/modules directory and to load modules from those installed locations.
|
Package configload knows how to install modules into the .terraform/modules directory and to load modules from those installed locations. |
configs/configschema
Package configschema contains types for describing the expected structure of a configuration block whose shape is not known until runtime.
|
Package configschema contains types for describing the expected structure of a configuration block whose shape is not known until runtime. |
depsfile
Package depsfile contains the logic for reading and writing Terraform's dependency lock and development override configuration files.
|
Package depsfile contains the logic for reading and writing Terraform's dependency lock and development override configuration files. |
earlyconfig
Package earlyconfig is a specialized alternative to the top-level "configs" package that does only shallow processing of configuration and is therefore able to be much more liberal than the full config loader in what it accepts.
|
Package earlyconfig is a specialized alternative to the top-level "configs" package that does only shallow processing of configuration and is therefore able to be much more liberal than the full config loader in what it accepts. |
experiments
Package experiments contains the models and logic for opt-in experiments that can be activated for a particular Terraform module.
|
Package experiments contains the models and logic for opt-in experiments that can be activated for a particular Terraform module. |
getmodules
Package getmodules contains the low-level functionality for fetching remote module packages.
|
Package getmodules contains the low-level functionality for fetching remote module packages. |
getproviders
Package getproviders is the lowest-level provider automatic installation functionality.
|
Package getproviders is the lowest-level provider automatic installation functionality. |
initwd
Package initwd contains various helper functions used by the "terraform init" command to initialize a working directory.
|
Package initwd contains various helper functions used by the "terraform init" command to initialize a working directory. |
ipaddr
Package ipaddr is a fork of a subset of the Go standard "net" package which retains parsing behaviors from Go 1.16 or earlier.
|
Package ipaddr is a fork of a subset of the Go standard "net" package which retains parsing behaviors from Go 1.16 or earlier. |
lang
Package lang deals with the runtime aspects of Terraform's configuration language, with concerns such as expression evaluation.
|
Package lang deals with the runtime aspects of Terraform's configuration language, with concerns such as expression evaluation. |
lang/blocktoattr
Package blocktoattr includes some helper functions that can perform preprocessing on a HCL body where a configschema.Block schema is available in order to allow list and set attributes defined in the schema to be optionally written by the user as block syntax.
|
Package blocktoattr includes some helper functions that can perform preprocessing on a HCL body where a configschema.Block schema is available in order to allow list and set attributes defined in the schema to be optionally written by the user as block syntax. |
lang/globalref
Package globalref is home to some analysis algorithms that aim to answer questions about references between objects and object attributes across an entire configuration.
|
Package globalref is home to some analysis algorithms that aim to answer questions about references between objects and object attributes across an entire configuration. |
lang/types
Package types contains non-standard cty types used only within Terraform.
|
Package types contains non-standard cty types used only within Terraform. |
legacy/helper/acctest
Package acctest contains for Terraform Acceptance Tests
|
Package acctest contains for Terraform Acceptance Tests |
legacy/helper/schema
Package schema is a legacy package that used to represent the SDK, which is now its own library external to Terraform Core https://github.com/hashicorp/terraform-plugin-sdk Some of it is still used by Terraform's remote state backends, but this entire package should be removed in the future.
|
Package schema is a legacy package that used to represent the SDK, which is now its own library external to Terraform Core https://github.com/hashicorp/terraform-plugin-sdk Some of it is still used by Terraform's remote state backends, but this entire package should be removed in the future. |
modsdir
Package modsdir is an internal package containing the model types used to represent the manifest of modules in a local modules cache directory.
|
Package modsdir is an internal package containing the model types used to represent the manifest of modules in a local modules cache directory. |
moduledeps
Package moduledeps contains types that can be used to describe the providers required for all of the modules in a module tree.
|
Package moduledeps contains types that can be used to describe the providers required for all of the modules in a module tree. |
moduletest
Package moduletest contains the support code for some experimental features we're using to evaluate strategies for having an opinionated approach to testing of Terraform modules.
|
Package moduletest contains the support code for some experimental features we're using to evaluate strategies for having an opinionated approach to testing of Terraform modules. |
plans
Package plans contains the types that are used to represent Terraform plans.
|
Package plans contains the types that are used to represent Terraform plans. |
plans/internal/planproto
Package planproto is home to the Go stubs generated from the tfplan protobuf schema.
|
Package planproto is home to the Go stubs generated from the tfplan protobuf schema. |
plans/objchange
Package objchange deals with the business logic of taking a prior state value and a config value and producing a proposed new merged value, along with other related rules in this domain.
|
Package objchange deals with the business logic of taking a prior state value and a config value and producing a proposed new merged value, along with other related rules in this domain. |
plans/planfile
Package planfile deals with the file format used to serialize plans to disk and then deserialize them back into memory later.
|
Package planfile deals with the file format used to serialize plans to disk and then deserialize them back into memory later. |
plugin/mock_proto
Package mock_tfplugin5 is a generated GoMock package.
|
Package mock_tfplugin5 is a generated GoMock package. |
plugin6/mock_proto
Package mock_tfplugin6 is a generated GoMock package.
|
Package mock_tfplugin6 is a generated GoMock package. |
provider-simple
simple provider a minimal provider implementation for testing
|
simple provider a minimal provider implementation for testing |
provider-simple-v6
simple provider a minimal provider implementation for testing
|
simple provider a minimal provider implementation for testing |
providercache
Package providercache contains the logic for auto-installing providers from packages obtained elsewhere, and for managing the local directories that serve as global or single-configuration caches of those auto-installed providers.
|
Package providercache contains the logic for auto-installing providers from packages obtained elsewhere, and for managing the local directories that serve as global or single-configuration caches of those auto-installed providers. |
providers
Package providers contains the interface and primary types required to implement a Terraform resource provider.
|
Package providers contains the interface and primary types required to implement a Terraform resource provider. |
provisioners
Package provisioners contains the interface and primary types to implement a Terraform resource provisioner.
|
Package provisioners contains the interface and primary types to implement a Terraform resource provisioner. |
registry/regsrc
Package regsrc provides helpers for working with source strings that identify resources within a Terraform registry.
|
Package regsrc provides helpers for working with source strings that identify resources within a Terraform registry. |
repl
Package repl provides the structs and functions necessary to run REPL for Terraform.
|
Package repl provides the structs and functions necessary to run REPL for Terraform. |
replacefile
Package replacefile is a small helper package focused directly at the problem of atomically "renaming" one file over another one.
|
Package replacefile is a small helper package focused directly at the problem of atomically "renaming" one file over another one. |
states
Package states contains the types that are used to represent Terraform states.
|
Package states contains the types that are used to represent Terraform states. |
states/statefile
Package statefile deals with the file format used to serialize states for persistent storage and then deserialize them into memory again later.
|
Package statefile deals with the file format used to serialize states for persistent storage and then deserialize them into memory again later. |
states/statemgr
Package statemgr defines the interfaces and some supporting functionality for "state managers", which are components responsible for writing state to some persistent storage and then later retrieving it.
|
Package statemgr defines the interfaces and some supporting functionality for "state managers", which are components responsible for writing state to some persistent storage and then later retrieving it. |
terminal
Package terminal encapsulates some platform-specific logic for detecting if we're running in a terminal and, if so, properly configuring that terminal to meet the assumptions that the rest of Terraform makes.
|
Package terminal encapsulates some platform-specific logic for detecting if we're running in a terminal and, if so, properly configuring that terminal to meet the assumptions that the rest of Terraform makes. |
tfdiags
Package tfdiags is a utility package for representing errors and warnings in a manner that allows us to produce good messages for the user.
|
Package tfdiags is a utility package for representing errors and warnings in a manner that allows us to produce good messages for the user. |
tools
|
|
protobuf-compile
protobuf-compile is a helper tool for running protoc against all of the .proto files in this repository using specific versions of protoc and protoc-gen-go, to ensure consistent results across all development environments.
|
protobuf-compile is a helper tool for running protoc against all of the .proto files in this repository using specific versions of protoc and protoc-gen-go, to ensure consistent results across all development environments. |
The version package provides a location to set the release versions for all packages to consume, without creating import cycles.
|
The version package provides a location to set the release versions for all packages to consume, without creating import cycles. |
Click to show internal directories.
Click to hide internal directories.