Directories ¶
Path | Synopsis |
---|---|
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. |
Package backend provides interfaces that the CLI uses to interact with Terraform.
|
Package backend provides interfaces that the CLI uses to interact with Terraform. |
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. |
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). |
builtin
|
|
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. |
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. |
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. |
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. |
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. |
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. |
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 |
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. |
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 |
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. |
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 |
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". |
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. |
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. |
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. |
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. |
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. |
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. |
Package getmodules contains the low-level functionality for fetching remote module packages.
|
Package getmodules contains the low-level functionality for fetching remote module packages. |
Package getproviders is the lowest-level provider automatic installation functionality.
|
Package getproviders is the lowest-level provider automatic installation functionality. |
helper
|
|
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. |
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. |
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. |
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. |
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. |
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 |
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. |
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. |
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. |
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. |
Package plans contains the types that are used to represent Terraform plans.
|
Package plans contains the types that are used to represent Terraform 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. |
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. |
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. |
mock_proto
Package mock_tfplugin5 is a generated GoMock package.
|
Package mock_tfplugin5 is a generated GoMock package. |
mock_proto
Package mock_tfplugin6 is a generated GoMock package.
|
Package mock_tfplugin6 is a generated GoMock package. |
simple provider a minimal provider implementation for testing
|
simple provider a minimal provider implementation for testing |
simple provider a minimal provider implementation for testing
|
simple provider a minimal provider implementation for testing |
provider-terraform
|
|
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. |
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. |
provisioner-local-exec
|
|
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. |
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. |
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. |
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. |
Package states contains the types that are used to represent Terraform states.
|
Package states contains the types that are used to represent Terraform 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. |
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. |
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. |
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. |
Click to show internal directories.
Click to hide internal directories.